denikson 5 سال پیش
والد
کامیت
caacb46d5d
229فایلهای تغییر یافته به همراه5813 افزوده شده و 5964 حذف شده
  1. 5 5
      Assembly-CSharp.sln
  2. 0 2
      Assembly-CSharp/ADVKagManager.cs
  3. 40 31
      Assembly-CSharp/Assembly-CSharp.csproj
  4. 3 0
      Assembly-CSharp/AttributeViewer.cs
  5. 12 4
      Assembly-CSharp/BacklogCtrl.cs
  6. 640 19
      Assembly-CSharp/BaseKagManager.cs
  7. 4 4
      Assembly-CSharp/BasePanelMgr.cs
  8. 1 1
      Assembly-CSharp/BasePhotoCustomObject.cs
  9. 32 7
      Assembly-CSharp/BasePhotoWindow.cs
  10. 3 3
      Assembly-CSharp/BasePhotoWindowManager.cs
  11. 1 1
      Assembly-CSharp/BetSetUI.cs
  12. 214 0
      Assembly-CSharp/BipedIKCtrlData.cs
  13. 2 2
      Assembly-CSharp/BjMotionControl.cs
  14. 13 13
      Assembly-CSharp/BlackjackGame.cs
  15. 202 0
      Assembly-CSharp/BodyCtrlData.cs
  16. 63 0
      Assembly-CSharp/CCDIKCtrlData.cs
  17. 5 5
      Assembly-CSharp/CMSystem.cs
  18. 3 3
      Assembly-CSharp/CharacterMgr.cs
  19. 19 11
      Assembly-CSharp/CharacterSelectMain.cs
  20. 8 0
      Assembly-CSharp/ChuBlipManager.cs
  21. 12 4
      Assembly-CSharp/ColorPaletteManager.cs
  22. 5 4
      Assembly-CSharp/ConfigCtrl.cs
  23. 35 3
      Assembly-CSharp/ConfigMgr.cs
  24. 8 8
      Assembly-CSharp/ConfigVRCtrl.cs
  25. 12 268
      Assembly-CSharp/ControllerShortcutSettingData.cs
  26. 1 354
      Assembly-CSharp/ControllerShortcutWindow.cs
  27. 3 3
      Assembly-CSharp/DanceBattle_Mgr.cs
  28. 42 31
      Assembly-CSharp/DanceMain.cs
  29. 9 20
      Assembly-CSharp/DanceSelect.cs
  30. 67 29
      Assembly-CSharp/DanceSetting.cs
  31. 2 2
      Assembly-CSharp/DeskManager.cs
  32. 3 3
      Assembly-CSharp/DynamicBone.cs
  33. 82 9
      Assembly-CSharp/DynamicSkirtBone.cs
  34. 1 1
      Assembly-CSharp/EditMod.cs
  35. 1 1
      Assembly-CSharp/ExChangeUI.cs
  36. 63 0
      Assembly-CSharp/FABRIKCtrlData.cs
  37. 9 0
      Assembly-CSharp/FFNameDialog.cs
  38. 1 1
      Assembly-CSharp/FacilityFlag/Util.cs
  39. 1 1
      Assembly-CSharp/FacilityManager.cs
  40. 2 2
      Assembly-CSharp/FacilityUIList.cs
  41. 11 8
      Assembly-CSharp/FacilityUIPowerUpList.cs
  42. 9 7
      Assembly-CSharp/FacilityUIPowerUpMaterialList.cs
  43. 1 1
      Assembly-CSharp/FluctuationOfParameterUnit.cs
  44. 663 0
      Assembly-CSharp/FullBodyIKCtrl.cs
  45. 24 3
      Assembly-CSharp/GameMain.cs
  46. 56 259
      Assembly-CSharp/GameUty.cs
  47. 1 1
      Assembly-CSharp/GravityControlWindow.cs
  48. 22 1
      Assembly-CSharp/HairLongWindow.cs
  49. 2 991
      Assembly-CSharp/HandSignShortcut.cs
  50. 52 0
      Assembly-CSharp/HeightIKCtrlData.cs
  51. 7 5
      Assembly-CSharp/I2/Loc/LanguageSource.cs
  52. 2 0
      Assembly-CSharp/I2/Loc/LocalizationManager.cs
  53. 59 0
      Assembly-CSharp/I2/Loc/LocalizeTarget_NGUI_Button.cs
  54. 5 0
      Assembly-CSharp/I2/Loc/LocalizeTarget_NGUI_Label.cs
  55. 0 24
      Assembly-CSharp/I2/Loc/NGUI_LanguagePopup.cs
  56. 1093 0
      Assembly-CSharp/IKCtrlData.cs
  57. 122 281
      Assembly-CSharp/IKManager.cs
  58. 0 405
      Assembly-CSharp/IKMgrData.cs
  59. 4 2
      Assembly-CSharp/ItemInfoWnd.cs
  60. 25 9
      Assembly-CSharp/KaraokeDataManager.cs
  61. 45 0
      Assembly-CSharp/KasaiUtility.cs
  62. 1 1
      Assembly-CSharp/Kasizuki/ClubRoomSelectCtrl.cs
  63. 1 1
      Assembly-CSharp/Kasizuki/KasizukiCharacterSelectCtrl.cs
  64. 113 26
      Assembly-CSharp/Kasizuki/KasizukiMainMenu.cs
  65. 8 6
      Assembly-CSharp/Kasizuki/KasizukiManSelectCtrl.cs
  66. 19 3
      Assembly-CSharp/Kasizuki/KasizukiManager.cs
  67. 29 19
      Assembly-CSharp/Kasizuki/KasizukiPlayInfoCtrl.cs
  68. 6 6
      Assembly-CSharp/Kasizuki/KasizukiSaveAndLoadCtrl.cs
  69. 2 2
      Assembly-CSharp/Kasizuki/MaidAppealComment.cs
  70. 4 0
      Assembly-CSharp/Kasizuki/MaidDataType.cs
  71. 29 1
      Assembly-CSharp/Kasizuki/MaidLikabilityCtrl.cs
  72. 2 2
      Assembly-CSharp/Kasizuki/MaidMiniStatusCtrl.cs
  73. 15 0
      Assembly-CSharp/Kasizuki/ManData.cs
  74. 5 1
      Assembly-CSharp/Kasizuki/ManDataType.cs
  75. 3 3
      Assembly-CSharp/Kasizuki/NGUIWindow.cs
  76. 38 6
      Assembly-CSharp/Kasizuki/PlayData.cs
  77. 0 111
      Assembly-CSharp/KeyboardShortcutManager.cs
  78. 3 0
      Assembly-CSharp/Leap/Unity/IHandModel.cs
  79. 3 3
      Assembly-CSharp/Leap/Unity/LeapImageRetriever.cs
  80. 3 0
      Assembly-CSharp/Leap/Unity/LeapProvider.cs
  81. 4 0
      Assembly-CSharp/Leap/Unity/LeapVRCameraControl.cs
  82. 4 2
      Assembly-CSharp/Leap/Unity/RuntimeGizmos/RuntimeGizmoManager.cs
  83. 1 1
      Assembly-CSharp/LightWindow.cs
  84. 4 4
      Assembly-CSharp/LimbControl.cs
  85. 79 115
      Assembly-CSharp/Maid.cs
  86. 1 1
      Assembly-CSharp/MaidParts.cs
  87. 6 0
      Assembly-CSharp/MaidPlate.cs
  88. 1 1
      Assembly-CSharp/MaidProp.cs
  89. 10 0
      Assembly-CSharp/MaidStatus/CsvData/AbstractClassData.cs
  90. 15 0
      Assembly-CSharp/MaidStatus/EnumConvert.cs
  91. 10 0
      Assembly-CSharp/MaidStatus/Feature.cs
  92. 8 0
      Assembly-CSharp/MaidStatus/JobClass.cs
  93. 10 0
      Assembly-CSharp/MaidStatus/Personal.cs
  94. 10 0
      Assembly-CSharp/MaidStatus/Propensity.cs
  95. 9 1
      Assembly-CSharp/MaidStatus/Status.cs
  96. 8 0
      Assembly-CSharp/MaidStatus/YotogiClass.cs
  97. 6 1
      Assembly-CSharp/MaidTouch.cs
  98. 1 1
      Assembly-CSharp/MaidTransferMain.cs
  99. 20 18
      Assembly-CSharp/MainBusinessWindow.cs
  100. 2 2
      Assembly-CSharp/Menu.cs
  101. 19 8
      Assembly-CSharp/MessageClass.cs
  102. 4 4
      Assembly-CSharp/MessageWindowCtrl.cs
  103. 1 1
      Assembly-CSharp/Misc.cs
  104. 1 1
      Assembly-CSharp/ModCompile.cs
  105. 1 1
      Assembly-CSharp/MotionAction_Mgr.cs
  106. 13 0
      Assembly-CSharp/MouseExposition.cs
  107. 1 1
      Assembly-CSharp/MyRoomCustom/CreativeRoom.cs
  108. 29 24
      Assembly-CSharp/MyRoomCustom/CreativeRoomUIObjectSettings.cs
  109. 2 2
      Assembly-CSharp/MyRoomCustom/CreativeRoomUISaveLoad.cs
  110. 87 0
      Assembly-CSharp/NGUILabelSpacingHold.cs
  111. 22 0
      Assembly-CSharp/NGUI_LanguagePopup.cs
  112. 1 1
      Assembly-CSharp/Note_Mgr.cs
  113. 2 0
      Assembly-CSharp/OVRCameraRig.cs
  114. 2 0
      Assembly-CSharp/OVRDisplay.cs
  115. 6 0
      Assembly-CSharp/OVRLipSync.cs
  116. 1 0
      Assembly-CSharp/OVRLipSyncContextBase.cs
  117. 3 3
      Assembly-CSharp/OVRLipSyncContextMorphTarget.cs
  118. 30 2
      Assembly-CSharp/OVRLipSyncMicInput.cs
  119. 26 14
      Assembly-CSharp/OVRManager.cs
  120. 2 1
      Assembly-CSharp/OVROverlay.cs
  121. 2 0
      Assembly-CSharp/OVRTouchpad.cs
  122. 4 4
      Assembly-CSharp/ObjectCreateWindow.cs
  123. 2 2
      Assembly-CSharp/ObjectManagerWindow.cs
  124. 2 2
      Assembly-CSharp/OnaholeBaseNodeMenuManager.cs
  125. 96 0
      Assembly-CSharp/OnaholeChuBlipDevice.cs
  126. 4 0
      Assembly-CSharp/OnaholeMotion.cs
  127. 3 3
      Assembly-CSharp/OnaholeNodeMenuChildSecondRow.cs
  128. 2 207
      Assembly-CSharp/OtherCommandShortcut.cs
  129. 37 2
      Assembly-CSharp/OvrIK.cs
  130. 4 1
      Assembly-CSharp/OvrMgr.cs
  131. 8 0
      Assembly-CSharp/PhotoFaceData.cs
  132. 0 428
      Assembly-CSharp/PhotoFaceDataShortcut.cs
  133. 2 175
      Assembly-CSharp/PhotoFaceDataShortcutParent.cs
  134. 0 396
      Assembly-CSharp/PhotoFaceDataShortcutSetter.cs
  135. 2 2
      Assembly-CSharp/PhotoModeObjectSave.cs
  136. 2 2
      Assembly-CSharp/PhotoModePoseSave.cs
  137. 5 5
      Assembly-CSharp/PhotoModeSaveAndLoad.cs
  138. 2 2
      Assembly-CSharp/PhotoMotionData.cs
  139. 0 167
      Assembly-CSharp/PhotoMotionDataShortcut.cs
  140. 0 224
      Assembly-CSharp/PhotoMotionDataShortcutSetter.cs
  141. 1 1
      Assembly-CSharp/PlacementWindow.cs
  142. 1 1
      Assembly-CSharp/PlayerStatus/Status.cs
  143. 2 2
      Assembly-CSharp/PoseEditWindow.cs
  144. 5 6
      Assembly-CSharp/PresetCtrl.cs
  145. 55 26
      Assembly-CSharp/ProfileCtrl.cs
  146. 4 5
      Assembly-CSharp/RandomPresetCtrl.cs
  147. 0 1
      Assembly-CSharp/RenderHeads/Media/AVProVideo/WindowsMediaPlayer.cs
  148. 1 1
      Assembly-CSharp/SaveAndLoadMgr.cs
  149. 40 16
      Assembly-CSharp/ScenarioData.cs
  150. 6 6
      Assembly-CSharp/SceneCasino.cs
  151. 5 5
      Assembly-CSharp/SceneCasinoShop.cs
  152. 51 19
      Assembly-CSharp/SceneEdit.cs
  153. 2 2
      Assembly-CSharp/SceneEditNameSettingPanel.cs
  154. 1 1
      Assembly-CSharp/SceneEditWindow/BaseIconWindow.cs
  155. 6 3
      Assembly-CSharp/SceneEditWindow/CustomPartsWindow.cs
  156. 11 15
      Assembly-CSharp/SceneEditWindow/PresetSaveWindow.cs
  157. 1 1
      Assembly-CSharp/SceneEditWindow/UndressWindow.cs
  158. 1 1
      Assembly-CSharp/SceneEditWindow/VoiceIconWindow.cs
  159. 57 49
      Assembly-CSharp/SceneFacilityManagement.cs
  160. 1 1
      Assembly-CSharp/SceneUserEditMain.cs
  161. 4 4
      Assembly-CSharp/SceneVRCommunication.cs
  162. 3 7
      Assembly-CSharp/SceneWarning.cs
  163. 1 1
      Assembly-CSharp/ScheduleTaskViewer.cs
  164. 33 1
      Assembly-CSharp/ScriptManager.cs
  165. 96 14
      Assembly-CSharp/SelectButtonCtrl.cs
  166. 1 1
      Assembly-CSharp/SlotManager.cs
  167. 1 1
      Assembly-CSharp/SlotUImgr.cs
  168. 2 2
      Assembly-CSharp/StaffRollCtrl.cs
  169. 2 2
      Assembly-CSharp/StatusViewer.cs
  170. 3 0
      Assembly-CSharp/SteamVR_GazeTracker.cs
  171. 3 0
      Assembly-CSharp/SteamVR_LaserPointer.cs
  172. 12 0
      Assembly-CSharp/SteamVR_TrackedController.cs
  173. 7 2
      Assembly-CSharp/SubtitleDisplayManager.cs
  174. 10 0
      Assembly-CSharp/SystemDialog.cs
  175. 32 56
      Assembly-CSharp/SystemShortcut.cs
  176. 35 65
      Assembly-CSharp/TBody.cs
  177. 11 2
      Assembly-CSharp/TatooAlphaWindow.cs
  178. 38 27
      Assembly-CSharp/TitleCtrl.cs
  179. 6 6
      Assembly-CSharp/TitleMgr.cs
  180. 8 0
      Assembly-CSharp/TriLib/AssetLoader.cs
  181. 2 0
      Assembly-CSharp/TriLib/Samples/FileOpenDialog.cs
  182. 1 1
      Assembly-CSharp/TriLib/Samples/URIDialog.cs
  183. 11 2
      Assembly-CSharp/UICamera.cs
  184. 14 1
      Assembly-CSharp/UILabel.cs
  185. 6 1
      Assembly-CSharp/UIPopupList.cs
  186. 3 3
      Assembly-CSharp/UIStates.cs
  187. 9 5
      Assembly-CSharp/UndressDance_Mgr.cs
  188. 4 2
      Assembly-CSharp/UnityEngine/UI/uGUIScrollRect.cs
  189. 3 3
      Assembly-CSharp/VRCanvasManager.cs
  190. 1 1
      Assembly-CSharp/VRCanvasManagerMini.cs
  191. 2 2
      Assembly-CSharp/VRChangeBackGroundMenu.cs
  192. 17 17
      Assembly-CSharp/VRConfigMenu.cs
  193. 1 1
      Assembly-CSharp/VRCultivationSeedInventory.cs
  194. 6 6
      Assembly-CSharp/VRDialogMenu.cs
  195. 24 24
      Assembly-CSharp/VRExternalFileLoader.cs
  196. 0 451
      Assembly-CSharp/VRFaceShortcutConfig.cs
  197. 1 1
      Assembly-CSharp/VRIKGeneralObjectSetter.cs
  198. 3 3
      Assembly-CSharp/VRManualMenu.cs
  199. 2 2
      Assembly-CSharp/VRMiniGameManager.cs
  200. 2 2
      Assembly-CSharp/VRMiniGameScoreBoard.cs
  201. 6 6
      Assembly-CSharp/VRMiniGameSetup.cs
  202. 1 1
      Assembly-CSharp/VRNeiLetterMenu.cs
  203. 3 3
      Assembly-CSharp/VRRentalMaidMenu.cs
  204. 1 1
      Assembly-CSharp/VRSelectorMenu.cs
  205. 1 1
      Assembly-CSharp/VRTutorialMenu.cs
  206. 5 5
      Assembly-CSharp/VRVIPMenu.cs
  207. 1 1
      Assembly-CSharp/WindowPartsFingerPreset.cs
  208. 1 1
      Assembly-CSharp/WindowPartsPopUpList.cs
  209. 3 3
      Assembly-CSharp/WindowPartsTransform.cs
  210. 92 0
      Assembly-CSharp/XVI/AniLipSync/LowLatencyLipSyncContext.cs
  211. 23 20
      Assembly-CSharp/YotogiCommandFactory.cs
  212. 2 0
      Assembly-CSharp/YotogiCommandMenuOVR.cs
  213. 4 10
      Assembly-CSharp/YotogiManager.cs
  214. 4 4
      Assembly-CSharp/YotogiOldManager.cs
  215. 3 3
      Assembly-CSharp/YotogiOldPlayManager.cs
  216. 9 9
      Assembly-CSharp/YotogiOldSkillContainerViewer.cs
  217. 1 1
      Assembly-CSharp/YotogiOldSkillUnit.cs
  218. 29 13
      Assembly-CSharp/YotogiParamScroll.cs
  219. 5 6
      Assembly-CSharp/YotogiParameterViewer.cs
  220. 45 7
      Assembly-CSharp/YotogiPlayManager.cs
  221. 5 4
      Assembly-CSharp/YotogiResultManager.cs
  222. 16 9
      Assembly-CSharp/YotogiSkillContainerViewer.cs
  223. 3 2
      Assembly-CSharp/YotogiSkillSelectManager.cs
  224. 3 2
      Assembly-CSharp/YotogiSkillUnit.cs
  225. 10 0
      Assembly-CSharp/YotogiStage.cs
  226. 2 0
      Assembly-CSharp/YotogiStageUnit.cs
  227. 24 0
      Assembly-CSharp/Yotogis/Skill.cs
  228. 70 64
      Assembly-CSharp/uGUIKaraokeSelect.cs
  229. 15 32
      Assembly-CSharp/uGUITutorialPanel.cs

+ 5 - 5
Assembly-CSharp.sln

@@ -3,7 +3,7 @@ Microsoft Visual Studio Solution File, Format Version 12.00
 # Visual Studio 15
 VisualStudioVersion = 15.0.26228.4
 MinimumVisualStudioVersion = 10.0.40219.1
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Assembly-CSharp", "Assembly-CSharp\Assembly-CSharp.csproj", "{3C774868-C2C7-4676-938B-45C4722B18E8}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Assembly-CSharp", "Assembly-CSharp\Assembly-CSharp.csproj", "{BA85C690-52D0-4F76-A9B2-93EAA08C06CC}"
 EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -11,10 +11,10 @@ Global
 		Release|Any CPU = Release|Any CPU
 	EndGlobalSection
 	GlobalSection(ProjectConfigurationPlatforms) = postSolution
-		{3C774868-C2C7-4676-938B-45C4722B18E8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{3C774868-C2C7-4676-938B-45C4722B18E8}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{3C774868-C2C7-4676-938B-45C4722B18E8}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{3C774868-C2C7-4676-938B-45C4722B18E8}.Release|Any CPU.Build.0 = Release|Any CPU
+		{BA85C690-52D0-4F76-A9B2-93EAA08C06CC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{BA85C690-52D0-4F76-A9B2-93EAA08C06CC}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{BA85C690-52D0-4F76-A9B2-93EAA08C06CC}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{BA85C690-52D0-4F76-A9B2-93EAA08C06CC}.Release|Any CPU.Build.0 = Release|Any CPU
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE

+ 0 - 2
Assembly-CSharp/ADVKagManager.cs

@@ -341,8 +341,6 @@ public class ADVKagManager : BaseKagManager
 	{
 		Action<string, string> onClickCallBack = delegate(string choices_title, string label_name)
 		{
-			string text = "=> " + choices_title;
-			this.message_mgr_.AddBackLog(string.Empty, text, string.Empty, 0);
 			this.kag_.GoToLabel(label_name);
 			this.kag_.Exec();
 		};

+ 40 - 31
Assembly-CSharp/Assembly-CSharp.csproj

@@ -4,7 +4,7 @@
   <PropertyGroup>
     <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
     <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ProjectGuid>{3C774868-C2C7-4676-938B-45C4722B18E8}</ProjectGuid>
+    <ProjectGuid>{BA85C690-52D0-4F76-A9B2-93EAA08C06CC}</ProjectGuid>
     <OutputType>Library</OutputType>
     <RootNamespace>Assembly-CSharp</RootNamespace>
     <AssemblyName>Assembly-CSharp</AssemblyName>
@@ -33,50 +33,50 @@
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
   </PropertyGroup>
   <ItemGroup>
-    <Reference Include="UnityEngine">
-      <HintPath>..\..\..\Programs\Gams\COM3D2\COM3D2\COM3D2x64_Data\Managed\UnityEngine.dll</HintPath>
+    <Reference Include="Assembly-CSharp-firstpass">
+      <HintPath>..\..\..\Programs\Gams\com3d2_en_try\COM3D2_en_tryx64_Data\Managed\Assembly-CSharp-firstpass.dll</HintPath>
     </Reference>
-    <Reference Include="System">
-      <HintPath>..\..\..\Programs\Gams\COM3D2\COM3D2\COM3D2x64_Data\Managed\System.dll</HintPath>
+    <Reference Include="Assembly-UnityScript-firstpass">
+      <HintPath>..\..\..\Programs\Gams\com3d2_en_try\COM3D2_en_tryx64_Data\Managed\Assembly-UnityScript-firstpass.dll</HintPath>
     </Reference>
-    <Reference Include="UnityEngine.UI">
-      <HintPath>..\..\..\Programs\Gams\COM3D2\COM3D2\COM3D2x64_Data\Managed\UnityEngine.UI.dll</HintPath>
+    <Reference Include="FoveUnityPlugin">
+      <HintPath>..\..\..\Programs\Gams\com3d2_en_try\COM3D2_en_tryx64_Data\Managed\FoveUnityPlugin.dll</HintPath>
     </Reference>
-    <Reference Include="System.Core">
-      <HintPath>..\..\..\Programs\Gams\COM3D2\COM3D2\COM3D2x64_Data\Managed\System.Core.dll</HintPath>
+    <Reference Include="Ionic.Zlib">
+      <HintPath>..\..\..\Programs\Gams\com3d2_en_try\COM3D2_en_tryx64_Data\Managed\Ionic.Zlib.dll</HintPath>
+    </Reference>
+    <Reference Include="JsonFx.Json">
+      <HintPath>..\..\..\Programs\Gams\com3d2_en_try\COM3D2_en_tryx64_Data\Managed\JsonFx.Json.dll</HintPath>
     </Reference>
     <Reference Include="LeapCSharp.NET3.5">
-      <HintPath>..\..\..\Programs\Gams\COM3D2\COM3D2\COM3D2x64_Data\Managed\LeapCSharp.NET3.5.dll</HintPath>
+      <HintPath>..\..\..\Programs\Gams\com3d2_en_try\COM3D2_en_tryx64_Data\Managed\LeapCSharp.NET3.5.dll</HintPath>
     </Reference>
-    <Reference Include="Assembly-UnityScript-firstpass">
-      <HintPath>..\..\..\Programs\Gams\COM3D2\COM3D2\COM3D2x64_Data\Managed\Assembly-UnityScript-firstpass.dll</HintPath>
+    <Reference Include="System">
+      <HintPath>..\..\..\Programs\Gams\com3d2_en_try\COM3D2_en_tryx64_Data\Managed\System.dll</HintPath>
     </Reference>
-    <Reference Include="Assembly-CSharp-firstpass">
-      <HintPath>..\..\..\Programs\Gams\COM3D2\COM3D2\COM3D2x64_Data\Managed\Assembly-CSharp-firstpass.dll</HintPath>
+    <Reference Include="System.Core">
+      <HintPath>..\..\..\Programs\Gams\com3d2_en_try\COM3D2_en_tryx64_Data\Managed\System.Core.dll</HintPath>
     </Reference>
-    <Reference Include="System.Xml.Linq">
-      <HintPath>..\..\..\Programs\Gams\COM3D2\COM3D2\COM3D2x64_Data\Managed\System.Xml.Linq.dll</HintPath>
+    <Reference Include="System.Drawing">
+      <HintPath>..\..\..\Programs\Gams\com3d2_en_try\COM3D2_en_tryx64_Data\Managed\System.Drawing.dll</HintPath>
     </Reference>
-    <Reference Include="JsonFx.Json">
-      <HintPath>..\..\..\Programs\Gams\COM3D2\COM3D2\COM3D2x64_Data\Managed\JsonFx.Json.dll</HintPath>
+    <Reference Include="System.Windows.Forms">
+      <HintPath>..\..\..\Programs\Gams\com3d2_en_try\COM3D2_en_tryx64_Data\Managed\System.Windows.Forms.dll</HintPath>
     </Reference>
     <Reference Include="System.Xml">
-      <HintPath>..\..\..\Programs\Gams\COM3D2\COM3D2\COM3D2x64_Data\Managed\System.Xml.dll</HintPath>
-    </Reference>
-    <Reference Include="System.Windows.Forms">
-      <HintPath>..\..\..\Programs\Gams\COM3D2\COM3D2\COM3D2x64_Data\Managed\System.Windows.Forms.dll</HintPath>
+      <HintPath>..\..\..\Programs\Gams\com3d2_en_try\COM3D2_en_tryx64_Data\Managed\System.Xml.dll</HintPath>
     </Reference>
-    <Reference Include="System.Drawing">
-      <HintPath>..\..\..\Programs\Gams\COM3D2\COM3D2\COM3D2x64_Data\Managed\System.Drawing.dll</HintPath>
+    <Reference Include="System.Xml.Linq">
+      <HintPath>..\..\..\Programs\Gams\com3d2_en_try\COM3D2_en_tryx64_Data\Managed\System.Xml.Linq.dll</HintPath>
     </Reference>
-    <Reference Include="FoveUnityPlugin">
-      <HintPath>..\..\..\Programs\Gams\COM3D2\COM3D2\COM3D2x64_Data\Managed\FoveUnityPlugin.dll</HintPath>
+    <Reference Include="UnityEngine">
+      <HintPath>..\..\..\Programs\Gams\com3d2_en_try\COM3D2_en_tryx64_Data\Managed\UnityEngine.dll</HintPath>
     </Reference>
-    <Reference Include="Ionic.Zlib">
-      <HintPath>..\..\..\Programs\Gams\COM3D2\COM3D2\COM3D2x64_Data\Managed\Ionic.Zlib.dll</HintPath>
+    <Reference Include="UnityEngine.UI">
+      <HintPath>..\..\..\Programs\Gams\com3d2_en_try\COM3D2_en_tryx64_Data\Managed\UnityEngine.UI.dll</HintPath>
     </Reference>
     <Reference Include="zxing.unity">
-      <HintPath>..\..\..\Programs\Gams\COM3D2\COM3D2\COM3D2x64_Data\Managed\zxing.unity.dll</HintPath>
+      <HintPath>..\..\..\Programs\Gams\com3d2_en_try\COM3D2_en_tryx64_Data\Managed\zxing.unity.dll</HintPath>
     </Reference>
   </ItemGroup>
   <ItemGroup>
@@ -189,6 +189,7 @@
     <Compile Include="BGWindow.cs" />
     <Compile Include="BigThumbnail.cs" />
     <Compile Include="Billboard.cs" />
+    <Compile Include="BipedIKCtrlData.cs" />
     <Compile Include="BjMotionControl.cs" />
     <Compile Include="BjPlayer.cs" />
     <Compile Include="BjVoiceMgr.cs" />
@@ -197,6 +198,7 @@
     <Compile Include="BMFont.cs" />
     <Compile Include="BMGlyph.cs" />
     <Compile Include="BMSymbol.cs" />
+    <Compile Include="BodyCtrlData.cs" />
     <Compile Include="BodyStatusCtrl.cs" />
     <Compile Include="BodyStatusMgr.cs" />
     <Compile Include="BoneAttachPos.cs" />
@@ -224,6 +226,7 @@
     <Compile Include="CasinoDataMgr.cs" />
     <Compile Include="CasinoItemUI.cs" />
     <Compile Include="CasinoShopItem.cs" />
+    <Compile Include="CCDIKCtrlData.cs" />
     <Compile Include="ChallengeResult.cs" />
     <Compile Include="CharaAppealData.cs" />
     <Compile Include="CharacterMgr.cs" />
@@ -362,6 +365,7 @@
     <Compile Include="ExampleDragDropSurface.cs" />
     <Compile Include="ExChangeUI.cs" />
     <Compile Include="ExtensionsDictionaryClass.cs" />
+    <Compile Include="FABRIKCtrlData.cs" />
     <Compile Include="FaceWindow.cs" />
     <Compile Include="Facility.cs" />
     <Compile Include="FacilityDataTable.cs" />
@@ -398,6 +402,7 @@
     <Compile Include="FreeSkillSelect.cs" />
     <Compile Include="FreeSkillSelectOld.cs" />
     <Compile Include="FrontCamera.cs" />
+    <Compile Include="FullBodyIKCtrl.cs" />
     <Compile Include="GameInShop.cs" />
     <Compile Include="GameInShopMain.cs" />
     <Compile Include="GameMain.cs" />
@@ -415,6 +420,7 @@
     <Compile Include="Hand.cs" />
     <Compile Include="HandEnableDisableNotifier.cs" />
     <Compile Include="HandSignShortcut.cs" />
+    <Compile Include="HeightIKCtrlData.cs" />
     <Compile Include="HideScroll.cs" />
     <Compile Include="HideScrollEventCatch.cs" />
     <Compile Include="HyperlinkText\ObjectPool.cs" />
@@ -459,6 +465,7 @@
     <Compile Include="I2\Loc\LocalizeTargetDesc_Child.cs" />
     <Compile Include="I2\Loc\LocalizeTargetDesc_Prefab.cs" />
     <Compile Include="I2\Loc\LocalizeTargetDesc_Type.cs" />
+    <Compile Include="I2\Loc\LocalizeTarget_NGUI_Button.cs" />
     <Compile Include="I2\Loc\LocalizeTarget_NGUI_Label.cs" />
     <Compile Include="I2\Loc\LocalizeTarget_NGUI_Sprite.cs" />
     <Compile Include="I2\Loc\LocalizeTarget_NGUI_Texture.cs" />
@@ -472,7 +479,6 @@
     <Compile Include="I2\Loc\LocalizeTarget_UnityUI_Image.cs" />
     <Compile Include="I2\Loc\LocalizeTarget_UnityUI_RawImage.cs" />
     <Compile Include="I2\Loc\LocalizeTarget_UnityUI_Text.cs" />
-    <Compile Include="I2\Loc\NGUI_LanguagePopup.cs" />
     <Compile Include="I2\Loc\PersistentStorage.cs" />
     <Compile Include="I2\Loc\RealTimeTranslation.cs" />
     <Compile Include="I2\Loc\RegisterBundlesManager.cs" />
@@ -506,9 +512,9 @@
     <Compile Include="IDisposableBase.cs" />
     <Compile Include="IExperienceSystem.cs" />
     <Compile Include="IFade.cs" />
+    <Compile Include="IKCtrlData.cs" />
     <Compile Include="IKDragPoint.cs" />
     <Compile Include="IKManager.cs" />
-    <Compile Include="IKMgrData.cs" />
     <Compile Include="ImgDisplay.cs" />
     <Compile Include="ImportCM.cs" />
     <Compile Include="InfinityColorTextureCache.cs" />
@@ -743,9 +749,11 @@
     <Compile Include="MyRoomCustom\TextureData.cs" />
     <Compile Include="NewBehaviourScript.cs" />
     <Compile Include="NGUIDebug.cs" />
+    <Compile Include="NGUILabelSpacingHold.cs" />
     <Compile Include="NGUIMath.cs" />
     <Compile Include="NGUIText.cs" />
     <Compile Include="NGUITools.cs" />
+    <Compile Include="NGUI_LanguagePopup.cs" />
     <Compile Include="NightTaskUnit.cs" />
     <Compile Include="NodeButtonData.cs" />
     <Compile Include="NoteBase.cs" />
@@ -1526,6 +1534,7 @@
     <Compile Include="WorldTransformRotate.cs" />
     <Compile Include="XOR128.cs" />
     <Compile Include="XOR32.cs" />
+    <Compile Include="XVI\AniLipSync\LowLatencyLipSyncContext.cs" />
     <Compile Include="Yotogi.cs" />
     <Compile Include="YotogiAppearanceWithChubLip.cs" />
     <Compile Include="YotogiChuBLipSetting.cs" />

+ 3 - 0
Assembly-CSharp/AttributeViewer.cs

@@ -1,5 +1,6 @@
 using System;
 using System.Collections.Generic;
+using I2.Loc;
 using MaidStatus;
 using UnityEngine;
 
@@ -52,6 +53,8 @@ public class AttributeViewer : MonoBehaviour
 			if (!(componentInChildren == null))
 			{
 				componentInChildren.text = data.drawName;
+				Localize component = componentInChildren.GetComponent<Localize>();
+				component.SetTerm(data.termName);
 				num++;
 			}
 		}

+ 12 - 4
Assembly-CSharp/BacklogCtrl.cs

@@ -34,12 +34,20 @@ public class BacklogCtrl : MonoBehaviour
 				gameObject.transform.localScale = Vector3.one;
 				gameObject.transform.localPosition = Vector3.zero;
 				gameObject.transform.rotation = Quaternion.identity;
-				UILabel component2 = UTY.GetChildObject(gameObject, "SpeakerName", false).GetComponent<UILabel>();
-				component2.text = backlogUnit.m_speakerName;
-				UILabel component3 = UTY.GetChildObject(gameObject, "Message", false).GetComponent<UILabel>();
-				component3.text = backlogUnit.m_msg;
+				SubtitleDisplayManager component2 = gameObject.GetComponent<SubtitleDisplayManager>();
+				component2.charaNameText = backlogUnit.m_speakerName;
+				component2.originalText = backlogUnit.m_msg;
+				component2.subtitlesText = backlogUnit.m_subtitlemsg;
 			}
 		}
+		if (SubtitleDisplayManager.configDisplayType == SubtitleDisplayManager.DisplayType.OriginalAndSubtitle)
+		{
+			base.GetComponent<UIGrid>().cellHeight = 240f;
+		}
+		else
+		{
+			base.GetComponent<UIGrid>().cellHeight = 182f;
+		}
 		base.GetComponent<UIGrid>().Reposition();
 	}
 

+ 640 - 19
Assembly-CSharp/BaseKagManager.cs

@@ -50,7 +50,16 @@ public class BaseKagManager : IDisposable
 		this.kag_.AddTagCallBack("ikattachpoint", new KagScript.KagTagCallBack(this.TagIKAttachPoint));
 		this.kag_.AddTagCallBack("ikattachbone", new KagScript.KagTagCallBack(this.TagIKAttachBone));
 		this.kag_.AddTagCallBack("ikdetach", new KagScript.KagTagCallBack(this.TagIKDetach));
+		this.kag_.AddTagCallBack("allikdetach", new KagScript.KagTagCallBack(this.TagAllIKDetach));
 		this.kag_.AddTagCallBack("ikattachodogu", new KagScript.KagTagCallBack(this.TagIKAttachOdogu));
+		this.kag_.AddTagCallBack("ikattachikbone", new KagScript.KagTagCallBack(this.TagIKAttachIKBone));
+		this.kag_.AddTagCallBack("setbodypos", new KagScript.KagTagCallBack(this.TagSetBodyPos));
+		this.kag_.AddTagCallBack("ikcheckthrough", new KagScript.KagTagCallBack(this.TagIKCheckThrough));
+		this.kag_.AddTagCallBack("nextikflag", new KagScript.KagTagCallBack(this.TagNextIKFlag));
+		this.kag_.AddTagCallBack("ikattachpointnext", new KagScript.KagTagCallBack(this.TagIKAttachPointNext));
+		this.kag_.AddTagCallBack("ikattachbonenext", new KagScript.KagTagCallBack(this.TagIKAttachBoneNext));
+		this.kag_.AddTagCallBack("ikattachodogunext", new KagScript.KagTagCallBack(this.TagIKAttachOdoguNext));
+		this.kag_.AddTagCallBack("ikattachikbonenext", new KagScript.KagTagCallBack(this.TagIKAttachIKBoneNext));
 		this.kag_.AddTagCallBack("allpos", new KagScript.KagTagCallBack(this.TagAllPos));
 		this.kag_.AddTagCallBack("alloffset", new KagScript.KagTagCallBack(this.TagAllOffSet));
 		this.kag_.AddTagCallBack("addalloffset", new KagScript.KagTagCallBack(this.TagAddAllOffset));
@@ -944,9 +953,14 @@ public class BaseKagManager : IDisposable
 		{
 			return false;
 		}
-		string strMyHand = tag_data.GetTagProperty("srcbone").AsString();
-		string f_strTargetAttachPointName = tag_data.GetTagProperty("targetpoint").AsString();
-		string f_strTargetSlotName = tag_data.GetTagProperty("targetobj").AsString();
+		string text = tag_data.GetTagProperty("srcbone").AsString();
+		string attachpoint_name = tag_data.GetTagProperty("targetpoint").AsString();
+		string tgt_name = tag_data.GetTagProperty("targetobj").AsString();
+		IKCtrlData ikdata = maidAndMan.IKCtrl.GetIKData(text);
+		if (!ikdata)
+		{
+			return false;
+		}
 		Vector3 zero = Vector3.zero;
 		if (tag_data.IsValid("offsetx"))
 		{
@@ -960,17 +974,27 @@ public class BaseKagManager : IDisposable
 		{
 			zero.z = tag_data.GetTagProperty("offsetz").AsReal();
 		}
-		IKMgrData.IKAttachType attach_type = IKMgrData.IKAttachType.Point;
+		IKCtrlData.IKAttachType attach_type = IKCtrlData.IKAttachType.Point;
 		if (tag_data.IsValid("attach_type"))
 		{
-			attach_type = (IKMgrData.IKAttachType)Enum.Parse(typeof(IKMgrData.IKAttachType), tag_data.GetTagProperty("attach_type").AsString());
+			attach_type = (IKCtrlData.IKAttachType)Enum.Parse(typeof(IKCtrlData.IKAttachType), tag_data.GetTagProperty("attach_type").AsString());
 		}
 		string axisbone = string.Empty;
 		if (tag_data.IsValid("axisbone"))
 		{
 			axisbone = tag_data.GetTagProperty("axisbone").AsString();
 		}
-		maidAndMan.IKTargetToAttachPoint(strMyHand, maidAndMan2, f_strTargetSlotName, f_strTargetAttachPointName, zero, attach_type, axisbone);
+		float blend_time = 0f;
+		if (tag_data.IsValid("blendtime"))
+		{
+			blend_time = GameUty.MillisecondToSecond(tag_data.GetTagProperty("blendtime").AsInteger());
+		}
+		bool do_animation = false;
+		if (tag_data.IsValid("do_animation"))
+		{
+			do_animation = true;
+		}
+		maidAndMan.IKTargetToAttachPoint(text, maidAndMan2, tgt_name, attachpoint_name, zero, attach_type, axisbone, blend_time, do_animation, false);
 		return false;
 	}
 
@@ -989,8 +1013,13 @@ public class BaseKagManager : IDisposable
 		{
 			return false;
 		}
-		string strMyHand = tag_data.GetTagProperty("srcbone").AsString();
-		string f_strTargetBoneName = tag_data.GetTagProperty("targetbone").AsString();
+		string text = tag_data.GetTagProperty("srcbone").AsString();
+		string tgtbone_name = tag_data.GetTagProperty("targetbone").AsString();
+		IKCtrlData ikdata = maidAndMan.IKCtrl.GetIKData(text);
+		if (!ikdata)
+		{
+			return false;
+		}
 		bool search_sm = tag_data.IsValid("Search_SM_Body");
 		Vector3 zero = Vector3.zero;
 		if (tag_data.IsValid("offsetx"))
@@ -1005,12 +1034,27 @@ public class BaseKagManager : IDisposable
 		{
 			zero.z = tag_data.GetTagProperty("offsetz").AsReal();
 		}
-		IKMgrData.IKAttachType attach_type = IKMgrData.IKAttachType.Point;
+		IKCtrlData.IKAttachType ikattachType = IKCtrlData.IKAttachType.Point;
 		if (tag_data.IsValid("attach_type"))
 		{
-			attach_type = (IKMgrData.IKAttachType)Enum.Parse(typeof(IKMgrData.IKAttachType), tag_data.GetTagProperty("attach_type").AsString());
+			ikattachType = (IKCtrlData.IKAttachType)Enum.Parse(typeof(IKCtrlData.IKAttachType), tag_data.GetTagProperty("attach_type").AsString());
 		}
-		maidAndMan.IKTargetToBone(strMyHand, maidAndMan2, f_strTargetBoneName, zero, attach_type, search_sm);
+		if (ikattachType == IKCtrlData.IKAttachType.NewPoint)
+		{
+			ikdata.OffsetWorld = tag_data.IsValid("offset_world");
+			ikdata.OffsetBone = tag_data.IsValid("offset_bone");
+		}
+		float blend_time = 0f;
+		if (tag_data.IsValid("blendtime"))
+		{
+			blend_time = GameUty.MillisecondToSecond(tag_data.GetTagProperty("blendtime").AsInteger());
+		}
+		bool do_animation = false;
+		if (tag_data.IsValid("do_animation"))
+		{
+			do_animation = true;
+		}
+		maidAndMan.IKTargetToBone(text, maidAndMan2, tgtbone_name, zero, ikattachType, search_sm, blend_time, do_animation, false);
 		return false;
 	}
 
@@ -1027,11 +1071,37 @@ public class BaseKagManager : IDisposable
 			return false;
 		}
 		string text = tag_data.GetTagProperty("srcbone").AsString();
-		if (text == null)
+		IKCtrlData ikdata = maidAndMan.IKCtrl.GetIKData(text);
+		if (!ikdata)
+		{
+			return false;
+		}
+		float blendtime = 0f;
+		if (tag_data.IsValid("blendtime"))
 		{
-			text = string.Empty;
+			blendtime = GameUty.MillisecondToSecond(tag_data.GetTagProperty("blendtime").AsInteger());
 		}
-		maidAndMan.IKTargetToBone(text, null, "無し", Vector3.zero, IKMgrData.IKAttachType.Point, false);
+		maidAndMan.IKDetach(text, blendtime);
+		return false;
+	}
+
+	public bool TagAllIKDetach(KagTagSupport tag_data)
+	{
+		this.CheckAbsolutelyNecessaryTag(tag_data, "allikdetach", new string[]
+		{
+			"src"
+		});
+		Maid maidAndMan = this.GetMaidAndMan(tag_data.GetTagProperty("src").AsString());
+		if (maidAndMan == null)
+		{
+			return false;
+		}
+		float blendtime = 0f;
+		if (tag_data.IsValid("blendtime"))
+		{
+			blendtime = GameUty.MillisecondToSecond(tag_data.GetTagProperty("blendtime").AsInteger());
+		}
+		maidAndMan.IKDetach(blendtime);
 		return false;
 	}
 
@@ -1048,8 +1118,13 @@ public class BaseKagManager : IDisposable
 		{
 			return false;
 		}
-		string strMyHand = tag_data.GetTagProperty("srcbone").AsString();
+		string text = tag_data.GetTagProperty("srcbone").AsString();
 		string odogu_name = tag_data.GetTagProperty("odogu").AsString();
+		IKCtrlData ikdata = maidAndMan.IKCtrl.GetIKData(text);
+		if (!ikdata)
+		{
+			return false;
+		}
 		string tgt_name = string.Empty;
 		if (tag_data.IsValid("target"))
 		{
@@ -1068,12 +1143,524 @@ public class BaseKagManager : IDisposable
 		{
 			zero.z = tag_data.GetTagProperty("offsetz").AsReal();
 		}
-		IKMgrData.IKAttachType attach_type = IKMgrData.IKAttachType.Point;
+		IKCtrlData.IKAttachType ikattachType = IKCtrlData.IKAttachType.Point;
 		if (tag_data.IsValid("attach_type"))
 		{
-			attach_type = (IKMgrData.IKAttachType)Enum.Parse(typeof(IKMgrData.IKAttachType), tag_data.GetTagProperty("attach_type").AsString());
+			ikattachType = (IKCtrlData.IKAttachType)Enum.Parse(typeof(IKCtrlData.IKAttachType), tag_data.GetTagProperty("attach_type").AsString());
+		}
+		if (ikattachType == IKCtrlData.IKAttachType.NewPoint)
+		{
+			ikdata.OffsetWorld = tag_data.IsValid("offset_world");
+			ikdata.OffsetBone = tag_data.IsValid("offset_bone");
+		}
+		float blend_time = 0f;
+		if (tag_data.IsValid("blendtime"))
+		{
+			blend_time = GameUty.MillisecondToSecond(tag_data.GetTagProperty("blendtime").AsInteger());
+		}
+		bool do_animation = false;
+		if (tag_data.IsValid("do_animation"))
+		{
+			do_animation = true;
 		}
-		maidAndMan.IKTargetToOdogu(strMyHand, odogu_name, tgt_name, zero, attach_type);
+		maidAndMan.IKTargetToOdogu(text, odogu_name, tgt_name, zero, ikattachType, blend_time, do_animation, false);
+		return false;
+	}
+
+	public bool TagIKAttachIKBone(KagTagSupport tag_data)
+	{
+		this.CheckAbsolutelyNecessaryTag(tag_data, "ikattachbone", new string[]
+		{
+			"src",
+			"srcbone",
+			"target",
+			"targetbone"
+		});
+		Maid maidAndMan = this.GetMaidAndMan(tag_data.GetTagProperty("src").AsString());
+		Maid maidAndMan2 = this.GetMaidAndMan(tag_data.GetTagProperty("target").AsString());
+		if (maidAndMan == null || maidAndMan2 == null)
+		{
+			return false;
+		}
+		string text = tag_data.GetTagProperty("srcbone").AsString();
+		string bone_name = tag_data.GetTagProperty("targetbone").AsString();
+		IKCtrlData ikdata = maidAndMan.IKCtrl.GetIKData(text);
+		if (!ikdata)
+		{
+			return false;
+		}
+		Vector3 zero = Vector3.zero;
+		if (tag_data.IsValid("offsetx"))
+		{
+			zero.x = tag_data.GetTagProperty("offsetx").AsReal();
+		}
+		if (tag_data.IsValid("offsety"))
+		{
+			zero.y = tag_data.GetTagProperty("offsety").AsReal();
+		}
+		if (tag_data.IsValid("offsetz"))
+		{
+			zero.z = tag_data.GetTagProperty("offsetz").AsReal();
+		}
+		IKCtrlData.IKAttachType ikattachType = IKCtrlData.IKAttachType.Point;
+		if (tag_data.IsValid("attach_type"))
+		{
+			ikattachType = (IKCtrlData.IKAttachType)Enum.Parse(typeof(IKCtrlData.IKAttachType), tag_data.GetTagProperty("attach_type").AsString());
+		}
+		if (ikattachType == IKCtrlData.IKAttachType.NewPoint)
+		{
+			ikdata.OffsetWorld = tag_data.IsValid("offset_world");
+			ikdata.OffsetBone = tag_data.IsValid("offset_bone");
+		}
+		float blend_time = 0f;
+		if (tag_data.IsValid("blendtime"))
+		{
+			blend_time = GameUty.MillisecondToSecond(tag_data.GetTagProperty("blendtime").AsInteger());
+		}
+		bool do_animation = tag_data.IsValid("do_animation");
+		maidAndMan.IKTargetToIKBone(text, maidAndMan2, bone_name, zero, ikattachType, blend_time, do_animation, false);
+		return false;
+	}
+
+	public bool TagSetBodyPos(KagTagSupport tag_data)
+	{
+		this.CheckAbsolutelyNecessaryTag(tag_data, "setbodypos", new string[]
+		{
+			"src",
+			"srcbone",
+			"target",
+			"targetbone"
+		});
+		Maid maidAndMan = this.GetMaidAndMan(tag_data.GetTagProperty("src").AsString());
+		Maid maidAndMan2 = this.GetMaidAndMan(tag_data.GetTagProperty("target").AsString());
+		if (maidAndMan == null || maidAndMan2 == null)
+		{
+			return false;
+		}
+		string tgtbone_name = tag_data.GetTagProperty("targetbone").AsString();
+		Vector3 zero = Vector3.zero;
+		if (tag_data.IsValid("offsetx"))
+		{
+			zero.x = tag_data.GetTagProperty("offsetx").AsReal();
+		}
+		if (tag_data.IsValid("offsety"))
+		{
+			zero.y = tag_data.GetTagProperty("offsety").AsReal();
+		}
+		if (tag_data.IsValid("offsetz"))
+		{
+			zero.z = tag_data.GetTagProperty("offsetz").AsReal();
+		}
+		IKCtrlData.IKAttachType attach_type = IKCtrlData.IKAttachType.NewPoint;
+		float blend_time = 0f;
+		if (tag_data.IsValid("blendtime"))
+		{
+			blend_time = GameUty.MillisecondToSecond(tag_data.GetTagProperty("blendtime").AsInteger());
+		}
+		bool search_sm = tag_data.IsValid("Search_SM_Body");
+		maidAndMan.IKCtrl.BodyCtrlData.OffsetEnable.Recet();
+		if (tag_data.IsValid("disable"))
+		{
+			string[] array = tag_data.GetTagProperty("disable").AsString().Split(new char[]
+			{
+				','
+			});
+			int i = 0;
+			while (i < array.Length)
+			{
+				string text = array[i];
+				string text2 = text.ToLower();
+				if (text2 != null)
+				{
+					if (!(text2 == "x"))
+					{
+						if (!(text2 == "y"))
+						{
+							if (text2 == "z")
+							{
+								maidAndMan.IKCtrl.BodyCtrlData.OffsetEnable.EnableZ = false;
+							}
+						}
+						else
+						{
+							maidAndMan.IKCtrl.BodyCtrlData.OffsetEnable.EnableY = false;
+						}
+					}
+					else
+					{
+						maidAndMan.IKCtrl.BodyCtrlData.OffsetEnable.EnableX = false;
+					}
+				}
+				IL_238:
+				i++;
+				continue;
+				goto IL_238;
+			}
+		}
+		if (tag_data.IsValid("heighttype"))
+		{
+			BodyCtrlData.HeightFitType heightFit = (BodyCtrlData.HeightFitType)Enum.Parse(typeof(BodyCtrlData.HeightFitType), tag_data.GetTagProperty("heighttype").AsString());
+			maidAndMan.IKCtrl.BodyCtrlData.HeightFit = heightFit;
+		}
+		maidAndMan.IKCtrl.BodyCtrlData.PosBaseBone = maidAndMan.body0.GetBone(tag_data.GetTagProperty("srcbone").AsString());
+		maidAndMan.IKCtrl.BodyCtrlData.OffsetWorld = tag_data.IsValid("offset_world");
+		maidAndMan.IKCtrl.BodyCtrlData.OffsetBone = tag_data.IsValid("offset_bone");
+		maidAndMan.IKTargetToBone("体全体", maidAndMan2, tgtbone_name, zero, attach_type, search_sm, blend_time, false, false);
+		return false;
+	}
+
+	public bool TagIKCheckThrough(KagTagSupport tag_data)
+	{
+		this.CheckAbsolutelyNecessaryTag(tag_data, "ikcheckthrough", new string[]
+		{
+			"src",
+			"srcbone",
+			"checkobj"
+		});
+		Maid maidAndMan = this.GetMaidAndMan(tag_data.GetTagProperty("src").AsString());
+		if (maidAndMan == null)
+		{
+			return false;
+		}
+		string tag_name = tag_data.GetTagProperty("srcbone").AsString();
+		BipedIKCtrlData ikdata = maidAndMan.IKCtrl.GetIKData<BipedIKCtrlData>(tag_name);
+		if (tag_data.IsValid("correctbone"))
+		{
+			ikdata.ToCorrectBone = maidAndMan.body0.GetBone(tag_data.GetTagProperty("correctbone").AsString());
+		}
+		string text = tag_data.GetTagProperty("checkobj").AsString();
+		float weight = 1f;
+		if (tag_data.IsValid("bendweight"))
+		{
+			weight = tag_data.GetTagProperty("bendweight").AsReal();
+		}
+		BipedIKCtrlData.BorderCorrectData borderCorrectData;
+		if (text.Contains("Floor"))
+		{
+			borderCorrectData = ikdata.FloorCorrect;
+		}
+		else
+		{
+			if (!text.Contains("Wall"))
+			{
+				Debug.LogErrorFormat("{0}は定義できません", new object[]
+				{
+					text
+				});
+				return false;
+			}
+			borderCorrectData = ikdata.WallCorrect;
+		}
+		if (tag_data.IsValid("correcttype"))
+		{
+			ikdata.CorrectType = (BipedIKCtrlData.BorderCorrectType)Enum.Parse(typeof(BipedIKCtrlData.BorderCorrectType), tag_data.GetTagProperty("correcttype").AsString());
+			if (ikdata.CorrectType == BipedIKCtrlData.BorderCorrectType.HalfBody)
+			{
+				ikdata.RootEffector.positionWeight = 1f;
+			}
+		}
+		float blend_time = 0f;
+		if (tag_data.IsValid("blendtime"))
+		{
+			blend_time = GameUty.MillisecondToSecond(tag_data.GetTagProperty("blendtime").AsInteger());
+		}
+		ikdata.ForceIK = true;
+		ikdata.Chain.bendConstraint.weight = weight;
+		ikdata.SetIKSetting(IKCtrlData.IKAttachType.NewPoint, false, null, null, Vector3.zero, false, blend_time);
+		borderCorrectData.Enable = true;
+		borderCorrectData.Border = float.Parse(text.Split(new char[]
+		{
+			':'
+		})[1]);
+		return false;
+	}
+
+	public bool TagNextIKFlag(KagTagSupport tag_data)
+	{
+		this.CheckAbsolutelyNecessaryTag(tag_data, "nextikflag", new string[]
+		{
+			"src",
+			"srcbone",
+			"flagobj"
+		});
+		Maid maidAndMan = this.GetMaidAndMan(tag_data.GetTagProperty("src").AsString());
+		if (maidAndMan == null)
+		{
+			return false;
+		}
+		string tag_name = tag_data.GetTagProperty("srcbone").AsString();
+		IKCtrlData ik_data = maidAndMan.IKCtrl.GetIKData(tag_name);
+		if (!ik_data)
+		{
+			return false;
+		}
+		Action<IKCtrlData.IKAttachType> action = delegate(IKCtrlData.IKAttachType attach_type)
+		{
+			if (tag_data.IsValid("axis"))
+			{
+				ik_data.GetFlagData(attach_type).Axis = KasaiUtility.Vec3Parse(tag_data.GetTagProperty("axis").AsString(), ',');
+			}
+			if (tag_data.IsValid("value"))
+			{
+				ik_data.GetFlagData(attach_type).OnValue = tag_data.GetTagProperty("value").AsReal();
+			}
+			ik_data.GetFlagData(attach_type).BlendCtrlSelf = tag_data.IsValid("blendself");
+			string name = tag_data.GetTagProperty("flagobj").AsString();
+			ik_data.SetFlagTarget(attach_type, name);
+		};
+		if (tag_data.IsValid("attach_type"))
+		{
+			IKCtrlData.IKAttachType obj = (IKCtrlData.IKAttachType)Enum.Parse(typeof(IKCtrlData.IKAttachType), tag_data.GetTagProperty("attach_type").AsString());
+			action(obj);
+		}
+		else
+		{
+			action(IKCtrlData.IKAttachType.NewPoint);
+			action(IKCtrlData.IKAttachType.Rotate);
+		}
+		return false;
+	}
+
+	public bool TagIKAttachPointNext(KagTagSupport tag_data)
+	{
+		this.CheckAbsolutelyNecessaryTag(tag_data, "ikattachpointnext", new string[]
+		{
+			"src",
+			"srcbone",
+			"target",
+			"targetobj",
+			"targetpoint"
+		});
+		Maid maidAndMan = this.GetMaidAndMan(tag_data.GetTagProperty("src").AsString());
+		Maid maidAndMan2 = this.GetMaidAndMan(tag_data.GetTagProperty("target").AsString());
+		if (maidAndMan == null || maidAndMan2 == null)
+		{
+			return false;
+		}
+		string text = tag_data.GetTagProperty("srcbone").AsString();
+		string attachpoint_name = tag_data.GetTagProperty("targetpoint").AsString();
+		string tgt_name = tag_data.GetTagProperty("targetobj").AsString();
+		IKCtrlData ikdata = maidAndMan.IKCtrl.GetIKData(text);
+		if (!ikdata)
+		{
+			return false;
+		}
+		Vector3 zero = Vector3.zero;
+		if (tag_data.IsValid("offsetx"))
+		{
+			zero.x = tag_data.GetTagProperty("offsetx").AsReal();
+		}
+		if (tag_data.IsValid("offsety"))
+		{
+			zero.y = tag_data.GetTagProperty("offsety").AsReal();
+		}
+		if (tag_data.IsValid("offsetz"))
+		{
+			zero.z = tag_data.GetTagProperty("offsetz").AsReal();
+		}
+		IKCtrlData.IKAttachType ikattachType = IKCtrlData.IKAttachType.Point;
+		if (tag_data.IsValid("attach_type"))
+		{
+			ikattachType = (IKCtrlData.IKAttachType)Enum.Parse(typeof(IKCtrlData.IKAttachType), tag_data.GetTagProperty("attach_type").AsString());
+		}
+		if (ikattachType == IKCtrlData.IKAttachType.NewPoint)
+		{
+			ikdata.OffsetWorld = tag_data.IsValid("offset_world");
+			ikdata.OffsetBone = tag_data.IsValid("offset_bone");
+		}
+		string axisbone = string.Empty;
+		if (tag_data.IsValid("axisbone"))
+		{
+			axisbone = tag_data.GetTagProperty("axisbone").AsString();
+		}
+		float blend_time = 0f;
+		if (tag_data.IsValid("blendtime"))
+		{
+			blend_time = GameUty.MillisecondToSecond(tag_data.GetTagProperty("blendtime").AsInteger());
+		}
+		bool do_animation = false;
+		if (tag_data.IsValid("do_animation"))
+		{
+			do_animation = true;
+		}
+		maidAndMan.IKTargetToAttachPoint(text, maidAndMan2, tgt_name, attachpoint_name, zero, ikattachType, axisbone, blend_time, do_animation, true);
+		return false;
+	}
+
+	public bool TagIKAttachBoneNext(KagTagSupport tag_data)
+	{
+		this.CheckAbsolutelyNecessaryTag(tag_data, "ikattachbonenext", new string[]
+		{
+			"src",
+			"srcbone",
+			"target",
+			"targetbone"
+		});
+		Maid maidAndMan = this.GetMaidAndMan(tag_data.GetTagProperty("src").AsString());
+		Maid maidAndMan2 = this.GetMaidAndMan(tag_data.GetTagProperty("target").AsString());
+		if (maidAndMan == null || maidAndMan2 == null)
+		{
+			return false;
+		}
+		string text = tag_data.GetTagProperty("srcbone").AsString();
+		string tgtbone_name = tag_data.GetTagProperty("targetbone").AsString();
+		IKCtrlData ikdata = maidAndMan.IKCtrl.GetIKData(text);
+		if (!ikdata)
+		{
+			return false;
+		}
+		bool search_sm = tag_data.IsValid("Search_SM_Body");
+		Vector3 zero = Vector3.zero;
+		if (tag_data.IsValid("offsetx"))
+		{
+			zero.x = tag_data.GetTagProperty("offsetx").AsReal();
+		}
+		if (tag_data.IsValid("offsety"))
+		{
+			zero.y = tag_data.GetTagProperty("offsety").AsReal();
+		}
+		if (tag_data.IsValid("offsetz"))
+		{
+			zero.z = tag_data.GetTagProperty("offsetz").AsReal();
+		}
+		IKCtrlData.IKAttachType ikattachType = IKCtrlData.IKAttachType.Point;
+		if (tag_data.IsValid("attach_type"))
+		{
+			ikattachType = (IKCtrlData.IKAttachType)Enum.Parse(typeof(IKCtrlData.IKAttachType), tag_data.GetTagProperty("attach_type").AsString());
+		}
+		if (ikattachType == IKCtrlData.IKAttachType.NewPoint)
+		{
+			ikdata.OffsetWorld = tag_data.IsValid("offset_world");
+			ikdata.OffsetBone = tag_data.IsValid("offset_bone");
+		}
+		float blend_time = 0f;
+		if (tag_data.IsValid("blendtime"))
+		{
+			blend_time = GameUty.MillisecondToSecond(tag_data.GetTagProperty("blendtime").AsInteger());
+		}
+		bool do_animation = false;
+		if (tag_data.IsValid("do_animation"))
+		{
+			do_animation = true;
+		}
+		maidAndMan.IKTargetToBone(text, maidAndMan2, tgtbone_name, zero, ikattachType, search_sm, blend_time, do_animation, true);
+		return false;
+	}
+
+	public bool TagIKAttachOdoguNext(KagTagSupport tag_data)
+	{
+		this.CheckAbsolutelyNecessaryTag(tag_data, "ikattachodogunext", new string[]
+		{
+			"src",
+			"srcbone",
+			"odogu"
+		});
+		Maid maidAndMan = this.GetMaidAndMan(tag_data.GetTagProperty("src").AsString());
+		if (!maidAndMan)
+		{
+			return false;
+		}
+		string text = tag_data.GetTagProperty("srcbone").AsString();
+		string odogu_name = tag_data.GetTagProperty("odogu").AsString();
+		IKCtrlData ikdata = maidAndMan.IKCtrl.GetIKData(text);
+		if (!ikdata)
+		{
+			return false;
+		}
+		string tgt_name = string.Empty;
+		if (tag_data.IsValid("target"))
+		{
+			tgt_name = tag_data.GetTagProperty("target").AsString();
+		}
+		Vector3 zero = Vector3.zero;
+		if (tag_data.IsValid("offsetx"))
+		{
+			zero.x = tag_data.GetTagProperty("offsetx").AsReal();
+		}
+		if (tag_data.IsValid("offsety"))
+		{
+			zero.y = tag_data.GetTagProperty("offsety").AsReal();
+		}
+		if (tag_data.IsValid("offsetz"))
+		{
+			zero.z = tag_data.GetTagProperty("offsetz").AsReal();
+		}
+		IKCtrlData.IKAttachType ikattachType = IKCtrlData.IKAttachType.Point;
+		if (tag_data.IsValid("attach_type"))
+		{
+			ikattachType = (IKCtrlData.IKAttachType)Enum.Parse(typeof(IKCtrlData.IKAttachType), tag_data.GetTagProperty("attach_type").AsString());
+		}
+		if (ikattachType == IKCtrlData.IKAttachType.NewPoint)
+		{
+			ikdata.OffsetWorld = tag_data.IsValid("offset_world");
+			ikdata.OffsetBone = tag_data.IsValid("offset_bone");
+		}
+		float blend_time = 0f;
+		if (tag_data.IsValid("blendtime"))
+		{
+			blend_time = GameUty.MillisecondToSecond(tag_data.GetTagProperty("blendtime").AsInteger());
+		}
+		bool do_animation = false;
+		if (tag_data.IsValid("do_animation"))
+		{
+			do_animation = true;
+		}
+		maidAndMan.IKTargetToOdogu(text, odogu_name, tgt_name, zero, ikattachType, blend_time, do_animation, true);
+		return false;
+	}
+
+	public bool TagIKAttachIKBoneNext(KagTagSupport tag_data)
+	{
+		this.CheckAbsolutelyNecessaryTag(tag_data, "ikattachbonenext", new string[]
+		{
+			"src",
+			"srcbone",
+			"target",
+			"targetbone"
+		});
+		Maid maidAndMan = this.GetMaidAndMan(tag_data.GetTagProperty("src").AsString());
+		Maid maidAndMan2 = this.GetMaidAndMan(tag_data.GetTagProperty("target").AsString());
+		if (maidAndMan == null || maidAndMan2 == null)
+		{
+			return false;
+		}
+		string text = tag_data.GetTagProperty("srcbone").AsString();
+		string bone_name = tag_data.GetTagProperty("targetbone").AsString();
+		IKCtrlData ikdata = maidAndMan.IKCtrl.GetIKData(text);
+		if (!ikdata)
+		{
+			return false;
+		}
+		Vector3 zero = Vector3.zero;
+		if (tag_data.IsValid("offsetx"))
+		{
+			zero.x = tag_data.GetTagProperty("offsetx").AsReal();
+		}
+		if (tag_data.IsValid("offsety"))
+		{
+			zero.y = tag_data.GetTagProperty("offsety").AsReal();
+		}
+		if (tag_data.IsValid("offsetz"))
+		{
+			zero.z = tag_data.GetTagProperty("offsetz").AsReal();
+		}
+		IKCtrlData.IKAttachType ikattachType = IKCtrlData.IKAttachType.Point;
+		if (tag_data.IsValid("attach_type"))
+		{
+			ikattachType = (IKCtrlData.IKAttachType)Enum.Parse(typeof(IKCtrlData.IKAttachType), tag_data.GetTagProperty("attach_type").AsString());
+		}
+		if (ikattachType == IKCtrlData.IKAttachType.NewPoint)
+		{
+			ikdata.OffsetWorld = tag_data.IsValid("offset_world");
+			ikdata.OffsetBone = tag_data.IsValid("offset_bone");
+		}
+		float blend_time = 0f;
+		if (tag_data.IsValid("blendtime"))
+		{
+			blend_time = GameUty.MillisecondToSecond(tag_data.GetTagProperty("blendtime").AsInteger());
+		}
+		bool do_animation = tag_data.IsValid("do_animation");
+		maidAndMan.IKTargetToIKBone(text, maidAndMan2, bone_name, zero, ikattachType, blend_time, do_animation, true);
 		return false;
 	}
 
@@ -3871,6 +4458,15 @@ public class BaseKagManager : IDisposable
 
 	public bool TagLoadSubtitleFile(KagTagSupport tag_data)
 	{
+		this.CheckAbsolutelyNecessaryTag(tag_data, "loadsubtitlefile", new string[]
+		{
+			"file"
+		});
+		string fileName = Path.ChangeExtension(tag_data.GetTagProperty("file").AsString(), ".ks");
+		SubtitleMovieManager globalInstance = SubtitleMovieManager.GetGlobalInstance(false);
+		globalInstance.autoDestroy = true;
+		globalInstance.LoadSubtitleScriptFile(fileName);
+		globalInstance.Play();
 		return false;
 	}
 
@@ -3882,11 +4478,36 @@ public class BaseKagManager : IDisposable
 
 	public bool TagSubtitleDisplayForPlayVoice(KagTagSupport tag_data)
 	{
+		this.CheckAbsolutelyNecessaryTag(tag_data, "subtitledisplayforplayvoice", new string[]
+		{
+			"text"
+		});
+		this.subtitle_data.text = tag_data.GetTagProperty("text").AsString();
+		this.subtitle_data.displayTime = -1;
+		if (tag_data.IsValid("addtime"))
+		{
+			this.subtitle_data.addDisplayTime = tag_data.GetTagProperty("addtime").AsInteger();
+		}
+		else if (tag_data.IsValid("wait"))
+		{
+			this.subtitle_data.displayTime = tag_data.GetTagProperty("wait").AsInteger();
+		}
+		this.subtitle_data.casinoType = tag_data.IsValid("mode_c");
 		return false;
 	}
 
 	public bool TagSubtitleDisplay(KagTagSupport tag_data)
 	{
+		this.CheckAbsolutelyNecessaryTag(tag_data, "subtitledisplay", new string[]
+		{
+			"text",
+			"time"
+		});
+		string text = tag_data.GetTagProperty("text").AsString();
+		int displayTime = int.Parse(tag_data.GetTagProperty("time").AsString());
+		SubtitleMovieManager globalInstance = SubtitleMovieManager.GetGlobalInstance(false);
+		globalInstance.autoDestroy = true;
+		globalInstance.Play(text, displayTime);
 		return false;
 	}
 
@@ -4145,7 +4766,7 @@ public class BaseKagManager : IDisposable
 	public void Serialize(BinaryWriter binary)
 	{
 		binary.Write("CM3D2_KAG");
-		binary.Write(1160);
+		binary.Write(1170);
 		byte[] array = this.kag_.Serialize();
 		int value = array.Length;
 		binary.Write(value);

+ 4 - 4
Assembly-CSharp/BasePanelMgr.cs

@@ -172,7 +172,7 @@ public abstract class BasePanelMgr : MonoBehaviour
 		tweenAlpha.from = 0f;
 		tweenAlpha.to = 1f;
 		tweenAlpha.duration = this.durationToFadeIn;
-		EventDelegate.Set(tweenAlpha.onFinished, delegate
+		EventDelegate.Set(tweenAlpha.onFinished, delegate()
 		{
 			this.ChangeFadeState(BasePanelMgr.FadeState.EndFadeIn);
 			this.AfterFadeIn();
@@ -224,7 +224,7 @@ public abstract class BasePanelMgr : MonoBehaviour
 			return;
 		}
 		TweenAlpha tweenAlpha = TweenAlpha.Begin(this.fadeTargetPanel, this.durationToFadeOut, 0f);
-		EventDelegate.Set(tweenAlpha.onFinished, delegate
+		EventDelegate.Set(tweenAlpha.onFinished, delegate()
 		{
 			this.fadeTargetPanel.SetActive(false);
 			this.ChangeFadeState(BasePanelMgr.FadeState.EndFadeOut);
@@ -237,7 +237,7 @@ public abstract class BasePanelMgr : MonoBehaviour
 		this.BeforeFadeOut();
 		this.ChangeFadeState(BasePanelMgr.FadeState.StartFadeOut);
 		TweenAlpha tweenAlpha = TweenAlpha.Begin(this.fadeTargetPanel, this.durationToFadeOut, 0f);
-		EventDelegate.Set(tweenAlpha.onFinished, delegate
+		EventDelegate.Set(tweenAlpha.onFinished, delegate()
 		{
 			this.fadeTargetPanel.SetActive(false);
 			this.ChangeFadeState(BasePanelMgr.FadeState.EndFadeOut);
@@ -251,7 +251,7 @@ public abstract class BasePanelMgr : MonoBehaviour
 		this.BeforeFadeOut();
 		this.ChangeFadeState(BasePanelMgr.FadeState.StartFadeOut);
 		TweenAlpha tweenAlpha = TweenAlpha.Begin(this.fadeTargetPanel, this.durationToFadeOut, 0f);
-		EventDelegate.Set(tweenAlpha.onFinished, delegate
+		EventDelegate.Set(tweenAlpha.onFinished, delegate()
 		{
 			this.fadeTargetPanel.SetActive(false);
 			this.ChangeFadeState(BasePanelMgr.FadeState.EndFadeOut);

+ 1 - 1
Assembly-CSharp/BasePhotoCustomObject.cs

@@ -173,7 +173,7 @@ public abstract class BasePhotoCustomObject : MonoBehaviour, IComparable<BasePho
 			using (BinaryWriter binaryWriter = new BinaryWriter(memoryStream))
 			{
 				binaryWriter.Write("COM3D2_PHOTO_CUSTOM_OBJECT");
-				binaryWriter.Write(1160);
+				binaryWriter.Write(1170);
 				binaryWriter.Write(this.type.ToString());
 				binaryWriter.Write(this.scale_);
 				binaryWriter.Write(this.enabledTextureColor_);

+ 32 - 7
Assembly-CSharp/BasePhotoWindow.cs

@@ -1,5 +1,6 @@
 using System;
 using System.Collections.Generic;
+using I2.Loc;
 using UnityEngine;
 
 public abstract class BasePhotoWindow : MonoBehaviour
@@ -19,7 +20,11 @@ public abstract class BasePhotoWindow : MonoBehaviour
 		UTY.GetChildObject(base.gameObject, "Parent/BG2", false).transform.localPosition = new Vector3(-100f, (float)((num2 - 100) * -1), 0f);
 		UTY.GetChildObject(base.gameObject, "Parent/BG/TitleBar", false).GetComponent<UIWidget>().width = num;
 		UTY.GetChildObject(base.gameObject, "Parent/BG/TitleBar/Btn", false).transform.localPosition = new Vector3((float)(num - 10), -10f, 0f);
-		(this.windowTitle = UTY.GetChildObject(base.gameObject, "Parent/BG/TitleBar/Text", false).GetComponent<UILabel>()).text = this.InitTitle;
+		this.windowTitle = UTY.GetChildObject(base.gameObject, "Parent/BG/TitleBar/Text", false).GetComponent<UILabel>();
+		if (this.windowTitle.GetComponent<Localize>() == null)
+		{
+			this.windowTitle.text = this.InitTitle;
+		}
 	}
 
 	public virtual void SetWindowTitle(string title)
@@ -27,6 +32,15 @@ public abstract class BasePhotoWindow : MonoBehaviour
 		this.windowTitle.text = title;
 	}
 
+	public virtual void SetWindowTitleFromLocalizeTerm(string termName)
+	{
+		Localize component = this.windowTitle.gameObject.GetComponent<Localize>();
+		if (component != null)
+		{
+			component.SetTerm(termName);
+		}
+	}
+
 	public virtual void Awake()
 	{
 		GameObject gameObject = GameObject.Find("/UI Root");
@@ -44,10 +58,10 @@ public abstract class BasePhotoWindow : MonoBehaviour
 		}
 		this.title_bar_label_ = UTY.GetChildObject(childObject, "Text", false).GetComponent<UILabel>();
 		Dictionary<BasePhotoWindow.BtnType, string> dictionary = new Dictionary<BasePhotoWindow.BtnType, string>();
-		dictionary.Add(BasePhotoWindow.BtnType.Help, "ヘルプ");
-		dictionary.Add(BasePhotoWindow.BtnType.Min, "最小化");
-		dictionary.Add(BasePhotoWindow.BtnType.Reset, "UI位置初期化");
-		dictionary.Add(BasePhotoWindow.BtnType.End, "閉じる");
+		dictionary.Add(BasePhotoWindow.BtnType.Help, "System/ヘルプ");
+		dictionary.Add(BasePhotoWindow.BtnType.Min, "System/最小化");
+		dictionary.Add(BasePhotoWindow.BtnType.Reset, "System/UI位置初期化");
+		dictionary.Add(BasePhotoWindow.BtnType.End, "System/閉じる");
 		this.btn_dic_ = new Dictionary<BasePhotoWindow.BtnType, KeyValuePair<UIButton, List<Action>>>();
 		for (int i = 0; i <= 3; i++)
 		{
@@ -221,6 +235,14 @@ public abstract class BasePhotoWindow : MonoBehaviour
 		}
 	}
 
+	public string uniqueName
+	{
+		get
+		{
+			return this.uniqueWindowName;
+		}
+	}
+
 	public int depth
 	{
 		get
@@ -389,7 +411,7 @@ public abstract class BasePhotoWindow : MonoBehaviour
 	protected void OnBtnMouseHoverIn(string text)
 	{
 		MouseExposition @object = MouseExposition.GetObject();
-		@object.text = text;
+		@object.textFromLanguageTerm = text;
 	}
 
 	protected void OnMouseHoverOut()
@@ -400,6 +422,9 @@ public abstract class BasePhotoWindow : MonoBehaviour
 
 	public string InitTitle = "キャラクター";
 
+	[SerializeField]
+	private string uniqueWindowName;
+
 	public Vector2 WindowSize;
 
 	public bool InitVisible = true;
@@ -416,7 +441,7 @@ public abstract class BasePhotoWindow : MonoBehaviour
 
 	protected Camera uiCamera;
 
-	protected UILabel title_bar_label_;
+	private UILabel title_bar_label_;
 
 	protected UIPanel panel_;
 

+ 3 - 3
Assembly-CSharp/BasePhotoWindowManager.cs

@@ -72,11 +72,11 @@ public abstract class BasePhotoWindowManager : MonoBehaviour
 		return true;
 	}
 
-	public BasePhotoWindow GetWindow(string title)
+	public BasePhotoWindow GetWindow(string uniqueWindowName)
 	{
 		foreach (KeyValuePair<BasePhotoWindow, int> keyValuePair in this.window_dic_)
 		{
-			if (keyValuePair.Key.title == title)
+			if (keyValuePair.Key.uniqueName == uniqueWindowName)
 			{
 				return keyValuePair.Key;
 			}
@@ -153,7 +153,7 @@ public abstract class BasePhotoWindowManager : MonoBehaviour
 			using (BinaryWriter binaryWriter = new BinaryWriter(memoryStream))
 			{
 				binaryWriter.Write(this.save_header_uidata);
-				binaryWriter.Write(1160);
+				binaryWriter.Write(1170);
 				binaryWriter.Write(this.save_data_.Count);
 				foreach (KeyValuePair<string, Dictionary<string, Dictionary<string, string>>> keyValuePair3 in this.save_data_)
 				{

+ 1 - 1
Assembly-CSharp/BetSetUI.cs

@@ -100,7 +100,7 @@ public class BetSetUI : MonoBehaviour
 			{
 				if (flag)
 				{
-					SystemDialog.OnClick f_dgOk = delegate
+					SystemDialog.OnClick f_dgOk = delegate()
 					{
 						GameMain.Instance.SysDlg.Show(warning_message, SystemDialog.TYPE.OK_CANCEL, new SystemDialog.OnClick(this.BetFadeOut), null);
 					};

+ 214 - 0
Assembly-CSharp/BipedIKCtrlData.cs

@@ -0,0 +1,214 @@
+using System;
+using System.Linq;
+using RootMotion.FinalIK;
+using UnityEngine;
+
+[Serializable]
+public class BipedIKCtrlData : IKCtrlData
+{
+	public BipedIKCtrlData(IKEffector effector, FBIKChain chain, IKMappingLimb ik_mapping, FullBodyIKCtrl ik_ctrl, Transform tgt_bone, IKEffector sub_effector, bool use_old = false) : base(ik_ctrl, tgt_bone, use_old, false)
+	{
+		this.Effector = effector;
+		this.Effector.target = base.IKTarget;
+		this.Chain = chain;
+		this.IKMapping = ik_mapping;
+		this.RootEffector = sub_effector;
+		Transform transform = this.CreateSubTarget("BendBone");
+		this.m_BoneBendGoal = new IKCtrlData.BoneTgtPair(this.Chain.bendConstraint.bone2, transform);
+		this.Chain.bendConstraint.bendGoal = transform;
+		this.Chain.bendConstraint.weight = 1f;
+		this.RootEffector.target = this.CreateSubTarget("ChainRootBone");
+		this.m_RootBoneTgtPair = new IKCtrlData.BoneTgtPair(this.RootEffector.bone, this.RootEffector.target);
+		this.m_ForceIKEnable = true;
+		this.ToCorrectBone = base.TargetBone;
+	}
+
+	public Transform BendBone
+	{
+		get
+		{
+			return this.m_BoneBendGoal.Bone;
+		}
+	}
+
+	public override Transform[] ChainBones
+	{
+		get
+		{
+			return (from node in this.Chain.nodes
+			select node.transform).ToArray<Transform>();
+		}
+	}
+
+	public override float PositionWeight
+	{
+		get
+		{
+			return this.Effector.positionWeight;
+		}
+		set
+		{
+			this.Effector.positionWeight = value;
+		}
+	}
+
+	public override float RotationWeight
+	{
+		get
+		{
+			return this.Effector.rotationWeight;
+		}
+		set
+		{
+			this.Effector.rotationWeight = value;
+		}
+	}
+
+	private Transform CreateSubTarget(string name)
+	{
+		Transform transform = base.IKTarget.parent.Find(name);
+		if (!transform)
+		{
+			transform = new GameObject(name).transform;
+			transform.SetParent(base.IKTarget.parent, false);
+		}
+		return transform;
+	}
+
+	private void CheckBorder(BipedIKCtrlData.BorderCorrectData correctData)
+	{
+		if (!correctData.Enable)
+		{
+			return;
+		}
+		float num = 0f;
+		Vector3 check_pos = this.ToCorrectBone.position + this.MyIKCtrl.BodyCtrlData.BodyOffset;
+		if (correctData.CheckBorder(check_pos, ref num))
+		{
+			switch (this.CorrectType)
+			{
+			case BipedIKCtrlData.BorderCorrectType.Bone:
+				base.IKTarget.position += correctData.Axis * num;
+				this.m_BoneBendGoal.Target.position += correctData.Axis * num;
+				break;
+			case BipedIKCtrlData.BorderCorrectType.HalfBody:
+				base.IKTarget.position += correctData.Axis * num;
+				this.m_BoneBendGoal.Target.position += correctData.Axis * num;
+				this.m_RootBoneTgtPair.Target.position += correctData.Axis * num;
+				break;
+			case BipedIKCtrlData.BorderCorrectType.Chara:
+				if (correctData.GetValue(this.MyIKCtrl.BodyCtrlData.AddOffset) < num)
+				{
+					this.MyIKCtrl.BodyCtrlData.SetAddOffset(correctData.Axis * num);
+				}
+				break;
+			case BipedIKCtrlData.BorderCorrectType.All:
+				if (correctData.GetValue(this.MyIKCtrl.BodyCtrlData.AllOffset) < num)
+				{
+					this.MyIKCtrl.BodyCtrlData.SetAllOffset(correctData.Axis * num);
+				}
+				break;
+			}
+		}
+	}
+
+	public override void ApplyIKSetting()
+	{
+		this.m_BoneBendGoal.Cppy();
+		this.m_RootBoneTgtPair.Cppy();
+		base.ApplyIKSetting();
+		if (base.ForceIK)
+		{
+			this.CheckBorder(this.WallCorrect);
+			this.CheckBorder(this.FloorCorrect);
+		}
+	}
+
+	public override void Detach(IKCtrlData.IKAttachType attachType, float blend_time = 0f)
+	{
+		base.Detach(attachType, blend_time);
+		this.Chain.bendConstraint.weight = 1f;
+		this.RootEffector.positionWeight = 0f;
+		this.RootEffector.rotationWeight = 0f;
+		this.m_BoneBendGoal.PosOffset = Vector3.zero;
+		this.m_RootBoneTgtPair.PosOffset = Vector3.zero;
+		this.WallCorrect.Reset();
+		this.FloorCorrect.Reset();
+		this.ToCorrectBone = base.TargetBone;
+		this.CorrectType = BipedIKCtrlData.BorderCorrectType.Bone;
+	}
+
+	public override void SetTargetOffset(Vector3 offset, bool inverse = false)
+	{
+		if (base.IsIKExec)
+		{
+			return;
+		}
+		base.SetTargetOffset(offset, inverse);
+		this.m_BoneBendGoal.PosOffset = this.m_OffsetEnable.GetEnablePos(offset, inverse);
+		this.m_RootBoneTgtPair.PosOffset = this.m_OffsetEnable.GetEnablePos(offset, inverse);
+	}
+
+	private IKCtrlData.BoneTgtPair m_BoneBendGoal;
+
+	private IKCtrlData.BoneTgtPair m_RootBoneTgtPair;
+
+	[Header("壁・床補正情報")]
+	public BipedIKCtrlData.BorderCorrectData WallCorrect = new BipedIKCtrlData.BorderCorrectData(Vector3.forward);
+
+	public BipedIKCtrlData.BorderCorrectData FloorCorrect = new BipedIKCtrlData.BorderCorrectData(Vector3.up);
+
+	public BipedIKCtrlData.BorderCorrectType CorrectType;
+
+	public Transform ToCorrectBone;
+
+	public readonly IKEffector Effector;
+
+	public readonly FBIKChain Chain;
+
+	public readonly IKMappingLimb IKMapping;
+
+	public readonly IKEffector RootEffector;
+
+	public enum BorderCorrectType
+	{
+		Bone,
+		HalfBody,
+		Chara,
+		All
+	}
+
+	[Serializable]
+	public class BorderCorrectData
+	{
+		public BorderCorrectData(Vector3 axis)
+		{
+			this.Axis = axis;
+		}
+
+		public void Reset()
+		{
+			this.Border = 0f;
+			this.Enable = false;
+		}
+
+		public float GetValue(Vector3 pos)
+		{
+			pos = KasaiUtility.Vec3Multiply(pos, this.Axis);
+			return pos.magnitude * Vector3.Dot(this.Axis, pos.normalized);
+		}
+
+		public bool CheckBorder(Vector3 check_pos, ref float diff)
+		{
+			float value = this.GetValue(check_pos);
+			diff = this.Border - value;
+			return value < this.Border;
+		}
+
+		public float Border;
+
+		public bool Enable;
+
+		public Vector3 Axis;
+	}
+}

+ 2 - 2
Assembly-CSharp/BjMotionControl.cs

@@ -127,9 +127,9 @@ public class BjMotionControl : MonoBehaviour
 	{
 		float timer = 0f;
 		int wait_time = UnityEngine.Random.Range(this.m_WaitMinTime, this.m_WaitMaxTime);
-		Action end_action = delegate
+		Action end_action = delegate()
 		{
-			this.$this.m_DoLeaveMotion = true;
+			this.m_DoLeaveMotion = true;
 		};
 		for (;;)
 		{

+ 13 - 13
Assembly-CSharp/BlackjackGame.cs

@@ -76,12 +76,12 @@ public class BlackjackGame : MonoBehaviour
 			ExChangeUI.Instance.TextUIUpdate();
 		}
 		bool need_costumeload = CasinoDataMgr.Instance.DealerMaid && CasinoDataMgr.Instance.CurrentCasino.typeCostume != Facility.CostumeType.Heroine;
-		Action load_end = delegate
+		Action load_end = delegate()
 		{
 			BjMotionControl.Instance.Init();
-			this.$this.m_ChaOffsetRot = GameMain.Instance.CharacterMgr.GetCharaAllOfsetRot();
-			GameMain.Instance.CharacterMgr.CharaAllOfsetRot(this.$this.m_DealerMaidAngle);
-			this.$this.m_UIRaycaster.enabled = true;
+			this.m_ChaOffsetRot = GameMain.Instance.CharacterMgr.GetCharaAllOfsetRot();
+			GameMain.Instance.CharacterMgr.CharaAllOfsetRot(this.m_DealerMaidAngle);
+			this.m_UIRaycaster.enabled = true;
 			GameMain.Instance.MainCamera.FadeIn(0.5f, false, null, false, true, default(Color));
 		};
 		while (GameMain.Instance.CharacterMgr.IsBusy())
@@ -166,7 +166,7 @@ public class BlackjackGame : MonoBehaviour
 		ActionDirect.Instance.ActionStart(Translations.Instance.HIT);
 		UIStates.Instance.SetEnabled(false);
 		BjMotionControl.Instance.DoLeaveMotion = false;
-		Action end_action = delegate
+		Action end_action = delegate()
 		{
 			BjMotionControl.Instance.PlayMotion(BjMotionControl.Instance.GetHaihuMotion(), new Action(this.FinishedDealing), false, false);
 			if (!BjPlayer.Instance.IsPlacingBet())
@@ -183,10 +183,10 @@ public class BlackjackGame : MonoBehaviour
 		ActionDirect.Instance.ActionStart(Translations.Instance.DOUBLE_DOWN);
 		UIStates.Instance.SetEnabled(false);
 		BjMotionControl.Instance.DoLeaveMotion = false;
-		Action end_action = delegate
+		Action end_action = delegate()
 		{
 			ChipManager instance = ChipManager.Instance;
-			instance.StackEndCallBack = (Action)Delegate.Combine(instance.StackEndCallBack, new Action(delegate
+			instance.StackEndCallBack = (Action)Delegate.Combine(instance.StackEndCallBack, new Action(delegate()
 			{
 				BjVoiceMgr.Instance.PlayVoice("ダブルダウンオープン", new Action(this.DoDoubleDown), 0f);
 			}));
@@ -212,7 +212,7 @@ public class BlackjackGame : MonoBehaviour
 		ActionDirect.Instance.ActionStart(Translations.Instance.STAND);
 		UIStates.Instance.SetEnabled(false);
 		BjMotionControl.Instance.DoLeaveMotion = false;
-		Action end_action = delegate
+		Action end_action = delegate()
 		{
 			if (!BjPlayer.Instance.IsSplitGame())
 			{
@@ -234,10 +234,10 @@ public class BlackjackGame : MonoBehaviour
 		ActionDirect.Instance.ActionStart(Translations.Instance.SPLIT);
 		BjMotionControl.Instance.DoLeaveMotion = false;
 		UIStates.Instance.SetEnabled(false);
-		Action end_action = delegate
+		Action end_action = delegate()
 		{
 			ChipManager instance = ChipManager.Instance;
-			instance.StackEndCallBack = (Action)Delegate.Combine(instance.StackEndCallBack, new Action(delegate
+			instance.StackEndCallBack = (Action)Delegate.Combine(instance.StackEndCallBack, new Action(delegate()
 			{
 				GameMain.Instance.MainCamera.FadeOut(0.5f, false, new CameraMain.dgOnCompleteFade(this.SplitFadeIn), false, default(Color));
 			}));
@@ -270,7 +270,7 @@ public class BlackjackGame : MonoBehaviour
 		ActionDirect.Instance.ActionStart(Translations.Instance.SURRENDER);
 		UIStates.Instance.SetEnabled(false);
 		BjMotionControl.Instance.DoLeaveMotion = false;
-		Action end_action = delegate
+		Action end_action = delegate()
 		{
 			BjPlayer.Instance.Surrender();
 			this.CheckIfEnded();
@@ -295,7 +295,7 @@ public class BlackjackGame : MonoBehaviour
 		BjMotionControl.Instance.SetWaitMotion(BjMotionControl.WaitType.Normal);
 		if (Dealer.Instance.HasFacedownCard())
 		{
-			Action end_call = delegate
+			Action end_call = delegate()
 			{
 				BjMotionControl.Instance.PlayMotion("*カード開く", new Action(this.FinishedAnimating), false, false);
 				this.m_DealQueue.CardOpen(Dealer.Instance.GetFacedownCard());
@@ -356,7 +356,7 @@ public class BlackjackGame : MonoBehaviour
 		else if (BjPlayer.Instance.IsSplitGame() && BjPlayer.Instance.HandIsEnded() && BjPlayer.Instance.CurrentHand == BjPlayer.Instance.splitHand)
 		{
 			bool is_bust = BjPlayer.Instance.CurrentHand.IsBust();
-			Action action = delegate
+			Action action = delegate()
 			{
 				BjPlayer.Instance.NextHand();
 				BjMotionControl.Instance.PlayMotion(BjMotionControl.Instance.GetHaihuMotion(), new Action(this.FinishedDealing), is_bust, true);

+ 202 - 0
Assembly-CSharp/BodyCtrlData.cs

@@ -0,0 +1,202 @@
+using System;
+using UnityEngine;
+
+[Serializable]
+public class BodyCtrlData : IKCtrlData
+{
+	public BodyCtrlData(FullBodyIKCtrl ik_ctrl) : base(ik_ctrl, ik_ctrl.GetIKBone(IKManager.BoneType.Root), false, false)
+	{
+		this.PosBaseBone = base.TargetBone;
+		this.m_ForceIKEnable = false;
+	}
+
+	public Vector3 OrijinMaidPos { get; private set; }
+
+	public Vector3 OrijinAllPos { get; private set; }
+
+	public bool DoAllOffset { get; private set; }
+
+	public Vector3 BodyOffset
+	{
+		get
+		{
+			return this.m_PosOffset + this.m_AddOffset;
+		}
+	}
+
+	public Vector3 AllOffset
+	{
+		get
+		{
+			return this.m_AllOffset;
+		}
+	}
+
+	public Vector3 AddOffset
+	{
+		get
+		{
+			return this.m_AddOffset;
+		}
+	}
+
+	public override Transform[] ChainBones
+	{
+		get
+		{
+			return new Transform[]
+			{
+				this.MyIKCtrl.GetIKBone(IKManager.BoneType.Root)
+			};
+		}
+	}
+
+	public override float PositionWeight { get; set; }
+
+	public override float RotationWeight { get; set; }
+
+	private bool CheckDoIK()
+	{
+		if (!base.IsIKExec)
+		{
+			return false;
+		}
+		if (this.HeightFit == BodyCtrlData.HeightFitType.None)
+		{
+			return true;
+		}
+		int value = this.MyIKCtrl.TgtMaid.GetProp(MPN.sintyou).value;
+		int value2 = base.PointIK.TgtMaid.GetProp(MPN.sintyou).value;
+		if (this.HeightFit == BodyCtrlData.HeightFitType.Higher)
+		{
+			return value < value2;
+		}
+		return value > value2;
+	}
+
+	protected override void SetTargetTransform(IKCtrlData.IKParam data, Vector3 pos, Quaternion rot)
+	{
+		if (!data.IsPointAttach || !this.CheckDoIK())
+		{
+			return;
+		}
+		if (data.FirstFrame && !data.BlendNow)
+		{
+			this.m_FirstBonePos = this.PosBaseBone.position;
+		}
+		Vector3 b = (!data.BlendNow) ? this.m_FirstBonePos : this.PosBaseBone.position;
+		pos = ((!data.BlendNow) ? this.m_FirstTgtPosRot.pos : pos);
+		if (!data.DoSetOffset)
+		{
+			if (this.OffsetWorld)
+			{
+				base.IKTarget.position = pos + data.TgtOffset;
+			}
+			else if (this.OffsetBone)
+			{
+				KasaiUtility.DrawAxis(pos, base.TargetBone.rotation, 0.0625f);
+				base.IKTarget.position = pos + base.TargetBone.rotation * data.TgtOffset;
+			}
+			else
+			{
+				base.IKTarget.position = pos + rot * data.TgtOffset;
+			}
+			Debug.DrawLine(pos, base.IKTarget.position, Color.white);
+		}
+		Vector3 enablePos = this.m_OffsetEnable.GetEnablePos(base.IKTarget.position - b, false);
+		if (data.BlendType == IKCtrlData.IKBlendType.IK_To_IK)
+		{
+			this.m_PosOffset += Vector3.Lerp(this.m_lastPosOffset, enablePos, data.BlendWeight);
+		}
+		else if (data.BlendType == IKCtrlData.IKBlendType.IK_To_Detach)
+		{
+			this.m_PosOffset += Vector3.Lerp(Vector3.zero, enablePos, 1f - data.BlendWeight);
+		}
+		else
+		{
+			this.m_PosOffset += Vector3.Lerp(Vector3.zero, enablePos, data.BlendWeight);
+		}
+	}
+
+	public void SetAllOffset(Vector3 offset)
+	{
+		if (!base.IsIKExec)
+		{
+			base.PointIK.IsIKExec = true;
+		}
+		this.DoAllOffset = true;
+		this.m_AllOffset = offset;
+	}
+
+	public void SetAddOffset(Vector3 offset)
+	{
+		if (!base.IsIKExec)
+		{
+			base.PointIK.IsIKExec = true;
+		}
+		this.m_AddOffset = offset;
+	}
+
+	public override void ApplyIKSetting()
+	{
+		this.m_AddOffset = Vector3.zero;
+		this.DoAllOffset = false;
+		this.m_PosOffset = this.OrijinMaidPos;
+		this.m_AllOffset = this.OrijinAllPos;
+		base.ApplyIKSetting();
+	}
+
+	public override void SetIKSetting(IKCtrlData.IKAttachType attachType, bool is_another, Maid tgt_maid, int slot_no, string attach_name, Transform axis_bone, Transform target, Vector3 f_vecOffset, bool do_animation, float blend_time)
+	{
+		this.OrijinMaidPos = this.MyIKCtrl.TgtMaid.GetPos();
+		this.OrijinAllPos = GameMain.Instance.CharacterMgr.GetCharaAllPos();
+		base.SetIKSetting(attachType, is_another, tgt_maid, slot_no, attach_name, axis_bone, target, f_vecOffset, do_animation, blend_time);
+	}
+
+	public override void Update()
+	{
+		if (this.DoAllOffset)
+		{
+			GameMain.Instance.CharacterMgr.SetCharaAllPos(this.m_AllOffset);
+		}
+		if (!this.CheckDoIK())
+		{
+			return;
+		}
+		this.MyIKCtrl.TgtMaid.SetPos(this.BodyOffset);
+	}
+
+	public override void Detach(IKCtrlData.IKAttachType attachType, float blend_time = 0f)
+	{
+		this.m_lastPosOffset = this.m_PosOffset - this.OrijinMaidPos;
+		base.Detach(attachType, blend_time);
+		base.BlendPosRot.Copy(this.PosBaseBone);
+		this.m_AddOffset = Vector3.zero;
+		this.HeightFit = BodyCtrlData.HeightFitType.None;
+		this.OrijinMaidPos = this.MyIKCtrl.TgtMaid.GetPos();
+		this.OrijinAllPos = GameMain.Instance.CharacterMgr.GetCharaAllPos();
+	}
+
+	[SerializeField]
+	private Vector3 m_PosOffset = Vector3.zero;
+
+	private Vector3 m_AddOffset = Vector3.zero;
+
+	private Vector3 m_FirstBonePos = Vector3.zero;
+
+	private Vector3 m_lastPosOffset = Vector3.zero;
+
+	[SerializeField]
+	private Vector3 m_AllOffset = Vector3.zero;
+
+	public Transform PosBaseBone;
+
+	public BodyCtrlData.HeightFitType HeightFit = BodyCtrlData.HeightFitType.None;
+
+	public enum HeightFitType
+	{
+		Higher,
+		Lower,
+		None
+	}
+}

+ 63 - 0
Assembly-CSharp/CCDIKCtrlData.cs

@@ -0,0 +1,63 @@
+using System;
+using System.Linq;
+using RootMotion.FinalIK;
+using UnityEngine;
+
+[Serializable]
+public class CCDIKCtrlData : IKCtrlData
+{
+	public CCDIKCtrlData(CCDIK ccd_ik, Transform[] chain_bones, FullBodyIKCtrl ik_ctrl, bool weight_fade = true, bool attach_ik = false) : base(ik_ctrl, chain_bones.Last<Transform>(), false, attach_ik)
+	{
+		this.CCDIK = ccd_ik;
+		this.CCDIK.fixTransforms = false;
+		this.IKSolver.target = base.IKTarget;
+		this.IKSolver.useRotationLimits = false;
+		this.IKSolver.maxIterations = 4;
+		this.IKSolver.Initiate(chain_bones[0]);
+		this.IKSolver.SetChain(chain_bones, chain_bones[0]);
+		if (weight_fade)
+		{
+			this.IKSolver.FadeOutBoneWeights();
+		}
+		this.CCDIK.enabled = false;
+		this.m_ForceIKEnable = false;
+	}
+
+	public IKSolverCCD IKSolver
+	{
+		get
+		{
+			return this.CCDIK.solver;
+		}
+	}
+
+	public override Transform[] ChainBones
+	{
+		get
+		{
+			return (from bone in this.IKSolver.bones
+			select bone.transform).ToArray<Transform>();
+		}
+	}
+
+	public override float PositionWeight
+	{
+		get
+		{
+			return this.IKSolver.IKPositionWeight;
+		}
+		set
+		{
+			this.IKSolver.IKPositionWeight = value;
+		}
+	}
+
+	public override float RotationWeight { get; set; }
+
+	public override void Update()
+	{
+		this.CCDIK.solver.Update();
+	}
+
+	public readonly CCDIK CCDIK;
+}

+ 5 - 5
Assembly-CSharp/CMSystem.cs

@@ -184,7 +184,7 @@ public class CMSystem
 		}
 		set
 		{
-			this.m_SubtitleType = SubtitleDisplayManager.DisplayType.None;
+			this.m_SubtitleType = value;
 		}
 	}
 
@@ -808,7 +808,7 @@ public class CMSystem
 	{
 		XElement xelement = new XElement("Config", new object[]
 		{
-			new XAttribute("Version", 1160),
+			new XAttribute("Version", 1170),
 			new XElement("System", new XElement("SysButtonShowAlways", this.SysButtonShowAlways)),
 			new XElement("Screen", new object[]
 			{
@@ -1125,7 +1125,7 @@ public class CMSystem
 		MemoryStream memoryStream = new MemoryStream();
 		BinaryWriter binaryWriter = new BinaryWriter(memoryStream);
 		binaryWriter.Write("CM3D2_SYSTEM2");
-		binaryWriter.Write(1160);
+		binaryWriter.Write(1170);
 		binaryWriter.Write(this.m_dicEditColorPresetData.Count);
 		foreach (KeyValuePair<int, Dictionary<string, int>> keyValuePair in this.m_dicEditColorPresetData)
 		{
@@ -1697,7 +1697,7 @@ public class CMSystem
 
 		public void OnBeforeSerialize()
 		{
-			this.m_nVersion = 1160;
+			this.m_nVersion = 1170;
 		}
 
 		public void OnAfterDeserialize()
@@ -1705,7 +1705,7 @@ public class CMSystem
 		}
 
 		[SerializeField]
-		private int m_nVersion = 1160;
+		private int m_nVersion = 1170;
 
 		[SerializeField]
 		private string m_strDShowFilter = "Microsoft DTV-DVD Video Decoder";

+ 3 - 3
Assembly-CSharp/CharacterMgr.cs

@@ -949,7 +949,7 @@ public class CharacterMgr : MonoBehaviour
 		BinaryWriter binaryWriter = new BinaryWriter(memoryStream);
 		string result = string.Empty;
 		binaryWriter.Write("CM3D2_PRESET_S");
-		binaryWriter.Write(1160);
+		binaryWriter.Write(1170);
 		binaryWriter.Write((char)presset_type);
 		maid.SerializePropLowCapacity(binaryWriter);
 		maid.SerializeMultiColor(binaryWriter);
@@ -966,7 +966,7 @@ public class CharacterMgr : MonoBehaviour
 		MemoryStream memoryStream = new MemoryStream();
 		BinaryWriter binaryWriter = new BinaryWriter(memoryStream);
 		binaryWriter.Write("CM3D2_PRESET");
-		binaryWriter.Write(1160);
+		binaryWriter.Write(1170);
 		binaryWriter.Write((int)f_type);
 		if (texture2D != null)
 		{
@@ -1246,7 +1246,7 @@ public class CharacterMgr : MonoBehaviour
 	public bool Serialize(BinaryWriter bwWrite)
 	{
 		bwWrite.Write("CM3D2_CHR_MGR");
-		bwWrite.Write(1160);
+		bwWrite.Write(1170);
 		this.m_PlayerStatus.Serialize(bwWrite);
 		bwWrite.Write(this.m_listStockMan.Count);
 		for (int i = 0; i < this.m_listStockMan.Count; i++)

+ 19 - 11
Assembly-CSharp/CharacterSelectMain.cs

@@ -2,6 +2,7 @@
 using System.Collections.Generic;
 using System.Runtime.CompilerServices;
 using com.workman.cm3d2.scene.dailyEtc;
+using I2.Loc;
 using MaidStatus;
 using PlayerStatus;
 using Schedule;
@@ -82,7 +83,7 @@ public class CharacterSelectMain : WfScreenChildren
 			{
 				GameMain.Instance.SoundMgr.PlayBGM("BGM015.ogg", 0.5f, true);
 			}
-			this.explanatory_label_.text = "コミュニケーションを行うメイドを選択してください。";
+			this.SetExplanatoryLabel("コミュニケーションを行うメイドを選択してください。");
 		}
 		else if (this.scene_chara_select_.select_type == SceneCharacterSelect.SelectType.Yotogi || this.scene_chara_select_.select_type == SceneCharacterSelect.SelectType.Vip || this.scene_chara_select_.select_type == SceneCharacterSelect.SelectType.Facility)
 		{
@@ -131,15 +132,15 @@ public class CharacterSelectMain : WfScreenChildren
 			}
 			if (this.scene_chara_select_.select_type == SceneCharacterSelect.SelectType.Yotogi)
 			{
-				this.explanatory_label_.text = "夜伽を行うメイドを選択してください。";
+				this.SetExplanatoryLabel("夜伽を行うメイドを選択してください。");
 			}
 			else if (this.scene_chara_select_.select_type == SceneCharacterSelect.SelectType.Vip)
 			{
-				this.explanatory_label_.text = "Hイベントを行うメイドを選択してください。";
+				this.SetExplanatoryLabel("Hイベントを行うメイドを選択してください。");
 			}
 			else
 			{
-				this.explanatory_label_.text = "施設強化を行うメイドを選択してください。";
+				this.SetExplanatoryLabel("施設強化を行うメイドを選択してください。");
 			}
 			if (!this.auto_select_)
 			{
@@ -226,7 +227,7 @@ public class CharacterSelectMain : WfScreenChildren
 			this.button_dic_["全解除"].gameObject.SetActive(true);
 			this.button_dic_["全選択"].isEnabled = true;
 			this.button_dic_["全解除"].isEnabled = false;
-			this.explanatory_label_.text = "品評会を行うメイドを選択してください。";
+			this.SetExplanatoryLabel("品評会を行うメイドを選択してください。");
 		}
 		else if (this.scene_chara_select_.select_type == SceneCharacterSelect.SelectType.Free)
 		{
@@ -255,7 +256,7 @@ public class CharacterSelectMain : WfScreenChildren
 					}
 				}
 			});
-			this.explanatory_label_.text = "メイドを選択してください。";
+			this.SetExplanatoryLabel("メイドを選択してください。");
 			this.chara_select_mgr_.SetCallBackCallBackOnSelect(new CharacterSelectManager.CallBackOnSelect(this.OnSelectChara));
 			this.chara_select_mgr_.Create(CharacterSelectManager.Type.Select, 3, true);
 			if (this.chara_select_mgr_.maid_list_count == 1)
@@ -300,7 +301,7 @@ public class CharacterSelectMain : WfScreenChildren
 			{
 				GameMain.Instance.SoundMgr.PlayBGM("BGM015.ogg", 0.5f, true);
 			}
-			this.explanatory_label_.text = "おさわりを行うメイドを選択してください。";
+			this.SetExplanatoryLabel("おさわりを行うメイドを選択してください。");
 		}
 		else if (this.scene_chara_select_.select_type == SceneCharacterSelect.SelectType.VRComSelect)
 		{
@@ -326,7 +327,7 @@ public class CharacterSelectMain : WfScreenChildren
 			{
 				this.auto_select_ = true;
 			}
-			this.explanatory_label_.text = "バカンスに連れていくメイドを選択してください。";
+			this.SetExplanatoryLabel("バカンスに連れていくメイドを選択してください。");
 		}
 		else if (this.scene_chara_select_.select_type == SceneCharacterSelect.SelectType.VRKaraokeSelect)
 		{
@@ -342,7 +343,7 @@ public class CharacterSelectMain : WfScreenChildren
 			{
 				this.auto_select_ = true;
 			}
-			this.explanatory_label_.text = "カラオケに連れていくメイドを選択してください。";
+			this.SetExplanatoryLabel("カラオケに連れていくメイドを選択してください。");
 		}
 		else if (this.scene_chara_select_.select_type == SceneCharacterSelect.SelectType.Recollection)
 		{
@@ -390,7 +391,7 @@ public class CharacterSelectMain : WfScreenChildren
 					}
 				}
 			});
-			this.explanatory_label_.text = "メイドを選択してください。";
+			this.SetExplanatoryLabel("メイドを選択してください。");
 			this.chara_select_mgr_.SetCallBackCallBackOnSelect(new CharacterSelectManager.CallBackOnSelect(this.OnSelectChara));
 			this.chara_select_mgr_.Create(CharacterSelectManager.Type.Select, 3, true);
 			if (this.chara_select_mgr_.maid_list_count == 1)
@@ -426,7 +427,7 @@ public class CharacterSelectMain : WfScreenChildren
 		{
 			this.auto_select_ = true;
 		}
-		this.explanatory_label_.text = "*メイドの追加呼び出し*";
+		this.SetExplanatoryLabel("*メイドの追加呼び出し*");
 		CharacterMgr characterMgr = GameMain.Instance.CharacterMgr;
 		for (int i = 0; i < characterMgr.GetStockMaidCount(); i++)
 		{
@@ -454,6 +455,13 @@ public class CharacterSelectMain : WfScreenChildren
 		return 2 < this.wait_count_;
 	}
 
+	public void SetExplanatoryLabel(string text)
+	{
+		this.explanatory_label_.text = text;
+		Localize component = this.explanatory_label_.gameObject.GetComponent<Localize>();
+		component.SetTerm("SceneCharaSelect/" + text);
+	}
+
 	public void SetCancelLabel(string cancel_call_label)
 	{
 		this.cancel_call_label_ = cancel_call_label;

+ 8 - 0
Assembly-CSharp/ChuBlipManager.cs

@@ -24,6 +24,14 @@ public class ChuBlipManager : MonoBehaviour
 		}
 	}
 
+	public OnaholeChuBlipDevice device
+	{
+		get
+		{
+			return this.holeDevice;
+		}
+	}
+
 	private YotogiManager yotogiMgr;
 
 	private YotogiPlayManagerWithChubLip yotogiPlayMgr;

+ 12 - 4
Assembly-CSharp/ColorPaletteManager.cs

@@ -1,5 +1,6 @@
 using System;
 using System.Collections.Generic;
+using I2.Loc;
 using MaidStatus;
 using UnityEngine;
 using wf;
@@ -60,19 +61,26 @@ public class ColorPaletteManager : EmptyWindow
 		this.colorData = ColorPaletteManager.ColorData.Create(this.maid, colorType);
 		UIWFTabButton[] componentsInChildren = this.categoryTabPanel.GetComponentsInChildren<UIWFTabButton>(true);
 		componentsInChildren[2].gameObject.SetActive(this.colorData.enabledOutLine);
+		Localize component = componentsInChildren[2].GetComponent<Localize>();
 		if (this.colorData.enabledOutLine)
 		{
+			component = componentsInChildren[0].GetComponent<Localize>();
+			component.SetTerm("SceneEdit/カラーパレット/スプライト/タブ_基本色");
+			component = componentsInChildren[1].GetComponent<Localize>();
+			component.SetTerm("SceneEdit/カラーパレット/スプライト/タブ_影色");
 			componentsInChildren[0].pixelSnap = true;
-			componentsInChildren[0].normalSprite = "colorpalette_tab_s_basecolor";
 			componentsInChildren[1].pixelSnap = true;
-			componentsInChildren[1].normalSprite = "colorpalette_tab_s_shadowcolor";
 		}
 		else
 		{
+			component = componentsInChildren[0].GetComponent<Localize>();
+			component.SetTerm("SceneEdit/カラーパレット/スプライト/タブ_基本色_ロング");
+			component = componentsInChildren[1].GetComponent<Localize>();
+			component.SetTerm("SceneEdit/カラーパレット/スプライト/タブ_影色_ロング");
 			componentsInChildren[0].pixelSnap = true;
-			componentsInChildren[0].normalSprite = "colorpalette_tab_basecolor";
 			componentsInChildren[1].pixelSnap = true;
-			componentsInChildren[1].normalSprite = "colorpalette_tab_shadowcolor";
+			componentsInChildren[0].GetComponent<UISprite>().MakePixelPerfect();
+			componentsInChildren[1].GetComponent<UISprite>().MakePixelPerfect();
 		}
 		Vector3 localPosition = componentsInChildren[1].transform.localPosition;
 		Vector3 localPosition2 = new Vector3(componentsInChildren[0].transform.localPosition.x + (float)componentsInChildren[0].GetComponent<UIWidget>().width, localPosition.y, localPosition.z);

+ 5 - 4
Assembly-CSharp/ConfigCtrl.cs

@@ -127,7 +127,7 @@ public class ConfigCtrl : MonoBehaviour
 			while (enumerator6.MoveNext())
 			{
 				object obj5 = enumerator6.Current;
-				this.MakePopupListOption(this.m_plSubtitleType, SubtitleDisplayManager.EnumConvert.GetString((SubtitleDisplayManager.DisplayType)obj5));
+				this.MakePopupListOption(this.m_plSubtitleType, SubtitleDisplayManager.EnumConvert.GetTerm((SubtitleDisplayManager.DisplayType)obj5));
 			}
 		}
 		finally
@@ -139,7 +139,8 @@ public class ConfigCtrl : MonoBehaviour
 			}
 		}
 		EventDelegate.Add(this.m_plSubtitleType.onChange, new EventDelegate.Callback(BaseMgr<ConfigMgr>.Instance.OnSubtitleDisplayTypeChange));
-		this.m_plSubtitleType.transform.parent.gameObject.SetActive(false);
+		childObject2.GetComponent<UISprite>().enabled = false;
+		UTY.GetChildObject(childObject2, "Frame2", false).SetActive(true);
 		GameObject childObject3 = UTY.GetChildObject(configPanel, "Sound", false);
 		this.m_slMasterVolume = UTY.GetChildObject(childObject3, "MasterVolume/Slider", false).GetComponent<UISlider>();
 		EventDelegate.Add(this.m_slMasterVolume.onChange, new EventDelegate.Callback(BaseMgr<ConfigMgr>.Instance.OnMasterVolumeChange));
@@ -170,7 +171,7 @@ public class ConfigCtrl : MonoBehaviour
 		this.m_okButton = UTY.GetChildObject(configPanel, "OK", false).GetComponent<UIButton>();
 		EventDelegate.Add(this.m_okButton.onClick, new EventDelegate.Callback(BaseMgr<ConfigMgr>.Instance.CloseConfigPanel));
 		this.m_changeVRConfigButton = UTY.GetChildObject(configPanel, "Change VR", false).GetComponent<UIButton>();
-		EventDelegate.Add(this.m_changeVRConfigButton.onClick, delegate
+		EventDelegate.Add(this.m_changeVRConfigButton.onClick, delegate()
 		{
 			BaseMgr<ConfigMgr>.Instance.CloseConfigPanel();
 			ConfigVRCtrl.Open(null);
@@ -271,7 +272,7 @@ public class ConfigCtrl : MonoBehaviour
 			num
 		}));
 		SubtitleDisplayManager.DisplayType subtitleType = GameMain.Instance.CMSystem.SubtitleType;
-		this.m_plSubtitleType.value = SubtitleDisplayManager.EnumConvert.GetString(subtitleType);
+		this.m_plSubtitleType.value = SubtitleDisplayManager.EnumConvert.GetTerm(subtitleType);
 		bool msgVoiceNoStop = GameMain.Instance.CMSystem.MsgVoiceNoStop;
 		Debug.Log("Load alreadyReadSkipEnabled:" + msgVoiceNoStop);
 		this.SetButtonActive(this.m_sequentialVoiceOn, this.m_sequentialVoiceOff, msgVoiceNoStop);

+ 35 - 3
Assembly-CSharp/ConfigMgr.cs

@@ -127,8 +127,8 @@ public class ConfigMgr : BaseMgr<ConfigMgr>
 			while (enumerator.MoveNext())
 			{
 				object obj = enumerator.Current;
-				string @string = SubtitleDisplayManager.EnumConvert.GetString((SubtitleDisplayManager.DisplayType)obj);
-				if (typeName == @string)
+				string term = SubtitleDisplayManager.EnumConvert.GetTerm((SubtitleDisplayManager.DisplayType)obj);
+				if (typeName == term)
 				{
 					GameMain.Instance.CMSystem.SubtitleType = (SubtitleDisplayManager.DisplayType)obj;
 					break;
@@ -336,7 +336,7 @@ public class ConfigMgr : BaseMgr<ConfigMgr>
 		this.m_configCtrl.SetOKButtonActive(false);
 		this.cblConfig.OnClose();
 		TweenAlpha tweenAlpha = TweenAlpha.Begin(this.m_goPanel, 0.3f, 0f);
-		EventDelegate.Set(tweenAlpha.onFinished, delegate
+		EventDelegate.Set(tweenAlpha.onFinished, delegate()
 		{
 			this.m_goPanel.SetActive(false);
 		});
@@ -355,6 +355,38 @@ public class ConfigMgr : BaseMgr<ConfigMgr>
 		this.cblConfig.visible = true;
 	}
 
+	public void Update()
+	{
+		int num = int.MinValue;
+		if (Input.GetKeyDown(KeyCode.F1))
+		{
+			num = 0;
+		}
+		else if (Input.GetKeyDown(KeyCode.F2))
+		{
+			num = 1;
+		}
+		else if (Input.GetKeyDown(KeyCode.F3))
+		{
+			num = 2;
+		}
+		else if (Input.GetKeyDown(KeyCode.F4))
+		{
+			num = 3;
+		}
+		if (num != -2147483648)
+		{
+			if (this.m_configCtrl == null)
+			{
+				GameMain.Instance.CMSystem.SubtitleType = (SubtitleDisplayManager.DisplayType)num;
+			}
+			else
+			{
+				this.m_configCtrl.m_plSubtitleType.value = SubtitleDisplayManager.EnumConvert.GetTerm((SubtitleDisplayManager.DisplayType)num);
+			}
+		}
+	}
+
 	[SerializeField]
 	public ConfigCblManager cblConfig;
 

+ 8 - 8
Assembly-CSharp/ConfigVRCtrl.cs

@@ -122,12 +122,12 @@ public class ConfigVRCtrl : NGUIWindow
 	private void SetupAllUI()
 	{
 		base.cachedObjectDic.CacheChildObject<UIButton>(base.gameObject, "OK", "ButtonOK");
-		EventDelegate.Add(base.cachedObjectDic.GetCache<UIButton>("ButtonOK").onClick, delegate
+		EventDelegate.Add(base.cachedObjectDic.GetCache<UIButton>("ButtonOK").onClick, delegate()
 		{
 			ConfigVRCtrl.Close(true);
 		});
 		base.cachedObjectDic.CacheChildObject<UIButton>(base.gameObject, "Change Normal", "ButtonChange");
-		EventDelegate.Add(base.cachedObjectDic.GetCache<UIButton>("ButtonChange").onClick, delegate
+		EventDelegate.Add(base.cachedObjectDic.GetCache<UIButton>("ButtonChange").onClick, delegate()
 		{
 			ConfigVRCtrl.Close(true);
 			BaseMgr<ConfigMgr>.Instance.OpenConfigPanel();
@@ -348,12 +348,12 @@ public class ConfigVRCtrl : NGUIWindow
 		foreach (Collider collider in componentsInChildren)
 		{
 			UIEventTrigger uieventTrigger = collider.gameObject.AddComponent<UIEventTrigger>();
-			EventDelegate.Add(uieventTrigger.onPress, delegate
+			EventDelegate.Add(uieventTrigger.onPress, delegate()
 			{
 				UISprite cache = base.cachedObjectDic.GetCache<UISprite>("Background");
 				TweenAlpha.Begin(cache.gameObject, 0.25f, 0.25f);
 			});
-			EventDelegate.Add(uieventTrigger.onRelease, delegate
+			EventDelegate.Add(uieventTrigger.onRelease, delegate()
 			{
 				UISprite cache = base.cachedObjectDic.GetCache<UISprite>("Background");
 				TweenAlpha.Begin(cache.gameObject, 0.25f, 1f);
@@ -724,7 +724,7 @@ public class ConfigVRCtrl : NGUIWindow
 				NDebug.Assert(message, false);
 				Debug.LogError(message);
 			}
-			EventDelegate.Add(this.slider.onChange, delegate
+			EventDelegate.Add(this.slider.onChange, delegate()
 			{
 				if (this.onValueChanged != null)
 				{
@@ -732,7 +732,7 @@ public class ConfigVRCtrl : NGUIWindow
 				}
 			});
 			UISlider slider = this.slider;
-			slider.onDragFinished = (UIProgressBar.OnDragFinished)Delegate.Combine(slider.onDragFinished, new UIProgressBar.OnDragFinished(delegate
+			slider.onDragFinished = (UIProgressBar.OnDragFinished)Delegate.Combine(slider.onDragFinished, new UIProgressBar.OnDragFinished(delegate()
 			{
 				if (this.onDragFinished != null)
 				{
@@ -814,7 +814,7 @@ public class ConfigVRCtrl : NGUIWindow
 				NDebug.Assert(message2, false);
 				Debug.LogError(message2);
 			}
-			EventDelegate.Add(this.buttonRight.onClick, delegate
+			EventDelegate.Add(this.buttonRight.onClick, delegate()
 			{
 				if (this.onClickIsLeft != null)
 				{
@@ -822,7 +822,7 @@ public class ConfigVRCtrl : NGUIWindow
 				}
 				this.OnClickButton(false);
 			});
-			EventDelegate.Add(this.buttonLeft.onClick, delegate
+			EventDelegate.Add(this.buttonLeft.onClick, delegate()
 			{
 				if (this.onClickIsLeft != null)
 				{

+ 12 - 268
Assembly-CSharp/ControllerShortcutSettingData.cs

@@ -1,6 +1,4 @@
 using System;
-using System.Collections.Generic;
-using System.IO;
 using UnityEngine;
 
 public static class ControllerShortcutSettingData
@@ -9,294 +7,40 @@ public static class ControllerShortcutSettingData
 	{
 		get
 		{
-			ControllerShortcutSettingData.LoadDefault();
 			return ControllerShortcutSettingData.m_Config;
 		}
 	}
 
-	public static void LoadDefault()
-	{
-		if (ControllerShortcutSettingData.m_IsLoadedDefault)
-		{
-			return;
-		}
-		ControllerShortcutSettingData.m_IsLoadedDefault = true;
-		ControllerShortcutSettingData.m_Config = ControllerShortcutSettingData.m_Config.ReadAndSet();
-	}
-
 	private static ControllerShortcutSettingData.OvrControllerShortcutConfig m_Config = new ControllerShortcutSettingData.OvrControllerShortcutConfig();
 
-	private static bool m_IsLoadedDefault = false;
-
-	[Serializable]
 	public class OvrControllerShortcutConfig : ISerializationCallbackReceiver
 	{
-		public void OnBeforeSerialize()
-		{
-			this.m_nVersion = 1160;
-		}
+		public bool isDirectMode { get; set; }
 
-		public void OnAfterDeserialize()
-		{
-		}
+		public bool isEveryShowMode { get; set; }
 
-		public bool Write()
-		{
-			string contents = JsonUtility.ToJson(this, true);
-			string path = Path.GetFullPath(".\\") + "OvrControllerShortcutConfig.json";
-			try
-			{
-				File.WriteAllText(path, contents);
-			}
-			catch
-			{
-				Debug.LogError("OvrControllerShortcutConfig.json の書き込みに失敗。");
-				return false;
-			}
-			return true;
-		}
+		public float maintainPelvisPosition { get; set; }
 
-		public ControllerShortcutSettingData.OvrControllerShortcutConfig ReadAndSet()
-		{
-			string path = Path.GetFullPath(".\\") + "OvrControllerShortcutConfig.json";
-			if (!File.Exists(path))
-			{
-				this.CreateDefaultData();
-				this.Write();
-			}
-			string json;
-			try
-			{
-				json = File.ReadAllText(path);
-			}
-			catch
-			{
-				Debug.LogError("OvrControllerShortcutConfig.json の読込に失敗。");
-				return this;
-			}
-			return JsonUtility.FromJson<ControllerShortcutSettingData.OvrControllerShortcutConfig>(json);
-		}
+		public float bodyPosStiffness { get; set; }
 
-		private void CreateDefaultData()
-		{
-			this.FaceListRight = new List<PhotoFaceDataShortcut.FaceData>();
-			List<PhotoFaceData> list = new List<PhotoFaceData>();
-			list.Add(PhotoFaceData.Get((long)PhotoFaceDataShortcut.ItemData.photoFaceDataNameDic["通常"]));
-			list.Add(PhotoFaceData.Get((long)PhotoFaceDataShortcut.ItemData.photoFaceDataNameDic["微笑み"]));
-			list.Add(PhotoFaceData.Get((long)PhotoFaceDataShortcut.ItemData.photoFaceDataNameDic["にっこり"]));
-			list.Add(PhotoFaceData.Get((long)PhotoFaceDataShortcut.ItemData.photoFaceDataNameDic["優しさ"]));
-			list.Add(PhotoFaceData.Get((long)PhotoFaceDataShortcut.ItemData.photoFaceDataNameDic["ぷんすか"]));
-			list.Add(PhotoFaceData.Get((long)PhotoFaceDataShortcut.ItemData.photoFaceDataNameDic["むー"]));
-			list.Add(PhotoFaceData.Get((long)PhotoFaceDataShortcut.ItemData.photoFaceDataNameDic["泣き"]));
-			list.Add(PhotoFaceData.Get((long)PhotoFaceDataShortcut.ItemData.photoFaceDataNameDic["ダンスジト目"]));
-			for (int i = 0; i < list.Count; i++)
-			{
-				PhotoFaceDataShortcut.FaceData faceData = new PhotoFaceDataShortcut.FaceData();
-				faceData.data = list[i];
-				this.FaceListRight.Add(faceData);
-			}
-			this.FaceListLeft = new List<PhotoFaceDataShortcut.FaceData>();
-			for (int j = 0; j < list.Count; j++)
-			{
-				PhotoFaceDataShortcut.FaceData faceData2 = new PhotoFaceDataShortcut.FaceData();
-				faceData2.data = list[j];
-				this.FaceListLeft.Add(faceData2);
-			}
-			this.isDirectMode = true;
-			this.isEveryShowMode = true;
-			this.maintainPelvisPosition = 0.3f;
-			this.bodyPosStiffness = 0.55f;
-			this.bodyRotStiffness = 0.1f;
-			this.chestRotationWeight = 0.3f;
-			this.selfCameraFOV = 0.5f;
-			this.use1TrackerForHead = false;
-			this.use23TrackerForFoot = false;
-			this.use12TrackerForFoot = false;
-		}
+		public float bodyRotStiffness { get; set; }
 
-		public bool isDirectMode
-		{
-			get
-			{
-				return this.IsDirectShortcutMode;
-			}
-			set
-			{
-				this.IsDirectShortcutMode = value;
-			}
-		}
+		public float chestRotationWeight { get; set; }
 
-		public bool isEveryShowMode
-		{
-			get
-			{
-				return this.IsEveryShowMode;
-			}
-			set
-			{
-				this.IsEveryShowMode = value;
-			}
-		}
+		public float selfCameraFOV { get; set; }
 
-		public List<PhotoFaceDataShortcut.FaceData> faceListRight
-		{
-			get
-			{
-				return this.FaceListRight;
-			}
-			set
-			{
-				this.FaceListRight = value;
-			}
-		}
+		public bool use1TrackerForHead { get; set; }
 
-		public List<PhotoFaceDataShortcut.FaceData> faceListLeft
-		{
-			get
-			{
-				return this.FaceListLeft;
-			}
-			set
-			{
-				this.FaceListLeft = value;
-			}
-		}
+		public bool use23TrackerForFoot { get; set; }
 
-		public float maintainPelvisPosition
-		{
-			get
-			{
-				return this.MaintainPelvisPosition;
-			}
-			set
-			{
-				this.MaintainPelvisPosition = Mathf.Clamp(value, 0f, 1f);
-			}
-		}
+		public bool use12TrackerForFoot { get; set; }
 
-		public float bodyPosStiffness
-		{
-			get
-			{
-				return this.BodyPosStiffness;
-			}
-			set
-			{
-				this.BodyPosStiffness = Mathf.Clamp(value, 0f, 1f);
-			}
-		}
-
-		public float bodyRotStiffness
-		{
-			get
-			{
-				return this.BodyRotStiffness;
-			}
-			set
-			{
-				this.BodyRotStiffness = Mathf.Clamp(value, 0f, 1f);
-			}
-		}
-
-		public float chestRotationWeight
-		{
-			get
-			{
-				return this.ChestRotationWeight;
-			}
-			set
-			{
-				this.ChestRotationWeight = Mathf.Clamp(value, 0f, 1f);
-			}
-		}
-
-		public float selfCameraFOV
-		{
-			get
-			{
-				return this.SelfCameraFOV;
-			}
-			set
-			{
-				this.SelfCameraFOV = Mathf.Clamp(value, 0f, 1f);
-			}
-		}
-
-		public bool use1TrackerForHead
-		{
-			get
-			{
-				return this.Use1TrackerForHead;
-			}
-			set
-			{
-				this.Use1TrackerForHead = value;
-			}
-		}
-
-		public bool use23TrackerForFoot
+		public void OnAfterDeserialize()
 		{
-			get
-			{
-				return this.Use23TrackerForFoot;
-			}
-			set
-			{
-				this.Use23TrackerForFoot = value;
-			}
 		}
 
-		public bool use12TrackerForFoot
+		public void OnBeforeSerialize()
 		{
-			get
-			{
-				return this.Use12TrackerForFoot;
-			}
-			set
-			{
-				this.Use12TrackerForFoot = value;
-			}
 		}
-
-		private const string CONF_NAME = "OvrControllerShortcutConfig.json";
-
-		[SerializeField]
-		private int m_nVersion = 1160;
-
-		[SerializeField]
-		private bool IsDirectShortcutMode = true;
-
-		[SerializeField]
-		private bool IsEveryShowMode = true;
-
-		[SerializeField]
-		private List<PhotoFaceDataShortcut.FaceData> FaceListRight = new List<PhotoFaceDataShortcut.FaceData>();
-
-		[SerializeField]
-		private List<PhotoFaceDataShortcut.FaceData> FaceListLeft = new List<PhotoFaceDataShortcut.FaceData>();
-
-		[SerializeField]
-		private float MaintainPelvisPosition = 0.3f;
-
-		[SerializeField]
-		private float BodyPosStiffness = 0.55f;
-
-		[SerializeField]
-		private float BodyRotStiffness = 0.1f;
-
-		[SerializeField]
-		private float ChestRotationWeight = 0.3f;
-
-		[SerializeField]
-		private float SelfCameraFOV = 0.5f;
-
-		[SerializeField]
-		private bool Use1TrackerForHead;
-
-		[SerializeField]
-		private bool Use23TrackerForFoot;
-
-		[SerializeField]
-		private bool Use12TrackerForFoot;
 	}
 }

+ 1 - 354
Assembly-CSharp/ControllerShortcutWindow.cs

@@ -1,359 +1,22 @@
 using System;
-using System.Collections;
 using Kasizuki;
 using UnityEngine;
-using UnityEngine.SceneManagement;
 
 public class ControllerShortcutWindow : MonoBehaviour
 {
-	public float fadeSpeed
-	{
-		get
-		{
-			return this.m_FadeSpeed;
-		}
-		set
-		{
-			this.m_FadeSpeed = Mathf.Clamp(value, 0.001f, 1f);
-		}
-	}
-
-	private bool IsEnableTypeVR()
-	{
-		GameMain instance = GameMain.Instance;
-		if (!instance.VRMode)
-		{
-			return false;
-		}
-		GameMain.VRFamilyType vrfamily = instance.VRFamily;
-		return vrfamily != GameMain.VRFamilyType.FOVE;
-	}
-
-	private void Awake()
-	{
-		if (!this.IsEnableTypeVR())
-		{
-			Debug.Log("[ControllerShortcutWindow] ハンドコントローラが存在しない操作系だったので、UIを無効化します。");
-			base.gameObject.SetActive(false);
-		}
-		this.m_ButtonDic = new ObjectCacheDic();
-	}
-
 	public void Init(PhotoFaceDataShortcutParent rightHandUI, PhotoFaceDataShortcutParent leftHandUI)
 	{
-		PhotoFaceDataShortcutSetter component = this.m_FadeWindowFaceShortcut.GetComponent<PhotoFaceDataShortcutSetter>();
-		component.Init(rightHandUI.handUI, leftHandUI.handUI);
-	}
-
-	private void Start()
-	{
-		UIWFTabButton uiwftabButton = this.m_ButtonDic.CacheChildObject<UIWFTabButton>(this.m_ParentButtonMainMenu.gameObject, "button config", "コンフィグ");
-		UIWFTabButton uiwftabButton2 = this.m_ButtonDic.CacheChildObject<UIWFTabButton>(this.m_ParentButtonMainMenu.gameObject, "button calibration", "キャリブレーション");
-		UIWFTabButton uiwftabButton3 = this.m_ButtonDic.CacheChildObject<UIWFTabButton>(this.m_ParentButtonMainMenu.gameObject, "button face", "表情");
-		UIWFTabButton uiwftabButton4 = this.m_ButtonDic.CacheChildObject<UIWFTabButton>(this.m_ParentButtonMainMenu.gameObject, "button hand", "ハンドサイン");
-		UIWFTabButton uiwftabButton5 = this.m_ButtonDic.CacheChildObject<UIWFTabButton>(this.m_ParentButtonMainMenu.gameObject, "button motion", "モーション");
-		UIWFTabButton uiwftabButton6 = this.m_ButtonDic.CacheChildObject<UIWFTabButton>(this.m_ParentButtonMainMenu.gameObject, "button general object", "一般オブジェクト");
-		uiwftabButton5.gameObject.SetActive(false);
-		uiwftabButton4.gameObject.SetActive(false);
-		Debug.Log("メインメニューのうち、モーション登録ボタンを隠します。");
-		this.m_ParentButtonMainMenu.GetComponent<UIGrid>().Reposition();
-		EventDelegate.Add(uiwftabButton.onClick, new EventDelegate.Callback(this.OpenWindowConfig));
-		EventDelegate.Add(uiwftabButton2.onClick, new EventDelegate.Callback(this.OpenWindowCalibration));
-		EventDelegate.Add(uiwftabButton3.onClick, new EventDelegate.Callback(this.OpenWindowFaceShortcut));
-		EventDelegate.Add(uiwftabButton4.onClick, new EventDelegate.Callback(this.OpenWindowHandShortcut));
-		EventDelegate.Add(uiwftabButton5.onClick, new EventDelegate.Callback(this.OpenWindowMotionShortcut));
-		EventDelegate.Add(uiwftabButton6.onClick, new EventDelegate.Callback(this.OpenWindowGeneralObject));
-		this.m_FadeWindowHideButton = UTY.GetChildObject(this.m_FadeWindowParent.gameObject, "parent button/Button Hide", false).GetComponent<UIButton>();
-		EventDelegate.Add(this.m_FadeWindowHideButton.onClick, delegate
-		{
-			this.m_FadeWindowParent.Close(0.25f, null);
-		});
-		this.SetupCaribWindow();
-		this.m_ParentButtonMainMenu.Select(uiwftabButton2);
-		uiwftabButton2.SetSelect(true);
-		NGUIWindow fadeWindowParent = this.m_FadeWindowParent;
-		fadeWindowParent.OnOpen = (Action)Delegate.Combine(fadeWindowParent.OnOpen, new Action(this.OnOpenFadeWindowParent));
-		this.ChangeLayout();
-		SceneManager.activeSceneChanged += this.OnActiveSceneChanged;
-	}
-
-	private void SetupCaribWindow()
-	{
-		this.m_FadeWindowCalibration.CacheChildObject<NGUIWindow>("Window Start", "FadeWindow Start");
-		this.m_FadeWindowCalibration.CacheChildObject<NGUIWindow>("Window Countdown", "FadeWindow Countdown");
-		this.m_FadeWindowCalibration.CacheChildObject<UILabel>("Window Countdown/label countdown", "countdown");
-		this.m_FadeWindowCalibration.CacheChildObject<UILabel>("Window Countdown/label description", "label count desc");
-		this.m_FadeWindowCalibration.CacheChildObject<UILabel>("Window Start/label", "label start desc");
-		UIButton uibutton = this.m_FadeWindowCalibration.CacheChildObject<UIButton>("Window Start/button start", "startButton");
-		UIButton uibutton2 = this.m_FadeWindowCalibration.CacheChildObject<UIButton>("Window Start/button end", "endButton");
-		NGUIWindow fadeWindowCalibration = this.m_FadeWindowCalibration;
-		fadeWindowCalibration.OnOpen = (Action)Delegate.Combine(fadeWindowCalibration.OnOpen, new Action(delegate
-		{
-			NGUIWindow cache = this.m_FadeWindowCalibration.GetCache<NGUIWindow>("FadeWindow Start");
-			NGUIWindow cache2 = this.m_FadeWindowCalibration.GetCache<NGUIWindow>("FadeWindow Countdown");
-			cache.Open(0.001f, null);
-			cache2.Close(0.001f, null);
-			cache.gameObject.SetActive(true);
-			cache2.gameObject.SetActive(false);
-			this.ChangeLayout();
-		}));
-		EventDelegate.Add(uibutton.onClick, new EventDelegate.Callback(this.OnClickCalibrationStart));
-		EventDelegate.Add(uibutton2.onClick, new EventDelegate.Callback(this.OnClickCalibrationEnd));
-		this.m_FadeWindowCalibration.GetCache<UILabel>("label count desc").text = ControllerShortcutWindow.STR_LABEL_DESC_COUNT_DOWN;
-		this.m_FadeWindowCalibration.GetCache<UILabel>("label start desc").supportEncoding = true;
-	}
-
-	private void OnOpenFadeWindowParent()
-	{
-		this.ChangeLayout();
-	}
-
-	private void ChangeLayout()
-	{
-		UILabel cache = this.m_FadeWindowCalibration.GetCache<UILabel>("label start desc");
-		UIButton cache2 = this.m_FadeWindowCalibration.GetCache<UIButton>("startButton");
-		UIButton cache3 = this.m_FadeWindowCalibration.GetCache<UIButton>("endButton");
-		UIWFTabButton cache4 = this.m_ButtonDic.GetCache<UIWFTabButton>("表情");
-		UIWFTabButton cache5 = this.m_ButtonDic.GetCache<UIWFTabButton>("モーション");
-		UIWFTabButton cache6 = this.m_ButtonDic.GetCache<UIWFTabButton>("ハンドサイン");
-		UIWFTabButton cache7 = this.m_ButtonDic.GetCache<UIWFTabButton>("一般オブジェクト");
-		if (!OvrIK.IsVRIKMode)
-		{
-			Maid maid = GameMain.Instance.CharacterMgr.GetMaid(0);
-			if (maid == null || !maid.Visible || maid.IsBusy || !maid.body0.isLoadedBody)
-			{
-				cache.text = ControllerShortcutWindow.STR_LABEL_DESC_MISSING_MAID;
-				cache2.gameObject.SetActive(false);
-				cache3.gameObject.SetActive(false);
-				Debug.Log("OvrIK\u3000メイドの準備がまだ行われていません。");
-			}
-			else
-			{
-				bool flag = false;
-				try
-				{
-					string nowSceneName = GameMain.Instance.GetNowSceneName();
-					if (!string.IsNullOrEmpty(nowSceneName) && nowSceneName.IndexOf("SceneDance_") == 0)
-					{
-						DanceMain danceMain = UnityEngine.Object.FindObjectOfType<DanceMain>();
-						if (danceMain != null && danceMain.OvrCamTrans != null)
-						{
-							flag = true;
-						}
-					}
-				}
-				catch
-				{
-					Debug.Log("シーン名の取得に失敗しました");
-				}
-				if (!GameMain.Instance.CMSystem.SConfig.OvrIkAllSceneEnable && flag)
-				{
-					cache.text = ControllerShortcutWindow.STR_LABEL_DESC_NOT_SUPPORT_MOVE_CAMERA;
-					cache2.gameObject.SetActive(false);
-					cache3.gameObject.SetActive(false);
-				}
-				else
-				{
-					cache.text = ControllerShortcutWindow.STR_LABEL_DESC_START;
-					cache2.gameObject.SetActive(true);
-					cache3.gameObject.SetActive(false);
-					if (GameMain.Instance.VRDeviceTypeID == GameMain.VRDeviceType.VIVE && ControllerShortcutSettingData.config.use1TrackerForHead)
-					{
-						UILabel uilabel = cache;
-						uilabel.text = uilabel.text + "\n" + ControllerShortcutWindow.STR_LABEL_DESC_START_NOTES_TRACKER;
-					}
-				}
-			}
-			cache4.isEnabled = false;
-			cache5.isEnabled = false;
-			cache6.isEnabled = false;
-			cache7.isEnabled = false;
-		}
-		else
-		{
-			cache.text = ControllerShortcutWindow.STR_LABEL_DESC_END;
-			cache2.gameObject.SetActive(false);
-			cache3.gameObject.SetActive(true);
-			cache4.isEnabled = true;
-			cache5.isEnabled = true;
-			cache6.isEnabled = true;
-			cache7.isEnabled = true;
-		}
-	}
-
-	private void OpenWindowConfig()
-	{
-		this.m_FadeWindowCalibration.Close(this.fadeSpeed, null);
-		this.m_FadeWindowFaceShortcut.Close(this.fadeSpeed, null);
-		this.m_FadeWindowMotionShortcut.Close(this.fadeSpeed, null);
-		this.m_FadeWindowGeneralObject.Close(this.fadeSpeed, null);
-		this.WaitTime(this.fadeSpeed, delegate
-		{
-			this.m_FadeWindowConfig.Open(this.fadeSpeed, null);
-		});
-	}
-
-	private void OpenWindowCalibration()
-	{
-		this.m_FadeWindowFaceShortcut.Close(this.fadeSpeed, null);
-		this.m_FadeWindowMotionShortcut.Close(this.fadeSpeed, null);
-		this.m_FadeWindowConfig.Close(this.fadeSpeed, null);
-		this.m_FadeWindowGeneralObject.Close(this.fadeSpeed, null);
-		this.WaitTime(this.fadeSpeed, delegate
-		{
-			this.m_FadeWindowCalibration.Open(this.fadeSpeed, null);
-		});
-	}
-
-	private void OpenWindowFaceShortcut()
-	{
-		this.m_FadeWindowCalibration.Close(this.fadeSpeed, null);
-		this.m_FadeWindowMotionShortcut.Close(this.fadeSpeed, null);
-		this.m_FadeWindowConfig.Close(this.fadeSpeed, null);
-		this.m_FadeWindowGeneralObject.Close(this.fadeSpeed, null);
-		this.WaitTime(this.fadeSpeed, delegate
-		{
-			this.m_FadeWindowFaceShortcut.Open(this.fadeSpeed, null);
-		});
-	}
-
-	private void OpenWindowHandShortcut()
-	{
-	}
-
-	private void OpenWindowMotionShortcut()
-	{
-		this.m_FadeWindowCalibration.Close(this.fadeSpeed, null);
-		this.m_FadeWindowFaceShortcut.Close(this.fadeSpeed, null);
-		this.m_FadeWindowConfig.Close(this.fadeSpeed, null);
-		this.m_FadeWindowGeneralObject.Close(this.fadeSpeed, null);
-		this.WaitTime(this.fadeSpeed, delegate
-		{
-			this.m_FadeWindowMotionShortcut.Open(this.fadeSpeed, null);
-		});
-	}
-
-	private void OpenWindowGeneralObject()
-	{
-		this.m_FadeWindowCalibration.Close(this.fadeSpeed, null);
-		this.m_FadeWindowFaceShortcut.Close(this.fadeSpeed, null);
-		this.m_FadeWindowConfig.Close(this.fadeSpeed, null);
-		this.m_FadeWindowMotionShortcut.Close(this.fadeSpeed, null);
-		this.WaitTime(this.fadeSpeed, delegate
-		{
-			this.m_FadeWindowGeneralObject.Open(this.fadeSpeed, null);
-		});
-	}
-
-	private void OnClickCalibrationStart()
-	{
-		NGUIWindow cache = this.m_FadeWindowCalibration.GetCache<NGUIWindow>("FadeWindow Start");
-		NGUIWindow windowCount = this.m_FadeWindowCalibration.GetCache<NGUIWindow>("FadeWindow Countdown");
-		this.m_FadeWindowCalibration.GetCache<UILabel>("countdown").text = 5.ToString("f2");
-		cache.Close(this.fadeSpeed, null);
-		this.m_FadeWindowMainMenu.Close(this.fadeSpeed, null);
-		this.WaitTime(this.fadeSpeed, delegate
-		{
-			windowCount.Open(this.fadeSpeed, null);
-		});
-		this.WaitTime(this.fadeSpeed + 1f, delegate
-		{
-			if (!OvrIK.IsVRIKMode)
-			{
-				OvrIK.InitStart();
-			}
-			this.StartCoroutine(this.CoCalibrationCountdown(delegate
-			{
-				this.m_FadeWindowCalibration.GetCache<NGUIWindow>("FadeWindow Countdown").Close(this.fadeSpeed, null);
-				this.WaitTime(this.fadeSpeed, delegate
-				{
-					this.m_FadeWindowCalibration.GetCache<NGUIWindow>("FadeWindow Start").Open(this.fadeSpeed, null);
-					this.m_FadeWindowMainMenu.Open(this.fadeSpeed, null);
-					this.ChangeLayout();
-				});
-			}));
-		});
-	}
-
-	private void OnClickCalibrationEnd()
-	{
-		this.m_FadeWindowParent.Close(this.fadeSpeed, delegate
-		{
-			if (OvrIK.IsVRIKMode)
-			{
-				OvrIK.UninitEnd();
-			}
-		});
-	}
-
-	private IEnumerator CoCalibrationCountdown(Action onEnd)
-	{
-		Debug.Log("キャリブレーション開始");
-		float nowTime = 0f;
-		float maxTime = 5f;
-		UILabel textCountdown = this.m_FadeWindowCalibration.GetCache<UILabel>("countdown");
-		while (nowTime <= maxTime)
-		{
-			textCountdown.text = (maxTime - nowTime).ToString("f2");
-			nowTime += Time.deltaTime;
-			yield return null;
-		}
-		textCountdown.text = 0.ToString("f2");
-		if (onEnd != null)
-		{
-			onEnd();
-		}
-		Debug.Log("キャリブレーション完了");
-		yield break;
-	}
-
-	private void WaitTime(float time, Action onFinish)
-	{
-		base.StartCoroutine(this.CoWaitTime(time, onFinish));
-	}
-
-	private IEnumerator CoWaitTime(float time, Action onFinish)
-	{
-		yield return new WaitForSeconds(time);
-		if (onFinish != null)
-		{
-			onFinish();
-		}
-		yield break;
 	}
 
 	public void Open()
 	{
-		this.m_FadeWindowParent.Open(this.fadeSpeed, null);
 	}
 
 	public void Close()
 	{
-		this.m_FadeWindowParent.Close(this.fadeSpeed, null);
 	}
 
-	public bool isOpen
-	{
-		get
-		{
-			return this.m_FadeWindowParent.gameObject.activeSelf;
-		}
-	}
-
-	private void OnActiveSceneChanged(Scene beforeScene, Scene activeScene)
-	{
-		if (this.m_IsDestroyed)
-		{
-			return;
-		}
-		UnityEngine.Object.Destroy(base.gameObject);
-		Debug.Log("VRIK用UIを削除しました : シーン切り替え");
-	}
-
-	private void OnDestroy()
-	{
-		this.m_IsDestroyed = true;
-	}
+	public bool isOpen { get; set; }
 
 	[SerializeField]
 	[Range(0.001f, 1f)]
@@ -384,20 +47,4 @@ public class ControllerShortcutWindow : MonoBehaviour
 
 	[SerializeField]
 	private UIWFTabPanel m_ParentButtonMainMenu;
-
-	private ObjectCacheDic m_ButtonDic;
-
-	private static readonly string STR_LABEL_DESC_MISSING_MAID = "メイドの準備ができていません。";
-
-	private static readonly string STR_LABEL_DESC_NOT_SUPPORT_MOVE_CAMERA = "移動カメラモードでは実行できません。";
-
-	private static readonly string STR_LABEL_DESC_START = "「スタート」ボタンを押して、キャリブレーションを開始します。\r\n\r\nキャリブレーション中は、\r\nHDMを装着して、正面を向いて足を肩幅に開いて直立し、\r\nコントローラを持った手を肩幅で胸の前に出してお待ち下さい。";
-
-	private static readonly string STR_LABEL_DESC_START_NOTES_TRACKER = "[FF8000]HMDを顔に装着した状態で、\r\n頭のトラッカーを装着予定位置に固定して下さい。[-]";
-
-	private static readonly string STR_LABEL_DESC_COUNT_DOWN = "手を前に出し、\r\n足を肩幅に広げ、\r\n正面を向いて、\r\n背筋を伸ばして下さい。\r\n";
-
-	private static readonly string STR_LABEL_DESC_END = "バーチャルアバタースタジオ機能を終了します。\r\n\r\n(終了後にキャラクターに不具合がある場合は\r\n\u3000シーンに入り直して下さい。)";
-
-	private bool m_IsDestroyed;
 }

+ 3 - 3
Assembly-CSharp/DanceBattle_Mgr.cs

@@ -166,10 +166,10 @@ public class DanceBattle_Mgr : PartsMgrBase
 		Vector3 end_pos = Vector3.zero;
 		Action<UISprite[], Color> line_setting = delegate(UISprite[] line_array, Color line_col)
 		{
-			float num = (float)line_array.Count<UISprite>() * this.$this.m_LineRate;
+			float num = (float)line_array.Count<UISprite>() * this.m_LineRate;
 			for (int i = 0; i < line_array.Count<UISprite>(); i++)
 			{
-				float num2 = Mathf.Max(timer - this.$this.m_LineRate * (float)i, 0f);
+				float num2 = Mathf.Max(timer - this.m_LineRate * (float)i, 0f);
 				float num3 = num2 - (float)Mathf.FloorToInt(num2 / num) * num;
 				float num4 = Mathf.Clamp01(num3 / num);
 				if (num4 > 0f && !line_array[i].gameObject.activeSelf)
@@ -180,7 +180,7 @@ public class DanceBattle_Mgr : PartsMgrBase
 				color.a = 1f - num4;
 				line_array[i].color = color;
 				line_array[i].transform.position = Vector3.Lerp(start_pos, end_pos, num4);
-				line_array[i].transform.localScale = Vector3.one * this.$this.m_LineMaxSize * (1f - num4);
+				line_array[i].transform.localScale = Vector3.one * this.m_LineMaxSize * (1f - num4);
 			}
 		};
 		for (;;)

+ 42 - 31
Assembly-CSharp/DanceMain.cs

@@ -142,12 +142,6 @@ public class DanceMain : MonoBehaviour
 		}
 		this.m_AnimatorData.playOnStart = null;
 		this.m_AnimatorData.bAutoTimeUpdate = false;
-		bool flag2 = this.m_strMasterAudioFileName == "happy_happy_scandal1.ogg" && this.m_listKuchiPakuFile.Count == 4;
-		if (flag2)
-		{
-			Transform transform = GameObject.Find("effect").transform;
-			transform.Find("FloorTile").GetComponent<Renderer>().material.shader = Shader.Find("BetterDiffuse");
-		}
 		if (GameMain.Instance.VRMode && GameMain.Instance.CMSystem.GetTmpGenericFlag("ダンスOVRカメラタイプ") == 1)
 		{
 			this.m_trOvrDummyCam = new GameObject("OvrDummyDanceCam").transform;
@@ -166,27 +160,7 @@ public class DanceMain : MonoBehaviour
 		for (int l = 0; l < this.m_listTestPreset.Count; l++)
 		{
 			Maid maid = GameMain.Instance.CharacterMgr.GetMaid(l);
-			if (!maid)
-			{
-				maid = GameMain.Instance.CharacterMgr.AddStockMaid();
-				GameMain.Instance.CharacterMgr.SetActiveMaid(maid, l);
-				CharacterMgr.Preset preset;
-				if (DanceMain.SelectDanceData != null && !string.IsNullOrEmpty(DanceMain.SelectDanceData.preset_name[l]))
-				{
-					preset = GameMain.Instance.CharacterMgr.PresetLoadFromResources(DanceMain.SelectDanceData.preset_name[l]);
-				}
-				else
-				{
-					preset = GameMain.Instance.CharacterMgr.PresetLoadFromResources(this.m_listTestPreset[l]);
-				}
-				if (preset != null)
-				{
-					GameMain.Instance.CharacterMgr.PresetSet(maid, preset);
-				}
-				this.m_listTempMaid.Add(maid);
-				maid.Visible = true;
-			}
-			else
+			if (maid)
 			{
 				if (!this.m_maidUser)
 				{
@@ -218,13 +192,50 @@ public class DanceMain : MonoBehaviour
 			{
 				list.Add(GameMain.Instance.CharacterMgr.GetMaid(n));
 			}
+			GameMain.Instance.CharacterMgr.DeactivateCharaAll();
+			GameMain.Instance.CharacterMgr.DeactivateMaid(0);
 			for (int num = 0; num < DanceMain.SelectDanceData.maid_order.Count; num++)
 			{
-				if (!(GameMain.Instance.CharacterMgr.GetMaid(num) == list[DanceMain.SelectDanceData.maid_order[num]]))
+				int index = DanceMain.SelectDanceData.maid_order[num];
+				if (list[index])
+				{
+					GameMain.Instance.CharacterMgr.SetActiveMaid(list[index], num);
+					list[index].Visible = true;
+				}
+			}
+		}
+		if (RhythmAction_Mgr.Instance.FactOrderList.Any((Maid e) => !e))
+		{
+			for (int num2 = 0; num2 < this.m_listTestPreset.Count; num2++)
+			{
+				Maid maid2 = GameMain.Instance.CharacterMgr.GetMaid(num2);
+				if (!maid2)
+				{
+					maid2 = GameMain.Instance.CharacterMgr.AddStockMaid();
+					GameMain.Instance.CharacterMgr.SetActiveMaid(maid2, num2);
+					CharacterMgr.Preset preset;
+					if (DanceMain.SelectDanceData != null && !string.IsNullOrEmpty(DanceMain.SelectDanceData.preset_name[num2]))
+					{
+						preset = GameMain.Instance.CharacterMgr.PresetLoadFromResources(DanceMain.SelectDanceData.preset_name[num2]);
+					}
+					else
+					{
+						preset = GameMain.Instance.CharacterMgr.PresetLoadFromResources(this.m_listTestPreset[num2]);
+					}
+					if (preset != null)
+					{
+						GameMain.Instance.CharacterMgr.PresetSet(maid2, preset);
+					}
+					this.m_listTempMaid.Add(maid2);
+					maid2.Visible = true;
+				}
+			}
+			for (int num3 = 0; num3 < DanceMain.SelectDanceData.maid_order.Count; num3++)
+			{
+				int index2 = DanceMain.SelectDanceData.maid_order[num3];
+				if (!RhythmAction_Mgr.Instance.FactOrderList[index2])
 				{
-					GameMain.Instance.CharacterMgr.DeactivateMaid(num);
-					GameMain.Instance.CharacterMgr.SetActiveMaid(list[DanceMain.SelectDanceData.maid_order[num]], num);
-					list[num].Visible = true;
+					RhythmAction_Mgr.Instance.FactOrderList[index2] = GameMain.Instance.CharacterMgr.GetMaid(num3);
 				}
 			}
 		}

+ 9 - 20
Assembly-CSharp/DanceSelect.cs

@@ -168,8 +168,7 @@ public class DanceSelect : WfScreenChildren
 		case RhythmAction_Mgr.DanceType.VrDance:
 		{
 			gameObject2.SetActive(false);
-			this.m_DanceModePanel.gameObject.SetActive(true);
-			this.m_MainButtonPanel.alpha = 0f;
+			this.CancelButton.gameObject.SetActive(false);
 			Transform transform = this.m_DanceModePanel.transform.Find("ButtonGroup");
 			bool flag = GameMain.Instance.VRMode && !GameMain.Instance.OvrMgr.OvrCamera.IsNoHandController;
 			if (flag)
@@ -227,8 +226,6 @@ public class DanceSelect : WfScreenChildren
 		{
 			NDebug.AssertNull(this.select_panelset_array_[i].ContentsPanel != null && this.select_panelset_array_[i].ParentPanel != null);
 		}
-		this.m_CharaSelectLabel = UTY.GetChildObject(this.CharaSelectPanel.ParentPanel.gameObject, "ExplanatoryText/Value", false).GetComponent<UILabel>();
-		this.m_CharaSelectLabel.text = "ダンスを行うメイドを選択してください。";
 		this.chara_select_mgr_ = this.CharaSelectPanel.ParentPanel.gameObject.GetComponentInChildren<CharacterSelectManager>();
 		NDebug.AssertNull(this.chara_select_mgr_ != null);
 	}
@@ -426,18 +423,14 @@ public class DanceSelect : WfScreenChildren
 		GameMain.Instance.MainCamera.SetAroundAngle(this.m_CamAngle, true);
 		GameMain.Instance.SoundMgr.PlayBGM(this.m_BGM, 0.5f, true);
 		this.Init();
-		if (this.IsFreeDance())
-		{
-			this.CallDanceModeSelect();
-		}
-		else if (RhythmAction_Mgr.IsVSDance && DanceSelect.m_SelectedDance.Count > 0)
-		{
-			this.CallCharaSelect();
-		}
-		else
-		{
-			this.CallMusicSelect();
-		}
+		DanceData danceData = DanceSelect.dance_data_list_.SingleOrDefault((DanceData e) => e.title == "Night Magic Fire");
+		DanceSelect.m_SelectedDance.Clear();
+		DanceSelect.m_SelectedDance.Add(danceData);
+		DanceMain.SelectDanceData = danceData;
+		this.m_DanceModePanel.alpha = 0f;
+		this.CharaSelectPanel.ParentPanel.alpha = 1f;
+		this.CallCharaSelect();
+		this.m_SettingObj.SetUIMode("鑑賞モード");
 		if (RhythmAction_Mgr.IsVSDance && DanceSelect.m_SelectedDance.Count == 0)
 		{
 			UIWFTabPanel componentInChildren = this.MusicSelectPanel.ContentsPanel.GetComponentInChildren<UIWFTabPanel>();
@@ -608,10 +601,6 @@ public class DanceSelect : WfScreenChildren
 			{
 				DanceSelect.m_SelectedDance.Add(this.m_SecondDanceData);
 			}
-			if (RhythmAction_Mgr.NowDance == RhythmAction_Mgr.DanceType.Challenge || RhythmAction_Mgr.IsVSDance)
-			{
-				this.m_CharaSelectLabel.text = "ダンスを行うメイドを" + select_chara_num + "人選択してください。";
-			}
 			if (1 < select_chara_num)
 			{
 				if (RhythmAction_Mgr.IsVSDance)

+ 67 - 29
Assembly-CSharp/DanceSetting.cs

@@ -6,6 +6,7 @@ using System.Linq;
 using System.Runtime.Serialization.Formatters.Binary;
 using System.Text;
 using Dance;
+using I2.Loc;
 using UnityEngine;
 
 public class DanceSetting : MonoBehaviour
@@ -99,7 +100,7 @@ public class DanceSetting : MonoBehaviour
 
 	private void Start()
 	{
-		EventDelegate.Callback callback = delegate
+		EventDelegate.Callback callback = delegate()
 		{
 			GameObject gameObject = GameObject.Find("Drop-down List");
 			if (gameObject)
@@ -122,6 +123,7 @@ public class DanceSetting : MonoBehaviour
 					if (transform.Find("Label"))
 					{
 						needData.Label = transform.Find("Label").GetComponent<UILabel>();
+						needData.localize = needData.Label.GetComponent<Localize>();
 					}
 					needData.Button = transform.GetComponentInChildren<UIButton>();
 					EventDelegate.Add(needData.Button.onClick, callback);
@@ -152,48 +154,60 @@ public class DanceSetting : MonoBehaviour
 		foreach (string text in list.items)
 		{
 			bool flag = false;
+			bool flag2 = false;
+			string text2 = text.Replace("\r", string.Empty);
+			string text3 = text2;
+			string[] array = text2.Split(new char[]
+			{
+				'/'
+			});
+			if (array != null && 1 < array.Length)
+			{
+				text3 = array[array.Length - 1];
+				flag2 = true;
+			}
 			switch (uiinspectorSetting.MyType)
 			{
 			case DanceSetting.SettingType.Product:
-				flag = this.IsProductMatch(text);
+				flag = this.IsProductMatch(text3);
 				break;
 			case DanceSetting.SettingType.Audience:
-				flag = this.IsAudienceMatch(text);
+				flag = this.IsAudienceMatch(text3);
 				break;
 			case DanceSetting.SettingType.DepthofField:
-				flag = this.IsSettingOn(text, DanceSetting.Settings.IsDepthOfFieldOn);
+				flag = this.IsSettingOn(text3, DanceSetting.Settings.IsDepthOfFieldOn);
 				break;
 			case DanceSetting.SettingType.SePlay:
-				flag = this.IsSettingOn(text, DanceSetting.Settings.IsSEPlay);
+				flag = this.IsSettingOn(text3, DanceSetting.Settings.IsSEPlay);
 				break;
 			case DanceSetting.SettingType.Voltage:
-				flag = this.IsVoltageMatch(text);
+				flag = this.IsVoltageMatch(text3);
 				break;
 			case DanceSetting.SettingType.BlackBg:
-				flag = this.IsSettingOn(text, DanceSetting.Settings.IsblackBGon);
+				flag = this.IsSettingOn(text3, DanceSetting.Settings.IsblackBGon);
 				break;
 			case DanceSetting.SettingType.NoteEffect:
-				flag = this.IsEffectLigthtMatch(text);
+				flag = this.IsEffectLigthtMatch(text3);
 				break;
 			case DanceSetting.SettingType.NoteTiming:
-				flag = this.IsTimingMatch(text);
+				flag = this.IsTimingMatch(text3);
 				break;
 			case DanceSetting.SettingType.JudgeTiming:
-				flag = this.IsJudgeTimingMatch(text);
+				flag = this.IsJudgeTimingMatch(text3);
 				break;
 			case DanceSetting.SettingType.FpsCam:
-				flag = this.IsSettingOn(text, DanceSetting.Settings.FPSCamMode);
+				flag = this.IsSettingOn(text3, DanceSetting.Settings.FPSCamMode);
 				break;
 			case DanceSetting.SettingType.Cutin:
-				flag = this.IsCutinMatch(text);
+				flag = this.IsCutinMatch(text3);
 				break;
 			case DanceSetting.SettingType.Undress:
-				flag = this.IsUndressFaceMatch(text);
+				flag = this.IsUndressFaceMatch(text3);
 				break;
 			}
 			if (flag)
 			{
-				list.value = text;
+				list.value = ((!flag2) ? text3 : text2);
 				break;
 			}
 		}
@@ -452,7 +466,20 @@ public class DanceSetting : MonoBehaviour
 
 	private void ValueSetting()
 	{
-		string value = UIPopupList.current.value;
+		string text = UIPopupList.current.value.Replace("\r", string.Empty);
+		string text2 = text;
+		bool isLocalized = UIPopupList.current.isLocalized;
+		if (isLocalized)
+		{
+			string[] array = text2.Split(new char[]
+			{
+				'/'
+			});
+			if (array != null && 1 < array.Length)
+			{
+				text2 = array[array.Length - 1];
+			}
+		}
 		DanceSetting.UIInspectorSetting uiinspectorSetting = this.m_SettingList.SingleOrDefault((DanceSetting.UIInspectorSetting e) => e.PopUpUI == UIPopupList.current);
 		if (uiinspectorSetting == null)
 		{
@@ -461,46 +488,54 @@ public class DanceSetting : MonoBehaviour
 		switch (uiinspectorSetting.MyType)
 		{
 		case DanceSetting.SettingType.Product:
-			this.SetProduct(value);
+			this.SetProduct(text2);
 			break;
 		case DanceSetting.SettingType.Audience:
-			this.SetAudience(value);
+			this.SetAudience(text2);
 			break;
 		case DanceSetting.SettingType.DepthofField:
-			this.SwitchFlag(value, ref DanceSetting.Settings.IsDepthOfFieldOn);
+			this.SwitchFlag(text2, ref DanceSetting.Settings.IsDepthOfFieldOn);
 			break;
 		case DanceSetting.SettingType.SePlay:
-			this.SwitchFlag(value, ref DanceSetting.Settings.IsSEPlay);
+			this.SwitchFlag(text2, ref DanceSetting.Settings.IsSEPlay);
 			break;
 		case DanceSetting.SettingType.Voltage:
-			this.SetVoltage(value);
+			this.SetVoltage(text2);
 			break;
 		case DanceSetting.SettingType.BlackBg:
-			this.SwitchFlag(value, ref DanceSetting.Settings.IsblackBGon);
+			this.SwitchFlag(text2, ref DanceSetting.Settings.IsblackBGon);
 			break;
 		case DanceSetting.SettingType.NoteEffect:
-			this.SetEffectLight(value);
+			this.SetEffectLight(text2);
 			break;
 		case DanceSetting.SettingType.NoteTiming:
-			this.SetNoteTiming(value);
+			this.SetNoteTiming(text2);
 			break;
 		case DanceSetting.SettingType.JudgeTiming:
-			this.SetJudgeTiming(value);
+			this.SetJudgeTiming(text2);
 			break;
 		case DanceSetting.SettingType.FpsCam:
-			this.SwitchFlag(value, ref DanceSetting.Settings.FPSCamMode);
+			this.SwitchFlag(text2, ref DanceSetting.Settings.FPSCamMode);
 			break;
 		case DanceSetting.SettingType.Cutin:
-			this.SetCutInGrade(value);
+			this.SetCutInGrade(text2);
 			break;
 		case DanceSetting.SettingType.Undress:
-			this.SetUndressFace(value);
+			this.SetUndressFace(text2);
 			break;
 		}
 		if (this.m_SettingUIList[UIPopupList.current].Label)
 		{
-			this.m_IsSettingChange = (this.m_SettingUIList[UIPopupList.current].Label.text != UIPopupList.current.value);
-			this.m_SettingUIList[UIPopupList.current].Label.text = UIPopupList.current.value;
+			if (isLocalized && this.m_SettingUIList[UIPopupList.current].localize != null)
+			{
+				this.m_IsSettingChange = (this.m_SettingUIList[UIPopupList.current].localize.Term != text);
+				this.m_SettingUIList[UIPopupList.current].localize.SetTerm(text);
+			}
+			else
+			{
+				this.m_IsSettingChange = (this.m_SettingUIList[UIPopupList.current].Label.text != text);
+				this.m_SettingUIList[UIPopupList.current].Label.text = text;
+			}
 		}
 	}
 
@@ -540,6 +575,7 @@ public class DanceSetting : MonoBehaviour
 		{
 			this.m_ModeLabel.text = "ダンスショー設定";
 		}
+		this.m_ModeLabel.GetComponent<Localize>().SetTerm("SceneDanceSelect/" + this.m_ModeLabel.text);
 		int num = 0;
 		foreach (DanceSetting.UIInspectorSetting uiinspectorSetting in this.m_SettingList)
 		{
@@ -619,6 +655,8 @@ public class DanceSetting : MonoBehaviour
 	{
 		public UILabel Label;
 
+		public Localize localize;
+
 		public UIButton Button;
 
 		public BoxCollider Collider;

+ 2 - 2
Assembly-CSharp/DeskManager.cs

@@ -143,7 +143,7 @@ internal class DeskManager
 	public static void SerializeSingleSaveData(BinaryWriter binary)
 	{
 		binary.Write("CM3D2_DeskCustomize");
-		binary.Write(1160);
+		binary.Write(1170);
 		binary.Write(DeskManager.item_inst_data_.Count);
 		for (int i = 0; i < DeskManager.item_inst_data_.Count; i++)
 		{
@@ -423,7 +423,7 @@ internal class DeskManager
 
 		public void Deserialize(BinaryReader binary, int game_ver)
 		{
-			Func<Vector3> func = delegate
+			Func<Vector3> func = delegate()
 			{
 				Vector3 zero = Vector3.zero;
 				zero.x = binary.ReadSingle();

+ 3 - 3
Assembly-CSharp/DynamicBone.cs

@@ -30,7 +30,7 @@ public class DynamicBone : MonoBehaviour
 			return false;
 		};
 		f_bw.Write("CM3D21_PHY");
-		f_bw.Write(1160);
+		f_bw.Write(1170);
 		if (this.m_Root == null)
 		{
 			NDebug.MessageBox("エラー", "×物理ルートボーンが設定されていません。");
@@ -94,7 +94,7 @@ public class DynamicBone : MonoBehaviour
 	public bool SerializeWriteCollider(BinaryWriter f_bw, string f_strFileName)
 	{
 		f_bw.Write("CM3D21_COL");
-		f_bw.Write(1160);
+		f_bw.Write(1170);
 		if (this.m_Colliders == null || this.m_Colliders.Count == 0)
 		{
 			NDebug.MessageBox("エラー", "×物理Collidersは空です。");
@@ -110,7 +110,7 @@ public class DynamicBone : MonoBehaviour
 			else
 			{
 				f_bw.Write(this.m_Colliders[i].TypeName);
-				this.m_Colliders[i].Serialize(f_bw, 1160);
+				this.m_Colliders[i].Serialize(f_bw, 1170);
 			}
 		}
 		this.m_ColliderFileName = f_strFileName;

+ 82 - 9
Assembly-CSharp/DynamicSkirtBone.cs

@@ -18,7 +18,7 @@ public class DynamicSkirtBone : MonoBehaviour
 	public bool SerializeWrite(BinaryWriter f_bw)
 	{
 		f_bw.Write("CM3D21_PSK");
-		f_bw.Write(1160);
+		f_bw.Write(1170);
 		f_bw.Write(this.m_fPanierRadius);
 		this.SerializeWriteAnimationCurve(f_bw, this.m_PanierRadiusDistrib);
 		int num = (this.m_PanierRadiusDistribGroup == null) ? 0 : this.m_PanierRadiusDistribGroup.Length;
@@ -962,12 +962,77 @@ public class DynamicSkirtBone : MonoBehaviour
 			this.m_aryPanierBonePos[3 * num28 + 1] = transform13.position.y;
 			this.m_aryPanierBonePos[3 * num28 + 2] = transform13.position.z;
 		}
+		if (GameMain.Instance.VRMode)
+		{
+			Transform transform14 = GameMain.Instance.OvrMgr.GetVRControllerTransform(true).transform;
+			Transform transform15 = GameMain.Instance.OvrMgr.GetVRControllerTransform(false).transform;
+			AVRControllerButtons vrcontrollerButtons = GameMain.Instance.OvrMgr.GetVRControllerButtons(true);
+			AVRControllerButtons vrcontrollerButtons2 = GameMain.Instance.OvrMgr.GetVRControllerButtons(false);
+			Func<int, Transform, AVRControllerButtons, int> func = delegate(int grabIdx, Transform handTrans, AVRControllerButtons handBtns)
+			{
+				if (grabIdx == -1)
+				{
+					for (int num37 = 0; num37 < this.m_nHookBoneCount; num37++)
+					{
+						int num38 = this.m_nBoneCount / this.m_nHookBoneCount;
+						for (int num39 = 0; num39 < num38; num39++)
+						{
+							int num40 = num37 + num39 * this.m_nHookBoneCount;
+							Transform transform18 = this.m_aryBoneTrs[num40];
+							if (handBtns.GetPressDown(AVRControllerButtons.BTN.VIRTUAL_GRUB) && (transform18.position - handTrans.position).magnitude < 0.2f)
+							{
+								grabIdx = num40;
+								break;
+							}
+						}
+					}
+				}
+				else if (handBtns.GetPress(AVRControllerButtons.BTN.VIRTUAL_GRUB))
+				{
+					for (int num41 = grabIdx; num41 < this.m_nBoneCount; num41 += this.m_nHookBoneCount)
+					{
+						this.m_aryPanierForce[num41] = 0f;
+					}
+					Vector3 position9 = handTrans.position;
+					this.m_aryPanierBonePos[3 * grabIdx] = position9.x;
+					this.m_aryPanierBonePos[3 * grabIdx + 1] = position9.y;
+					this.m_aryPanierBonePos[3 * grabIdx + 2] = position9.z;
+					this.m_aryPanierForce[grabIdx] = 1f;
+					Transform transform19 = this.m_aryBoneTrs[grabIdx];
+					for (int num42 = 0; num42 < this.m_nHookBoneCount; num42++)
+					{
+						int num43 = this.m_nBoneCount / this.m_nHookBoneCount;
+						for (int num44 = 0; num44 < num43; num44++)
+						{
+							int num45 = num42 + num44 * this.m_nHookBoneCount;
+							if (grabIdx != num45)
+							{
+								Transform transform20 = this.m_aryBoneTrs[num45];
+								float magnitude2 = (transform19.position - transform20.position).magnitude;
+								if (magnitude2 <= 0.5f)
+								{
+									this.m_aryPanierForce[num45] *= magnitude2 / 0.5f;
+								}
+							}
+						}
+					}
+					Debug.DrawLine(this.m_aryBoneTrs[grabIdx].position, this.m_aryBoneTrs[grabIdx].position + Vector3.up, Color.red);
+				}
+				else
+				{
+					grabIdx = -1;
+				}
+				return grabIdx;
+			};
+			this.m_nGrabIdxLeft = func(this.m_nGrabIdxLeft, transform14, vrcontrollerButtons);
+			this.m_nGrabIdxRight = func(this.m_nGrabIdxRight, transform15, vrcontrollerButtons2);
+		}
 		for (int num29 = 0; num29 < this.m_nBodyBallCount; num29++)
 		{
-			Transform transform14 = this.m_listBodyBallPos[num29];
-			this.m_aryBodyBallPos[3 * num29] = transform14.position.x;
-			this.m_aryBodyBallPos[3 * num29 + 1] = transform14.position.y;
-			this.m_aryBodyBallPos[3 * num29 + 2] = transform14.position.z;
+			Transform transform16 = this.m_listBodyBallPos[num29];
+			this.m_aryBodyBallPos[3 * num29] = transform16.position.x;
+			this.m_aryBodyBallPos[3 * num29 + 1] = transform16.position.y;
+			this.m_aryBodyBallPos[3 * num29 + 2] = transform16.position.z;
 		}
 		for (int num30 = 0; num30 < this.m_nBodyCapsuleCount; num30++)
 		{
@@ -1000,8 +1065,8 @@ public class DynamicSkirtBone : MonoBehaviour
 			{
 				int num34 = num31 + num33 * this.m_nHookBoneCount;
 				Vector3 vector17 = new Vector3(this.m_aryBonePos[3 * num34], this.m_aryBonePos[3 * num34 + 1], this.m_aryBonePos[3 * num34 + 2]);
-				Transform transform15 = this.m_aryBoneTrs[num34];
-				transform15.position = vector17;
+				Transform transform17 = this.m_aryBoneTrs[num34];
+				transform17.position = vector17;
 				if (num33 < num32 - 1)
 				{
 					int num35 = num31 + (num33 + 1) * this.m_nHookBoneCount;
@@ -1011,11 +1076,11 @@ public class DynamicSkirtBone : MonoBehaviour
 					Vector3 vector19 = Vector3.Cross(lhs, vector18);
 					Quaternion rotation = Quaternion.AngleAxis(-90f, vector19);
 					vector18 = rotation * vector18;
-					transform15.rotation = Quaternion.LookRotation(vector19, vector18);
+					transform17.rotation = Quaternion.LookRotation(vector19, vector18);
 				}
 				if (this.m_bOldBone && this.m_bPanierOldBoneRotRev[num34])
 				{
-					transform15.Rotate(this.m_vPanierOldBoneRotRevAfter[num34], Space.Self);
+					transform17.Rotate(this.m_vPanierOldBoneRotRevAfter[num34], Space.Self);
 				}
 			}
 		}
@@ -1277,6 +1342,14 @@ public class DynamicSkirtBone : MonoBehaviour
 
 	private Plane[] m_aryLegSegPlane;
 
+	private int m_nGrabIdxLeft = -1;
+
+	private int m_nGrabIdxRight = -1;
+
+	private Vector3 m_vGrabPos = Vector3.zero;
+
+	private float m_grabDistance;
+
 	[Serializable]
 	public class PanierRadiusGroup
 	{

+ 1 - 1
Assembly-CSharp/EditMod.cs

@@ -265,7 +265,7 @@ public class EditMod : MonoBehaviour
 		MemoryStream memoryStream = new MemoryStream();
 		BinaryWriter binaryWriter = new BinaryWriter(memoryStream);
 		binaryWriter.Write("CM3D2_MOD");
-		binaryWriter.Write(1160);
+		binaryWriter.Write(1170);
 		binaryWriter.Write(value);
 		binaryWriter.Write(text2.ToLower());
 		binaryWriter.Write(value2);

+ 1 - 1
Assembly-CSharp/ExChangeUI.cs

@@ -18,7 +18,7 @@ public class ExChangeUI : MonoBehaviour
 	private void Awake()
 	{
 		ExChangeUI.Instance = this;
-		this.FadeInStartAction = (Action)Delegate.Combine(this.FadeInStartAction, new Action(delegate
+		this.FadeInStartAction = (Action)Delegate.Combine(this.FadeInStartAction, new Action(delegate()
 		{
 			this.m_ExchangeButton.interactable = false;
 		}));

+ 63 - 0
Assembly-CSharp/FABRIKCtrlData.cs

@@ -0,0 +1,63 @@
+using System;
+using System.Linq;
+using RootMotion.FinalIK;
+using UnityEngine;
+
+[Serializable]
+public class FABRIKCtrlData : IKCtrlData
+{
+	public FABRIKCtrlData(FABRIK fabr_ik, Transform[] chain_bones, FullBodyIKCtrl ik_ctrl, bool attach_ik = false) : base(ik_ctrl, chain_bones.Last<Transform>(), false, attach_ik)
+	{
+		this.FABRIK = fabr_ik;
+		this.FABRIK.fixTransforms = false;
+		this.IKSolver.target = base.IKTarget;
+		this.IKSolver.useRotationLimits = false;
+		this.IKSolver.maxIterations = 4;
+		this.IKSolver.Initiate(chain_bones[0]);
+		this.IKSolver.SetChain(chain_bones, chain_bones[0]);
+		this.FABRIK.enabled = false;
+		this.m_ForceIKEnable = false;
+	}
+
+	public IKSolverFABRIK IKSolver
+	{
+		get
+		{
+			return this.FABRIK.solver;
+		}
+	}
+
+	public override Transform[] ChainBones
+	{
+		get
+		{
+			return (from bone in this.IKSolver.bones
+			select bone.transform).ToArray<Transform>();
+		}
+	}
+
+	public override float PositionWeight
+	{
+		get
+		{
+			return this.IKSolver.IKPositionWeight;
+		}
+		set
+		{
+			this.IKSolver.IKPositionWeight = value;
+		}
+	}
+
+	public override float RotationWeight { get; set; }
+
+	public override void Update()
+	{
+		this.FABRIK.solver.Update();
+		if (base.RotateIK.IsIKExec)
+		{
+			base.TargetBone.rotation = Quaternion.Lerp(base.TargetBone.rotation, base.IKTarget.rotation, this.RotationWeight);
+		}
+	}
+
+	public readonly FABRIK FABRIK;
+}

+ 9 - 0
Assembly-CSharp/FFNameDialog.cs

@@ -1,4 +1,5 @@
 using System;
+using I2.Loc;
 using UnityEngine;
 
 public class FFNameDialog : MonoBehaviour
@@ -66,6 +67,14 @@ public class FFNameDialog : MonoBehaviour
 		this.m_bDecided = false;
 	}
 
+	public void ShowFromLanguageTerm(string messageTerm, string resultATerm, FFNameDialog.OnClick f_dgA, string resultBTerm, FFNameDialog.OnClick f_dgB = null)
+	{
+		messageTerm = LocalizationManager.GetTranslation(messageTerm, true, 0, true, false, null, null);
+		resultATerm = LocalizationManager.GetTranslation(resultATerm, true, 0, true, false, null, null);
+		resultBTerm = LocalizationManager.GetTranslation(resultBTerm, true, 0, true, false, null, null);
+		this.Show(messageTerm, resultATerm, f_dgA, resultBTerm, f_dgB);
+	}
+
 	public void UpdateAlpha(float f_fNewValue)
 	{
 		this.m_uiPanel.alpha = f_fNewValue;

+ 1 - 1
Assembly-CSharp/FacilityFlag/Util.cs

@@ -169,7 +169,7 @@ namespace FacilityFlag
 			List<byte> prefixBytes = new List<byte>();
 			byte b = 0;
 			Action f = null;
-			f = delegate
+			f = delegate()
 			{
 				b = (byte)(value & 127);
 				value >>= 7;

+ 1 - 1
Assembly-CSharp/FacilityManager.cs

@@ -657,7 +657,7 @@ public class FacilityManager : MonoBehaviour
 		Stopwatch stopwatch = new Stopwatch();
 		stopwatch.Start();
 		brWrite.Write("CM3D21_FACILITY_MGR");
-		brWrite.Write(1160);
+		brWrite.Write(1170);
 		brWrite.Write("5");
 		int num = 0;
 		for (int i = 0; i < this.m_FacilityArray.Count; i++)

+ 2 - 2
Assembly-CSharp/FacilityUIList.cs

@@ -45,8 +45,8 @@ public class FacilityUIList : MonoBehaviour
 				{
 					return;
 				}
-				this.m_Manager.OpenFacilityUIPowerUpList(facility);
-				this.m_Manager.UpdateFacilityInfo(facility);
+				<SetupFacilityListButton>c__AnonStorey.m_Manager.OpenFacilityUIPowerUpList(facility);
+				<SetupFacilityListButton>c__AnonStorey.m_Manager.UpdateFacilityInfo(facility);
 			});
 		});
 	}

+ 11 - 8
Assembly-CSharp/FacilityUIPowerUpList.cs

@@ -12,15 +12,18 @@ public class FacilityUIPowerUpList : MonoBehaviour
 
 	private void SetupFacilityPowerUpListButton(Facility facility, Action<Facility.PowerUpRecipe> callbackSelect)
 	{
+		FacilityUIPowerUpList.<SetupFacilityPowerUpListButton>c__AnonStorey0 <SetupFacilityPowerUpListButton>c__AnonStorey = new FacilityUIPowerUpList.<SetupFacilityPowerUpListButton>c__AnonStorey0();
+		<SetupFacilityPowerUpListButton>c__AnonStorey.callbackSelect = callbackSelect;
+		<SetupFacilityPowerUpListButton>c__AnonStorey.$this = this;
 		this.m_uGUIListViewer.parentItemArea.gameObject.SetActive(true);
-		int[] powerUpRecipeIDArray = new int[0];
+		<SetupFacilityPowerUpListButton>c__AnonStorey.powerUpRecipeIDArray = new int[0];
 		if (FacilityDataTable.IsExistFacilityPowerUpRecipe(facility.param.typeID, true))
 		{
-			powerUpRecipeIDArray = FacilityDataTable.GetFacilityPowerUpRecipeIDArray(facility.param.typeID, true);
+			<SetupFacilityPowerUpListButton>c__AnonStorey.powerUpRecipeIDArray = FacilityDataTable.GetFacilityPowerUpRecipeIDArray(facility.param.typeID, true);
 		}
-		this.m_uGUIListViewer.Show<Transform>(powerUpRecipeIDArray.Length, delegate(int i, Transform trans)
+		this.m_uGUIListViewer.Show<Transform>(<SetupFacilityPowerUpListButton>c__AnonStorey.powerUpRecipeIDArray.Length, delegate(int i, Transform trans)
 		{
-			Facility.PowerUpRecipe powerUpRecipe = FacilityDataTable.GetFacilityPowerUpRecipe(powerUpRecipeIDArray[i]);
+			Facility.PowerUpRecipe powerUpRecipe = FacilityDataTable.GetFacilityPowerUpRecipe(<SetupFacilityPowerUpListButton>c__AnonStorey.powerUpRecipeIDArray[i]);
 			Toggle componentInChildren = trans.GetComponentInChildren<Toggle>();
 			Text componentInChildren2 = trans.GetComponentInChildren<Text>();
 			componentInChildren2.text = powerUpRecipe.name;
@@ -31,14 +34,14 @@ public class FacilityUIPowerUpList : MonoBehaviour
 				{
 					return;
 				}
-				if (callbackSelect != null)
+				if (<SetupFacilityPowerUpListButton>c__AnonStorey.callbackSelect != null)
 				{
-					callbackSelect(powerUpRecipe);
+					<SetupFacilityPowerUpListButton>c__AnonStorey.callbackSelect(powerUpRecipe);
 				}
-				this.UpdateConditionsText(powerUpRecipe.id);
+				<SetupFacilityPowerUpListButton>c__AnonStorey.UpdateConditionsText(powerUpRecipe.id);
 			});
 		});
-		if (powerUpRecipeIDArray.Length <= 0)
+		if (<SetupFacilityPowerUpListButton>c__AnonStorey.powerUpRecipeIDArray.Length <= 0)
 		{
 			this.m_uGUIListViewer.Show<Transform>(1, delegate(int i, Transform trans)
 			{

+ 9 - 7
Assembly-CSharp/FacilityUIPowerUpMaterialList.cs

@@ -25,14 +25,16 @@ public class FacilityUIPowerUpMaterialList : MonoBehaviour
 
 	private void SetupFacilityPowerUpMaterialListDropDown(int id, Facility facility)
 	{
+		FacilityUIPowerUpMaterialList.<SetupFacilityPowerUpMaterialListDropDown>c__AnonStorey0 <SetupFacilityPowerUpMaterialListDropDown>c__AnonStorey = new FacilityUIPowerUpMaterialList.<SetupFacilityPowerUpMaterialListDropDown>c__AnonStorey0();
+		<SetupFacilityPowerUpMaterialListDropDown>c__AnonStorey.$this = this;
 		this.m_uGUIListViewer.parentItemArea.gameObject.SetActive(true);
 		this.DeleteDropdown();
 		Facility.PowerUpRecipe facilityPowerUpRecipe = FacilityDataTable.GetFacilityPowerUpRecipe(id);
-		int[] materialCategoryIDArray = facilityPowerUpRecipe.materialCategoryIDArray;
-		Facility.RecipeData recipeData = facility.GetRecipeData(id);
-		this.m_uGUIListViewer.Show<Transform>(materialCategoryIDArray.Length, delegate(int i, Transform trans)
+		<SetupFacilityPowerUpMaterialListDropDown>c__AnonStorey.materialCategoryIDArray = facilityPowerUpRecipe.materialCategoryIDArray;
+		<SetupFacilityPowerUpMaterialListDropDown>c__AnonStorey.recipeData = facility.GetRecipeData(id);
+		this.m_uGUIListViewer.Show<Transform>(<SetupFacilityPowerUpMaterialListDropDown>c__AnonStorey.materialCategoryIDArray.Length, delegate(int i, Transform trans)
 		{
-			int num = materialCategoryIDArray[i];
+			int num = <SetupFacilityPowerUpMaterialListDropDown>c__AnonStorey.materialCategoryIDArray[i];
 			Dropdown componentInChildren = trans.GetComponentInChildren<Dropdown>();
 			Text[] componentsInChildren = trans.GetComponentsInChildren<Text>();
 			FacilityUIPowerUpMaterialList.DropdownPowerUpMaterial dropdownPowerUpMaterial = trans.gameObject.AddComponent<FacilityUIPowerUpMaterialList.DropdownPowerUpMaterial>();
@@ -40,13 +42,13 @@ public class FacilityUIPowerUpMaterialList : MonoBehaviour
 			componentsInChildren[0].text = facilityPowerUpMaterialCategoryName;
 			componentsInChildren[1].text = string.Format("CATEGORY{0}", i + 1);
 			componentInChildren.ClearOptions();
-			Facility.PowerUpMaterial[] materialArray = this.FacilityMgr.GetFacilityPowerUpItemEnableArray(num);
+			Facility.PowerUpMaterial[] materialArray = <SetupFacilityPowerUpMaterialListDropDown>c__AnonStorey.$this.FacilityMgr.GetFacilityPowerUpItemEnableArray(num);
 			if (materialArray.Length > 0)
 			{
 				for (int j = 0; j < materialArray.Length; j++)
 				{
 					componentInChildren.options.Add(new Dropdown.OptionData(materialArray[j].name));
-					if (recipeData.materialIDArray[i] == materialArray[j].id)
+					if (<SetupFacilityPowerUpMaterialListDropDown>c__AnonStorey.recipeData.materialIDArray[i] == materialArray[j].id)
 					{
 						dropdownPowerUpMaterial.materialID = materialArray[j].id;
 						componentInChildren.value = j;
@@ -75,7 +77,7 @@ public class FacilityUIPowerUpMaterialList : MonoBehaviour
 			componentInChildren.onValueChanged.AddListener(delegate(int value)
 			{
 				dropdownPowerUpMaterial.materialID = materialArray[value].id;
-				this.OnUpdateDropdownParams();
+				<SetupFacilityPowerUpMaterialListDropDown>c__AnonStorey.OnUpdateDropdownParams();
 			});
 			if (i == 0)
 			{

+ 1 - 1
Assembly-CSharp/FluctuationOfParameterUnit.cs

@@ -49,7 +49,7 @@ public class FluctuationOfParameterUnit : MonoBehaviour
 		}
 		else
 		{
-			this.anime_event_ = delegate
+			this.anime_event_ = delegate()
 			{
 				iTween.ValueTo(this.gameObject, iTween.Hash(new object[]
 				{

+ 663 - 0
Assembly-CSharp/FullBodyIKCtrl.cs

@@ -0,0 +1,663 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using RootMotion.FinalIK;
+using UnityEngine;
+
+public class FullBodyIKCtrl : MonoBehaviour
+{
+	private HeightIKCtrlData m_MouthIKData
+	{
+		get
+		{
+			return (!this.m_strIKDataPair.ContainsKey("口")) ? null : ((HeightIKCtrlData)this.m_strIKDataPair["口"]);
+		}
+	}
+
+	public Transform BodyTarget { get; private set; }
+
+	public bool IsUpdateEnd { get; private set; }
+
+	public BodyCtrlData BodyCtrlData
+	{
+		get
+		{
+			return this.m_BodyCtrlData;
+		}
+	}
+
+	public TBody TgtBody
+	{
+		get
+		{
+			return this.m_TgtBody;
+		}
+	}
+
+	public Maid TgtMaid
+	{
+		get
+		{
+			return this.m_TgtBody.maid;
+		}
+	}
+
+	public FullBodyBipedIK FullbodyIK
+	{
+		get
+		{
+			return this.m_FullbodyIK;
+		}
+	}
+
+	public Transform IKTgtRoot
+	{
+		get
+		{
+			return this.m_IKTgtRoot;
+		}
+	}
+
+	public IKEffector BodyEffector
+	{
+		get
+		{
+			return this.m_FullbodyIK.solver.bodyEffector;
+		}
+	}
+
+	public Dictionary<string, IKCtrlData> strIKDataPair
+	{
+		get
+		{
+			return this.m_strIKDataPair;
+		}
+	}
+
+	public bool IsIKExec
+	{
+		get
+		{
+			return this.m_strIKDataPair.Any((KeyValuePair<string, IKCtrlData> ik) => ik.Value.IsIKExec) && this.IKActive;
+		}
+	}
+
+	private void Update()
+	{
+		this.IsUpdateEnd = false;
+		if (this.BodyCtrlData.IsIKExec && this.IKActive)
+		{
+			this.TgtMaid.SetPos(this.BodyCtrlData.OrijinMaidPos);
+			if (this.BodyCtrlData.DoAllOffset)
+			{
+				GameMain.Instance.CharacterMgr.SetCharaAllPos(this.BodyCtrlData.OrijinAllPos);
+			}
+		}
+	}
+
+	private void OnDestroy()
+	{
+		if (this.m_IKTgtRoot)
+		{
+			UnityEngine.Object.Destroy(this.m_IKTgtRoot);
+		}
+	}
+
+	private BodyCtrlData SafeAddBodyCtrlData(string key_str)
+	{
+		BodyCtrlData bodyCtrlData = new BodyCtrlData(this);
+		if (this.m_strIKDataPair.ContainsKey(key_str))
+		{
+			this.m_strIKDataPair[key_str] = bodyCtrlData;
+		}
+		else
+		{
+			this.m_strIKDataPair.Add(key_str, bodyCtrlData);
+		}
+		this.m_BodyCtrlData = bodyCtrlData;
+		return (BodyCtrlData)this.m_strIKDataPair[key_str];
+	}
+
+	private BipedIKCtrlData SafeAddFullbodyIKData(string key_str, IKEffector effector, FBIKChain chain, IKMappingLimb ik_mapping, IKEffector sub_effector, bool use_old = false)
+	{
+		BipedIKCtrlData value = new BipedIKCtrlData(effector, chain, ik_mapping, this, effector.bone, sub_effector, use_old);
+		if (this.m_strIKDataPair.ContainsKey(key_str))
+		{
+			this.m_strIKDataPair[key_str] = value;
+		}
+		else
+		{
+			this.m_strIKDataPair.Add(key_str, value);
+		}
+		this.m_FullbodyDataList.Add((BipedIKCtrlData)this.m_strIKDataPair[key_str]);
+		return (BipedIKCtrlData)this.m_strIKDataPair[key_str];
+	}
+
+	private CCDIKCtrlData SafeAddCCDIKData(string key_str, ref CCDIK ccd_ik, bool weight_fade, bool attach_ik, IKManager.BoneType boneType, bool affect_height)
+	{
+		if (ccd_ik)
+		{
+			UnityEngine.Object.DestroyImmediate(ccd_ik);
+		}
+		ccd_ik = this.IKTgtRoot.gameObject.AddComponent<CCDIK>();
+		CCDIKCtrlData value = (!affect_height) ? new CCDIKCtrlData(ccd_ik, this.GetChainBonesToInit(boneType), this, weight_fade, attach_ik) : new HeightIKCtrlData(ccd_ik, this.GetChainBonesToInit(boneType), this, weight_fade, attach_ik);
+		if (this.m_strIKDataPair.ContainsKey(key_str))
+		{
+			this.m_strIKDataPair[key_str] = value;
+		}
+		else
+		{
+			this.m_strIKDataPair.Add(key_str, value);
+		}
+		this.m_CCDDataList.Add((CCDIKCtrlData)this.m_strIKDataPair[key_str]);
+		return (CCDIKCtrlData)this.m_strIKDataPair[key_str];
+	}
+
+	private FABRIKCtrlData SafeAddFABRIKData(string key_str, ref FABRIK fabr_ik, bool weight_fade, bool attach_ik, IKManager.BoneType boneType, bool affect_height)
+	{
+		if (fabr_ik)
+		{
+			UnityEngine.Object.DestroyImmediate(fabr_ik);
+		}
+		fabr_ik = this.IKTgtRoot.gameObject.AddComponent<FABRIK>();
+		FABRIKCtrlData value = new FABRIKCtrlData(fabr_ik, this.GetChainBonesToInit(boneType), this, attach_ik);
+		if (this.m_strIKDataPair.ContainsKey(key_str))
+		{
+			this.m_strIKDataPair[key_str] = value;
+		}
+		else
+		{
+			this.m_strIKDataPair.Add(key_str, value);
+		}
+		this.m_FABRDataList.Add((FABRIKCtrlData)this.m_strIKDataPair[key_str]);
+		return (FABRIKCtrlData)this.m_strIKDataPair[key_str];
+	}
+
+	public void LateIKUpdate()
+	{
+		this.IKUpdate();
+		this.TgtBody.AutoTwist();
+		for (int i = 0; i < this.TgtBody.goSlot.Count; i++)
+		{
+			if (this.TgtBody.goSlot[i].obj != null)
+			{
+				this.TgtBody.goSlot[i].CopyTrans();
+			}
+			this.TgtBody.goSlot[i].Update();
+		}
+	}
+
+	public void Init()
+	{
+		this.m_TgtBody = base.GetComponent<TBody>();
+		if (!this.m_IKTgtRoot)
+		{
+			this.m_IKTgtRoot = new GameObject("IK Target Root").transform;
+			this.m_IKTgtRoot.SetParent(this.m_TgtBody.m_trBones, false);
+		}
+		if (!this.TgtMaid.boMAN)
+		{
+			this.m_STRoot = this.m_TgtBody.m_trBones.Find("ST_Root");
+		}
+		if (this.m_FullbodyIK)
+		{
+			UnityEngine.Object.DestroyImmediate(this.m_FullbodyIK);
+		}
+		this.m_FullbodyIK = this.m_IKTgtRoot.gameObject.AddComponent<FullBodyBipedIK>();
+		this.m_Mouth = new GameObject("Mouth").transform;
+		this.m_Mouth.SetParent(this.TgtBody.trsHead, false);
+		this.m_Mouth.localEulerAngles = new Vector3(-90f, 90f, 0f);
+		if (!this.TgtMaid.boMAN)
+		{
+			this.m_NippleL = new GameObject("Nipple_L").transform;
+			this.m_NippleL.SetParent(CMT.SearchObjName(this.TgtBody.m_trBones, "Mune_L_sub", true), false);
+			this.m_NippleR = new GameObject("Nipple_R").transform;
+			this.m_NippleR.SetParent(CMT.SearchObjName(this.TgtBody.m_trBones, "Mune_R_sub", true), false);
+		}
+		this.m_FullbodyDataList.Clear();
+		this.m_CCDDataList.Clear();
+		this.m_ForearmCalfIKList.Clear();
+		this.m_FABRDataList.Clear();
+		this.m_IKBoneDic = IKManager.CreateBoneDic(this.TgtMaid);
+		this.m_FullbodyIK.references.root = this.m_TgtBody.m_trBones;
+		this.m_FullbodyIK.references.pelvis = this.GetIKBone(IKManager.BoneType.Root);
+		if (!this.TgtMaid.boMAN)
+		{
+			this.m_FullbodyIK.references.spine = new Transform[]
+			{
+				this.m_IKBoneDic[IKManager.BoneType.Spine0].Value.transform,
+				this.m_IKBoneDic[IKManager.BoneType.Spine3].Value.transform
+			};
+		}
+		else
+		{
+			this.m_FullbodyIK.references.spine = new Transform[]
+			{
+				this.m_IKBoneDic[IKManager.BoneType.Spine0].Value.transform,
+				this.m_IKBoneDic[IKManager.BoneType.Spine2].Value.transform
+			};
+		}
+		this.m_FullbodyIK.references.head = this.GetIKBone(IKManager.BoneType.Head);
+		this.m_FullbodyIK.references.leftUpperArm = this.GetIKBone(IKManager.BoneType.UpperArm_L);
+		this.m_FullbodyIK.references.leftForearm = this.GetIKBone(IKManager.BoneType.Forearm_L);
+		this.m_FullbodyIK.references.leftHand = this.GetIKBone(IKManager.BoneType.Hand_L);
+		this.m_FullbodyIK.references.rightUpperArm = this.GetIKBone(IKManager.BoneType.UpperArm_R);
+		this.m_FullbodyIK.references.rightForearm = this.GetIKBone(IKManager.BoneType.Forearm_R);
+		this.m_FullbodyIK.references.rightHand = this.GetIKBone(IKManager.BoneType.Hand_R);
+		this.m_FullbodyIK.references.leftThigh = this.GetIKBone(IKManager.BoneType.Thigh_L);
+		this.m_FullbodyIK.references.leftCalf = this.GetIKBone(IKManager.BoneType.Calf_L);
+		this.m_FullbodyIK.references.leftFoot = this.GetIKBone(IKManager.BoneType.Foot_L);
+		this.m_FullbodyIK.references.rightThigh = this.GetIKBone(IKManager.BoneType.Thigh_R);
+		this.m_FullbodyIK.references.rightCalf = this.GetIKBone(IKManager.BoneType.Calf_R);
+		this.m_FullbodyIK.references.rightFoot = this.GetIKBone(IKManager.BoneType.Foot_R);
+		this.m_FullbodyIK.solver.SetToReferences(this.m_FullbodyIK.references, null);
+		this.m_FullbodyIK.fixTransforms = false;
+		foreach (IKEffector ikeffector in this.m_FullbodyIK.solver.effectors)
+		{
+			ikeffector.positionWeight = 0f;
+			ikeffector.rotationWeight = 0f;
+		}
+		foreach (FBIKChain fbikchain in this.m_FullbodyIK.solver.chain)
+		{
+			fbikchain.bendConstraint.weight = 0f;
+		}
+		this.m_BodyCtrlData = this.SafeAddBodyCtrlData("体全体");
+		this.SafeAddFullbodyIKData("左手", this.m_FullbodyIK.solver.leftHandEffector, this.m_FullbodyIK.solver.leftArmChain, this.m_FullbodyIK.solver.leftArmMapping, this.m_FullbodyIK.solver.leftShoulderEffector, true);
+		this.SafeAddFullbodyIKData("右手", this.m_FullbodyIK.solver.rightHandEffector, this.m_FullbodyIK.solver.rightArmChain, this.m_FullbodyIK.solver.rightArmMapping, this.m_FullbodyIK.solver.rightShoulderEffector, true);
+		this.SafeAddFullbodyIKData("左足", this.m_FullbodyIK.solver.leftFootEffector, this.m_FullbodyIK.solver.leftLegChain, this.m_FullbodyIK.solver.leftLegMapping, this.m_FullbodyIK.solver.leftThighEffector, false);
+		this.SafeAddFullbodyIKData("右足", this.m_FullbodyIK.solver.rightFootEffector, this.m_FullbodyIK.solver.rightLegChain, this.m_FullbodyIK.solver.rightLegMapping, this.m_FullbodyIK.solver.rightThighEffector, false);
+		this.SafeAddCCDIKData("口", ref this.m_MouthIK, true, true, IKManager.BoneType.Mouth, true);
+		this.m_ForearmCalfIKList.Add(this.SafeAddFABRIKData("右肘", ref this.m_ForearmRIK, false, true, IKManager.BoneType.Forearm_R, false));
+		this.m_ForearmCalfIKList.Add(this.SafeAddFABRIKData("左肘", ref this.m_ForearmLIK, false, true, IKManager.BoneType.Forearm_L, false));
+		this.m_ForearmCalfIKList.Add(this.SafeAddFABRIKData("右膝", ref this.m_CalfRIK, false, true, IKManager.BoneType.Calf_R, false));
+		this.m_ForearmCalfIKList.Add(this.SafeAddFABRIKData("左膝", ref this.m_CalfLIK, false, true, IKManager.BoneType.Calf_L, false));
+		if (!this.BodyTarget)
+		{
+			Transform transform = this.m_IKTgtRoot.Find(this.BodyEffector.bone.name);
+			transform = new GameObject(this.BodyEffector.bone.name).transform;
+			transform.SetParent(this.m_IKTgtRoot, false);
+			this.BodyTarget = new GameObject("IKTarget").transform;
+			this.BodyTarget.SetParent(transform, false);
+		}
+		this.BodyEffector.target = this.BodyTarget;
+		this.m_FullbodyIK.enabled = false;
+	}
+
+	public void IKUpdate()
+	{
+		if (this.TgtMaid.boMAN)
+		{
+			this.m_Mouth.localPosition = new Vector3(-0.013f, 0.1115f, 0f);
+		}
+		else
+		{
+			this.AttachPointTransCpy(this.m_Mouth, "head", "歯", false);
+			this.AttachPointTransCpy(this.m_NippleL, "body", "乳首左", false);
+			this.AttachPointTransCpy(this.m_NippleR, "body", "乳首右", false);
+		}
+		this.BodyEffector.positionWeight = 0f;
+		this.BodyTarget.position = this.BodyEffector.bone.position;
+		this.DoHeightCover = false;
+		this.IsUpdateLate = false;
+		if (!this.IKActive)
+		{
+			return;
+		}
+		bool flag = false;
+		foreach (IKCtrlData ikctrlData in this.m_strIKDataPair.Values)
+		{
+			ikctrlData.ApplyIKSetting();
+			flag |= ikctrlData.IsIKExec;
+		}
+		if (!this.IsUpdateLate && (flag || this.AllForceIK))
+		{
+			this.SolverUpdate();
+		}
+	}
+
+	public void SolverUpdate()
+	{
+		this.IsUpdateEnd = true;
+		Action postSolverUpdate = this.PostSolverUpdate;
+		this.PostSolverUpdate = null;
+		if (this.BodyCtrlData.IsIKExec)
+		{
+			this.BodyCtrlData.Update();
+		}
+		bool flag = this.m_FullbodyDataList.Any((BipedIKCtrlData data) => data.IsIKExec && !data.OldIkExec);
+		if (this.m_MouthIKData.IsIKExec)
+		{
+			this.m_MouthIKData.Update();
+		}
+		flag |= (this.BodyEffector.positionWeight == 1f);
+		if (flag)
+		{
+			Vector3 position = this.m_FullbodyIK.references.spine[0].InverseTransformPoint(this.m_FullbodyIK.references.spine[1].position);
+			this.m_FullbodyIK.solver.Update();
+			if (this.GetIKData("右足").IsIKExec || this.GetIKData("左足").IsIKExec)
+			{
+				this.m_FullbodyIK.references.spine[1].position = this.m_FullbodyIK.references.spine[0].TransformPoint(position);
+			}
+		}
+		for (int i = 0; i < this.m_ForearmCalfIKList.Count; i++)
+		{
+			if (this.m_ForearmCalfIKList[i].IsIKExec)
+			{
+				this.m_ForearmCalfIKList[i].Update();
+			}
+		}
+		foreach (IKCtrlData ikctrlData in this.m_strIKDataPair.Values)
+		{
+			ikctrlData.LateUpdate();
+		}
+		if (postSolverUpdate != null)
+		{
+			postSolverUpdate();
+		}
+	}
+
+	public void AttachPointTransCpy(Transform trans, string slot_name, string attach_name, bool scale_cpy = false)
+	{
+		int slotNo = this.TgtBody.GetSlotNo(slot_name);
+		if (this.TgtBody.goSlot[slotNo].morph == null)
+		{
+			return;
+		}
+		Vector3 position;
+		Quaternion rotation;
+		Vector3 localScale;
+		this.TgtBody.goSlot[slotNo].morph.GetAttachPoint(attach_name, out position, out rotation, out localScale, false);
+		trans.position = position;
+		trans.rotation = rotation;
+		if (scale_cpy)
+		{
+			trans.localScale = localScale;
+		}
+	}
+
+	public Transform GetIKBone(IKManager.BoneType boneType)
+	{
+		return (!this.m_IKBoneDic.ContainsKey(boneType)) ? null : this.m_IKBoneDic[boneType].Value.transform;
+	}
+
+	public Transform[] GetChainBonesToInit(IKManager.BoneType boneType)
+	{
+		Transform[] result = new Transform[0];
+		switch (boneType)
+		{
+		case IKManager.BoneType.Forearm_R:
+			result = new Transform[]
+			{
+				this.GetIKBone(IKManager.BoneType.Clavicle_R),
+				this.GetIKBone(IKManager.BoneType.UpperArm_R),
+				this.GetIKBone(IKManager.BoneType.Forearm_R)
+			};
+			break;
+		case IKManager.BoneType.Hand_R:
+			result = new Transform[]
+			{
+				this.GetIKBone(IKManager.BoneType.UpperArm_R),
+				this.GetIKBone(IKManager.BoneType.Forearm_R),
+				this.GetIKBone(IKManager.BoneType.Hand_R)
+			};
+			break;
+		default:
+			switch (boneType)
+			{
+			case IKManager.BoneType.Head:
+				if (!this.TgtMaid.boMAN)
+				{
+					result = new Transform[]
+					{
+						this.GetIKBone(IKManager.BoneType.Spine0),
+						this.GetIKBone(IKManager.BoneType.Spine1),
+						this.GetIKBone(IKManager.BoneType.Spine2),
+						this.GetIKBone(IKManager.BoneType.Spine3),
+						this.GetIKBone(IKManager.BoneType.Neck),
+						this.GetIKBone(IKManager.BoneType.Head)
+					};
+				}
+				else
+				{
+					result = new Transform[]
+					{
+						this.GetIKBone(IKManager.BoneType.Spine0),
+						this.GetIKBone(IKManager.BoneType.Spine1),
+						this.GetIKBone(IKManager.BoneType.Spine2),
+						this.GetIKBone(IKManager.BoneType.Neck),
+						this.GetIKBone(IKManager.BoneType.Head)
+					};
+				}
+				break;
+			case IKManager.BoneType.Neck:
+				if (!this.TgtMaid.boMAN)
+				{
+					result = new Transform[]
+					{
+						this.GetIKBone(IKManager.BoneType.Spine0),
+						this.GetIKBone(IKManager.BoneType.Spine1),
+						this.GetIKBone(IKManager.BoneType.Spine2),
+						this.GetIKBone(IKManager.BoneType.Spine3),
+						this.GetIKBone(IKManager.BoneType.Neck)
+					};
+				}
+				else
+				{
+					result = new Transform[]
+					{
+						this.GetIKBone(IKManager.BoneType.Spine0),
+						this.GetIKBone(IKManager.BoneType.Spine1),
+						this.GetIKBone(IKManager.BoneType.Spine2),
+						this.GetIKBone(IKManager.BoneType.Neck)
+					};
+				}
+				break;
+			default:
+				switch (boneType)
+				{
+				case IKManager.BoneType.Mouth:
+					if (!this.TgtMaid.boMAN)
+					{
+						result = new Transform[]
+						{
+							this.GetIKBone(IKManager.BoneType.Spine0),
+							this.GetIKBone(IKManager.BoneType.Spine1),
+							this.GetIKBone(IKManager.BoneType.Spine2),
+							this.GetIKBone(IKManager.BoneType.Spine3),
+							this.GetIKBone(IKManager.BoneType.Neck),
+							this.GetIKBone(IKManager.BoneType.Head),
+							this.GetIKBone(IKManager.BoneType.Mouth)
+						};
+					}
+					else
+					{
+						result = new Transform[]
+						{
+							this.GetIKBone(IKManager.BoneType.Spine0),
+							this.GetIKBone(IKManager.BoneType.Spine1),
+							this.GetIKBone(IKManager.BoneType.Spine2),
+							this.GetIKBone(IKManager.BoneType.Neck),
+							this.GetIKBone(IKManager.BoneType.Head),
+							this.GetIKBone(IKManager.BoneType.Mouth)
+						};
+					}
+					break;
+				case IKManager.BoneType.Nipple_L:
+					if (!this.TgtMaid.boMAN)
+					{
+						result = new Transform[]
+						{
+							this.GetIKBone(IKManager.BoneType.Bust_L),
+							this.GetIKBone(IKManager.BoneType.Bust_L_Sub),
+							this.GetIKBone(IKManager.BoneType.Nipple_L)
+						};
+					}
+					break;
+				case IKManager.BoneType.Nipple_R:
+					if (!this.TgtMaid.boMAN)
+					{
+						result = new Transform[]
+						{
+							this.GetIKBone(IKManager.BoneType.Bust_R),
+							this.GetIKBone(IKManager.BoneType.Bust_R_Sub),
+							this.GetIKBone(IKManager.BoneType.Nipple_R)
+						};
+					}
+					break;
+				}
+				break;
+			case IKManager.BoneType.Spine2:
+				result = new Transform[]
+				{
+					this.GetIKBone(IKManager.BoneType.Spine0),
+					this.GetIKBone(IKManager.BoneType.Spine1),
+					this.GetIKBone(IKManager.BoneType.Spine2)
+				};
+				break;
+			case IKManager.BoneType.Spine3:
+				if (!this.TgtMaid.boMAN)
+				{
+					result = new Transform[]
+					{
+						this.GetIKBone(IKManager.BoneType.Spine0),
+						this.GetIKBone(IKManager.BoneType.Spine1),
+						this.GetIKBone(IKManager.BoneType.Spine2),
+						this.GetIKBone(IKManager.BoneType.Spine3)
+					};
+				}
+				break;
+			}
+			break;
+		case IKManager.BoneType.Calf_R:
+			result = new Transform[]
+			{
+				this.GetIKBone(IKManager.BoneType.Thigh_R),
+				this.GetIKBone(IKManager.BoneType.Calf_R)
+			};
+			break;
+		case IKManager.BoneType.Foot_R:
+			result = new Transform[]
+			{
+				this.GetIKBone(IKManager.BoneType.Thigh_R),
+				this.GetIKBone(IKManager.BoneType.Calf_R),
+				this.GetIKBone(IKManager.BoneType.Foot_R)
+			};
+			break;
+		case IKManager.BoneType.Forearm_L:
+			result = new Transform[]
+			{
+				this.GetIKBone(IKManager.BoneType.Clavicle_L),
+				this.GetIKBone(IKManager.BoneType.UpperArm_L),
+				this.GetIKBone(IKManager.BoneType.Forearm_L)
+			};
+			break;
+		case IKManager.BoneType.Hand_L:
+			result = new Transform[]
+			{
+				this.GetIKBone(IKManager.BoneType.UpperArm_L),
+				this.GetIKBone(IKManager.BoneType.Forearm_L),
+				this.GetIKBone(IKManager.BoneType.Hand_L)
+			};
+			break;
+		case IKManager.BoneType.Calf_L:
+			result = new Transform[]
+			{
+				this.GetIKBone(IKManager.BoneType.Thigh_L),
+				this.GetIKBone(IKManager.BoneType.Calf_L)
+			};
+			break;
+		case IKManager.BoneType.Foot_L:
+			result = new Transform[]
+			{
+				this.GetIKBone(IKManager.BoneType.Thigh_L),
+				this.GetIKBone(IKManager.BoneType.Calf_L),
+				this.GetIKBone(IKManager.BoneType.Foot_L)
+			};
+			break;
+		}
+		return result;
+	}
+
+	public IKCtrlData GetIKData(string tag_name)
+	{
+		if (this.m_strIKDataPair.ContainsKey(tag_name))
+		{
+			return this.m_strIKDataPair[tag_name];
+		}
+		return null;
+	}
+
+	public T GetIKData<T>(string tag_name) where T : IKCtrlData
+	{
+		if (this.m_strIKDataPair.ContainsKey(tag_name) && this.m_strIKDataPair[tag_name] is T)
+		{
+			return this.m_strIKDataPair[tag_name] as T;
+		}
+		return (T)((object)null);
+	}
+
+	public Transform GetSTFlagObj(string name)
+	{
+		return this.m_STRoot.Find(name);
+	}
+
+	[SerializeField]
+	private TBody m_TgtBody;
+
+	[SerializeField]
+	private Transform m_IKTgtRoot;
+
+	[SerializeField]
+	private Transform m_STRoot;
+
+	[SerializeField]
+	private FullBodyBipedIK m_FullbodyIK;
+
+	private CCDIK m_MouthIK;
+
+	private CCDIK m_MuneLIK;
+
+	private CCDIK m_MuneRIK;
+
+	private FABRIK m_ForearmLIK;
+
+	private FABRIK m_ForearmRIK;
+
+	private FABRIK m_CalfLIK;
+
+	private FABRIK m_CalfRIK;
+
+	private Dictionary<IKManager.BoneType, KeyValuePair<IKManager.BoneSetType, GameObject>> m_IKBoneDic = new Dictionary<IKManager.BoneType, KeyValuePair<IKManager.BoneSetType, GameObject>>();
+
+	[SerializeField]
+	private BodyCtrlData m_BodyCtrlData;
+
+	[SerializeField]
+	private List<BipedIKCtrlData> m_FullbodyDataList = new List<BipedIKCtrlData>();
+
+	[SerializeField]
+	private List<CCDIKCtrlData> m_CCDDataList = new List<CCDIKCtrlData>();
+
+	[SerializeField]
+	private List<FABRIKCtrlData> m_FABRDataList = new List<FABRIKCtrlData>();
+
+	private Transform m_NippleL;
+
+	private Transform m_NippleR;
+
+	private Transform m_Mouth;
+
+	private Dictionary<string, IKCtrlData> m_strIKDataPair = new Dictionary<string, IKCtrlData>();
+
+	private List<FABRIKCtrlData> m_ForearmCalfIKList = new List<FABRIKCtrlData>();
+
+	public bool IKActive = true;
+
+	public bool DoHeightCover;
+
+	public bool IsUpdateLate;
+
+	public Action PostSolverUpdate;
+
+	public bool AllForceIK;
+}

+ 24 - 3
Assembly-CSharp/GameMain.cs

@@ -6,6 +6,7 @@ using System.Globalization;
 using System.IO;
 using System.Linq;
 using System.Threading;
+using I2.Loc;
 using Kasizuki;
 using MaidStatus;
 using Schedule;
@@ -328,6 +329,7 @@ public class GameMain : MonoSingleton<GameMain>
 			}
 		}
 		UnityEngine.Debug.Log("TestSingleton#OnInitialize");
+		LocalizationManager.CurrentLanguage = "English";
 		Thread.CurrentThread.CurrentCulture = new CultureInfo("ja-JP");
 		UnityEngine.Debug.Log(SystemInfo.operatingSystem);
 		UnityEngine.Debug.Log(string.Concat(new object[]
@@ -666,7 +668,7 @@ public class GameMain : MonoSingleton<GameMain>
 		serializeHeader.nMaidNum = this.m_CharacterMgr.GetStockMaidCount();
 		serializeHeader.strComment = f_strComment;
 		binaryWriter.Write("COM3D2_SAVE");
-		binaryWriter.Write(1160);
+		binaryWriter.Write(1170);
 		this.SerializeWriteHeader(binaryWriter, serializeHeader);
 		binaryWriter.Write("bookmark_kk_01");
 		GameMain.BinaryBookmark binaryBookmark = new GameMain.BinaryBookmark(binaryWriter);
@@ -780,7 +782,7 @@ public class GameMain : MonoSingleton<GameMain>
 		MemoryStream memoryStream = new MemoryStream();
 		BinaryWriter binaryWriter = new BinaryWriter(memoryStream);
 		binaryWriter.Write("COM3D2_SAVE");
-		binaryWriter.Write(1160);
+		binaryWriter.Write(1170);
 		this.SerializeWriteHeader(binaryWriter, saveDataHeader);
 		binaryWriter.Write(array, (int)saveDataHeader.lHeaderSize, (int)((long)array.Length - saveDataHeader.lHeaderSize));
 		File.WriteAllBytes(path, memoryStream.ToArray());
@@ -1257,6 +1259,25 @@ public class GameMain : MonoSingleton<GameMain>
 
 	private void Update()
 	{
+		if ((Input.GetKey(KeyCode.LeftShift) || Input.GetKey(KeyCode.RightShift)) && Input.GetKeyDown(KeyCode.F6))
+		{
+			string[] array = LocalizationManager.GetAllLanguages(true).ToArray();
+			int num = 0;
+			foreach (string a in array)
+			{
+				if (a == LocalizationManager.CurrentLanguage)
+				{
+					num++;
+					if (array.Length <= num)
+					{
+						num = 0;
+					}
+					LocalizationManager.CurrentLanguage = array[num];
+					break;
+				}
+				num++;
+			}
+		}
 		if (GameMain.Instance.VRMode)
 		{
 			NInput.SelfUpdateVR();
@@ -1286,7 +1307,7 @@ public class GameMain : MonoSingleton<GameMain>
 		}
 		else
 		{
-			GameMain.Instance.SysDlg.Show("終了しますか?", SystemDialog.TYPE.OK_CANCEL, new SystemDialog.OnClick(this.OnToEnd), new SystemDialog.OnClick(this.OnCancel));
+			GameMain.Instance.SysDlg.ShowFromLanguageTerm("Dialog/終了しますか?", SystemDialog.TYPE.OK_CANCEL, new SystemDialog.OnClick(this.OnToEnd), new SystemDialog.OnClick(this.OnCancel));
 		}
 	}
 

+ 56 - 259
Assembly-CSharp/GameUty.cs

@@ -279,36 +279,37 @@ public class GameUty
 			return flag3;
 		};
 		HashSet<string> addedLegacyArchives = new HashSet<string>();
+		int m;
 		Action<string> action = delegate(string name)
 		{
-			foreach (string text26 in GameUty.PathList)
+			foreach (string text7 in GameUty.PathList)
 			{
-				string text27 = name + "_" + text26;
-				bool flag3 = AddFolderOrArchive(text27);
-				if (flag3 && !addedLegacyArchives.Contains(text27))
+				string text8 = name + "_" + text7;
+				bool flag3 = AddFolderOrArchive(text8);
+				if (flag3 && !addedLegacyArchives.Contains(text8))
 				{
-					addedLegacyArchives.Add(text27);
+					addedLegacyArchives.Add(text8);
 				}
 				if (flag3)
 				{
 					if (name == "csv")
 					{
-						GameUty.ExistCsvPathList.Add(text26);
+						GameUty.ExistCsvPathList.Add(text7);
 					}
-					for (int num12 = 2; num12 <= check_ver_no; num12++)
+					for (int m = 2; m <= check_ver_no; m++)
 					{
-						AddFolderOrArchive(text27 + "_" + num12);
+						AddFolderOrArchive(text8 + "_" + m);
 					}
 				}
 			}
 		};
 		Action<string> action2 = delegate(string name)
 		{
-			foreach (string text26 in GameUty.PathList)
+			foreach (string text7 in GameUty.PathList)
 			{
-				string text27 = name + "_" + text26;
-				bool flag3 = AddFolderOrArchive(text27);
-				if (!flag3 && addedLegacyArchives.Contains(text27))
+				string text8 = name + "_" + text7;
+				bool flag3 = AddFolderOrArchive(text8);
+				if (!flag3 && addedLegacyArchives.Contains(text8))
 				{
 					flag3 = true;
 				}
@@ -316,17 +317,17 @@ public class GameUty
 				{
 					if (name == "csv")
 					{
-						GameUty.ExistCsvPathList.Add(text26);
+						GameUty.ExistCsvPathList.Add(text7);
 					}
-					for (int num12 = 2; num12 <= check_ver_no; num12++)
+					for (int m = 2; m <= check_ver_no; m++)
 					{
 						AddFolderOrArchive(string.Concat(new object[]
 						{
 							name,
 							"_",
-							text26,
+							text7,
 							"_",
-							num12
+							m
 						}));
 					}
 				}
@@ -334,34 +335,35 @@ public class GameUty
 		};
 		Action<string> action3 = delegate(string name)
 		{
-			foreach (string text26 in GameUty.PathList)
+			foreach (string text7 in GameUty.PathList)
 			{
-				if (AddFolderOrArchive(name + "_" + text26))
+				if (AddFolderOrArchive(name + "_" + text7))
 				{
 					if (name == "csv")
 					{
-						GameUty.ExistCsvPathList.Add(text26);
+						GameUty.ExistCsvPathList.Add(text7);
 					}
-					for (int num12 = 2; num12 <= check_ver_no; num12++)
+					for (int m = 2; m <= check_ver_no; m++)
 					{
 						AddFolderOrArchive(string.Concat(new object[]
 						{
 							name,
 							"_",
-							text26,
+							text7,
 							"_",
-							num12
+							m
 						}));
 					}
 				}
 			}
 		};
-		string str = string.Empty;
-		str = "必用アーカイブがありません。GameData\\";
+		string common_error_text = string.Empty;
+		common_error_text = "必用アーカイブがありません。GameData\\";
 		StopWatch stopWatch = new StopWatch();
 		Debug.Log("IsEnabledCompatibilityMode:" + GameUty.IsEnabledCompatibilityMode.ToString());
 		string text = "カスタムオーダーメイド3D 2";
-		string str2 = "カスタムメイド3D 2";
+		string str = "カスタムメイド3D 2";
+		text += " 翻訳評価版";
 		Debug.Log(string.Concat(new string[]
 		{
 			text,
@@ -373,7 +375,7 @@ public class GameUty
 		}));
 		if (!string.IsNullOrEmpty(GameMain.Instance.CMSystem.CM3D2Path))
 		{
-			Debug.Log(str2 + " GameVersion " + GameUty.GetLegacyGameVersionText());
+			Debug.Log(str + " GameVersion " + GameUty.GetLegacyGameVersionText());
 		}
 		if (GameUty.IsEnabledCompatibilityMode)
 		{
@@ -383,12 +385,12 @@ public class GameUty
 			AddFolderOrArchive("material");
 			foreach (string text2 in GameUty.PathListOld)
 			{
-				string str3 = "material";
+				string str2 = "material";
 				if (text2 == "denkigai2015wTowelR")
 				{
-					AddFolderOrArchive(str3 + "_denkigai2015wTowel");
+					AddFolderOrArchive(str2 + "_denkigai2015wTowel");
 				}
-				string text3 = str3 + "_" + text2;
+				string text3 = str2 + "_" + text2;
 				bool flag = AddFolderOrArchive(text3);
 				if (flag && !addedLegacyArchives.Contains(text3))
 				{
@@ -396,9 +398,9 @@ public class GameUty
 				}
 				if (flag)
 				{
-					for (int i2 = 2; i2 <= check_ver_no; i2++)
+					for (m = 2; m <= check_ver_no; m++)
 					{
-						AddFolderOrArchive(text3 + "_" + i2);
+						AddFolderOrArchive(text3 + "_" + m);
 					}
 				}
 			}
@@ -469,233 +471,28 @@ public class GameUty
 			GameUty.PathList = new List<string>();
 			NDebug.Assert("paths.datを読み込めませんでした", false);
 		}
-		AddFolderOrArchive("csv");
-		foreach (string text7 in GameUty.PathList)
-		{
-			string text8 = "csv";
-			if (AddFolderOrArchive(text8 + "_" + text7))
-			{
-				for (int k = 2; k <= check_ver_no; k++)
-				{
-					AddFolderOrArchive(string.Concat(new object[]
-					{
-						text8,
-						"_",
-						text7,
-						"_",
-						k
-					}));
-				}
-			}
-		}
-		AddFolderOrArchive("prioritymaterial");
-		NDebug.Assert(AddFolderOrArchive("motion"), str + "motion");
-		foreach (string text9 in GameUty.PathList)
-		{
-			string text10 = "motion";
-			if (AddFolderOrArchive(text10 + "_" + text9))
-			{
-				for (int l = 2; l <= check_ver_no; l++)
-				{
-					AddFolderOrArchive(string.Concat(new object[]
-					{
-						text10,
-						"_",
-						text9,
-						"_",
-						l
-					}));
-				}
-			}
-		}
-		AddFolderOrArchive("motion2");
-		NDebug.Assert(AddFolderOrArchive("script"), str + "script");
-		foreach (string text11 in GameUty.PathList)
-		{
-			string text12 = "script";
-			if (AddFolderOrArchive(text12 + "_" + text11))
-			{
-				for (int m = 2; m <= check_ver_no; m++)
-				{
-					AddFolderOrArchive(string.Concat(new object[]
-					{
-						text12,
-						"_",
-						text11,
-						"_",
-						m
-					}));
-				}
-			}
-		}
-		AddFolderOrArchive("script_share");
-		foreach (string text13 in GameUty.PathList)
-		{
-			string text14 = "script_share";
-			if (AddFolderOrArchive(text14 + "_" + text13))
-			{
-				for (int n = 2; n <= check_ver_no; n++)
-				{
-					AddFolderOrArchive(string.Concat(new object[]
-					{
-						text14,
-						"_",
-						text13,
-						"_",
-						n
-					}));
-				}
-			}
-		}
-		AddFolderOrArchive("script_share2");
-		NDebug.Assert(AddFolderOrArchive("sound"), str + "sound");
-		foreach (string text15 in GameUty.PathList)
-		{
-			string text16 = "sound";
-			if (AddFolderOrArchive(text16 + "_" + text15))
-			{
-				for (int num = 2; num <= check_ver_no; num++)
-				{
-					AddFolderOrArchive(string.Concat(new object[]
-					{
-						text16,
-						"_",
-						text15,
-						"_",
-						num
-					}));
-				}
-			}
-		}
-		AddFolderOrArchive("sound2");
-		NDebug.Assert(AddFolderOrArchive("system"), str + "system");
-		foreach (string text17 in GameUty.PathList)
-		{
-			string text18 = "system";
-			if (AddFolderOrArchive(text18 + "_" + text17))
-			{
-				for (int num2 = 2; num2 <= check_ver_no; num2++)
-				{
-					AddFolderOrArchive(string.Concat(new object[]
-					{
-						text18,
-						"_",
-						text17,
-						"_",
-						num2
-					}));
-				}
-			}
-		}
-		AddFolderOrArchive("system2");
-		foreach (string text19 in GameUty.PathList)
-		{
-			string text20 = "bg";
-			if (AddFolderOrArchive(text20 + "_" + text19))
-			{
-				for (int num3 = 2; num3 <= check_ver_no; num3++)
-				{
-					AddFolderOrArchive(string.Concat(new object[]
-					{
-						text20,
-						"_",
-						text19,
-						"_",
-						num3
-					}));
-				}
-			}
-		}
-		AddFolderOrArchive("voice");
-		for (int num4 = 0; num4 < 25; num4++)
-		{
-			string arg = "voice";
-			string arg2 = arg + "_" + (char)(97 + num4);
-			AddFolderOrArchive(arg2);
-		}
-		foreach (string text21 in GameUty.PathList)
-		{
-			string text22 = "voice";
-			if (AddFolderOrArchive(text22 + "_" + text21))
-			{
-				for (int num5 = 2; num5 <= check_ver_no; num5++)
-				{
-					AddFolderOrArchive(string.Concat(new object[]
-					{
-						text22,
-						"_",
-						text21,
-						"_",
-						num5
-					}));
-				}
-			}
-		}
-		for (int num6 = 2; num6 <= check_ver_no; num6++)
-		{
-			string arg3 = "voice";
-			AddFolderOrArchive(arg3 + num6);
-		}
-		string text23 = "parts";
-		NDebug.Assert(AddFolderOrArchive(text23), str + text23);
-		foreach (string text24 in GameUty.PathList)
-		{
-			if (AddFolderOrArchive(text23 + "_" + text24))
-			{
-				for (int num7 = 2; num7 <= check_ver_no; num7++)
-				{
-					AddFolderOrArchive(string.Concat(new object[]
-					{
-						text23,
-						"_",
-						text24,
-						"_",
-						num7
-					}));
-				}
-			}
-		}
-		AddFolderOrArchive("parts2");
-		Debug.Log("■■■■■■■■■■■■■■■■■■■■" + stopWatch.Stop().ToString() + " ms");
+		NDebug.Assert(AddFolderOrArchive("prioritymaterial"), () => common_error_text + "prioritymaterial");
+		NDebug.Assert(AddFolderOrArchive("script_en_try"), () => common_error_text + "script_en_try");
+		NDebug.Assert(AddFolderOrArchive("csv_en_try"), () => common_error_text + "csv_en_try");
+		NDebug.Assert(AddFolderOrArchive("motion_try"), () => common_error_text + "motion_try");
+		NDebug.Assert(AddFolderOrArchive("sound_try"), () => common_error_text + "sound_try");
+		NDebug.Assert(AddFolderOrArchive("system"), () => common_error_text + "system");
+		NDebug.Assert(AddFolderOrArchive("system2"), () => common_error_text + "system2");
+		NDebug.Assert(AddFolderOrArchive("voice_try"), () => common_error_text + "voice_try");
+		NDebug.Assert(AddFolderOrArchive("parts_try"), () => common_error_text + "parts_try");
 		GameUty.m_FileSystem.AddAutoPathForAllFolder();
 		GameUty.BgFiles = new Dictionary<string, AFileSystemBase>();
-		string[] list = GameUty.m_FileSystem.GetList("bg", AFileSystemBase.ListType.AllFile);
-		if (list != null && 0 < list.Length)
-		{
-			foreach (string path in list)
-			{
-				string fileName = Path.GetFileName(path);
-				if (!(Path.GetExtension(fileName) != ".asset_bg") && !GameUty.BgFiles.ContainsKey(fileName))
-				{
-					GameUty.BgFiles.Add(fileName, GameUty.m_FileSystem);
-				}
-			}
-		}
-		if (Directory.Exists(fullPath + "Mod"))
-		{
-			GameUty.m_ModFileSystem = new FileSystemWindows();
-			GameUty.m_ModFileSystem.SetBaseDirectory(fullPath);
-			GameUty.m_ModFileSystem.AddFolder("Mod");
-			string[] list2 = GameUty.m_ModFileSystem.GetList(string.Empty, AFileSystemBase.ListType.AllFolder);
-			foreach (string text25 in list2)
-			{
-				if (!GameUty.m_ModFileSystem.AddAutoPath(text25))
-				{
-					Debug.Log("m_ModFileSystemのAddAutoPathには既に " + text25 + " がありました。");
-				}
-			}
-		}
 		string[] fileListAtExtension = GameUty.m_FileSystem.GetFileListAtExtension(".menu");
-		List<string> list3 = new List<string>();
-		foreach (string path2 in fileListAtExtension)
+		List<string> list = new List<string>();
+		foreach (string path in fileListAtExtension)
 		{
-			list3.Add(Path.GetFileName(path2));
+			list.Add(Path.GetFileName(path));
 		}
-		GameUty.m_aryMenuFiles = list3.ToArray();
+		GameUty.m_aryMenuFiles = list.ToArray();
 		if (GameUty.m_ModFileSystem != null)
 		{
-			string[] list4 = GameUty.m_ModFileSystem.GetList(string.Empty, AFileSystemBase.ListType.AllFile);
-			GameUty.m_aryModOnlysMenuFiles = Array.FindAll<string>(list4, (string i) => new Regex(".*\\.menu$").IsMatch(i));
+			string[] list2 = GameUty.m_ModFileSystem.GetList(string.Empty, AFileSystemBase.ListType.AllFile);
+			GameUty.m_aryModOnlysMenuFiles = Array.FindAll<string>(list2, (string i) => new Regex(".*\\.menu$").IsMatch(i));
 			GameUty.m_aryMenuFiles = GameUty.m_aryMenuFiles.Concat(GameUty.m_aryModOnlysMenuFiles).ToArray<string>();
 		}
 		if (GameUty.m_aryModOnlysMenuFiles != null && GameUty.m_aryModOnlysMenuFiles.Length != 0)
@@ -707,20 +504,20 @@ public class GameUty
 		{
 			string[] menuFiles = GameUty.MenuFiles;
 			GameUty.rid_menu_dic_ = new Dictionary<int, string>();
-			for (int num11 = 0; num11 < menuFiles.Length; num11++)
+			for (int l = 0; l < menuFiles.Length; l++)
 			{
-				string fileName2 = Path.GetFileName(menuFiles[num11]);
-				int hashCode = fileName2.ToLower().GetHashCode();
+				string fileName = Path.GetFileName(menuFiles[l]);
+				int hashCode = fileName.ToLower().GetHashCode();
 				if (!GameUty.rid_menu_dic_.ContainsKey(hashCode))
 				{
-					GameUty.rid_menu_dic_.Add(hashCode, fileName2);
+					GameUty.rid_menu_dic_.Add(hashCode, fileName);
 				}
 				else
 				{
-					NDebug.Assert(fileName2 == GameUty.rid_menu_dic_[hashCode], string.Concat(new string[]
+					NDebug.Assert(fileName == GameUty.rid_menu_dic_[hashCode], string.Concat(new string[]
 					{
 						"[",
-						fileName2,
+						fileName,
 						"]と[",
 						GameUty.rid_menu_dic_[hashCode],
 						"]は同じハッシュキーです"
@@ -912,14 +709,14 @@ public class GameUty
 
 	public static string GetBuildVersionText()
 	{
-		int num = 1160;
+		int num = 1170;
 		return (num >= 1000) ? ((float)num / 1000f).ToString("F2") : ((float)num / 100f).ToString("F2");
 	}
 
 	public static string GetGameVersionText()
 	{
 		string text = "COM3D2x64.exe";
-		int num = 1160;
+		int num = 1170;
 		string path = Path.GetFullPath(".\\") + "update.lst";
 		string[] array = new string[0];
 		if (File.Exists(path))

+ 1 - 1
Assembly-CSharp/GravityControlWindow.cs

@@ -15,7 +15,7 @@ public class GravityControlWindow : BaseMaidPhotoWindow
 		{
 			NDebug.Assert(!string.IsNullOrEmpty(gravityData.categoryName), "GravityControlWindow 初期化エラーcategoryNameが不正です");
 			NDebug.Assert(0 < gravityData.slotIds.Length, "GravityControlWindow 初期化エラーslotIdsが不正です");
-			EventDelegate.Add(gravityData.button.onClick, delegate
+			EventDelegate.Add(gravityData.button.onClick, delegate()
 			{
 				for (int j = 0; j < this.gravityDatas.Length; j++)
 				{

+ 22 - 1
Assembly-CSharp/HairLongWindow.cs

@@ -1,5 +1,6 @@
 using System;
 using System.Collections.Generic;
+using I2.Loc;
 using UnityEngine;
 
 public class HairLongWindow : BasePhotoWindow
@@ -98,7 +99,27 @@ public class HairLongWindow : BasePhotoWindow
 			this.slider.MaxNum = 100f;
 			this.slider.ResetNum = 50f;
 			this.slider.onChangeValue.Add(new Action<float>(this.OnChangeValue));
-			this.label.text = f_kvNameAndHl.Key;
+			string str = string.Empty;
+			string str2 = string.Empty;
+			int num = f_kvNameAndHl.Key.Length - 1;
+			while (0 <= num)
+			{
+				if ('1' > f_kvNameAndHl.Key[num] || f_kvNameAndHl.Key[num] > '9')
+				{
+					str = f_kvNameAndHl.Key.Substring(0, num + 1);
+					str2 = f_kvNameAndHl.Key.Substring(num + 1, f_kvNameAndHl.Key.Length - (num + 1));
+					break;
+				}
+				num--;
+			}
+			Localize localize = this.label.gameObject.GetComponent<Localize>();
+			if (localize == null)
+			{
+				localize = this.label.gameObject.AddComponent<Localize>();
+			}
+			localize.SetTerm("SceneEdit/カテゴリー/サブ/" + str);
+			UILabel uilabel = this.label;
+			uilabel.text += str2;
 			this.slider.value = (this.m_fBackValue = this.hl.GetLengthRate() * 100f);
 		}
 

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 2 - 991
Assembly-CSharp/HandSignShortcut.cs


+ 52 - 0
Assembly-CSharp/HeightIKCtrlData.cs

@@ -0,0 +1,52 @@
+using System;
+using RootMotion.FinalIK;
+using UnityEngine;
+
+[Serializable]
+public class HeightIKCtrlData : CCDIKCtrlData
+{
+	public HeightIKCtrlData(CCDIK ccd_ik, Transform[] chain_bones, FullBodyIKCtrl ik_ctrl, bool weight_fade = true, bool attach_ik = false) : base(ccd_ik, chain_bones, ik_ctrl, weight_fade, attach_ik)
+	{
+	}
+
+	public void CheckReachTarget()
+	{
+		if (!base.PointIK.IsIKExec || base.PointIK.BlendType == IKCtrlData.IKBlendType.IK_To_Detach)
+		{
+			return;
+		}
+		float num = Vector3.Distance(base.IKTarget.position, base.TargetBone.position);
+		if (num <= 0.05f || (num > 1f && base.PointIK.BlendNow))
+		{
+			return;
+		}
+		int value = this.MyIKCtrl.TgtMaid.GetProp(MPN.sintyou).value;
+		int value2 = base.PointIK.TgtMaid.GetProp(MPN.sintyou).value;
+		if (this.m_EachOtherIK && value < value2)
+		{
+			IKCtrlData ikdata = base.PointIK.TgtMaid.IKCtrl.GetIKData(base.PointIK.Tgt_AttachName);
+			if (base.PointIK.TgtMaid.IKCtrl.IsUpdateEnd)
+			{
+				ikdata.IKTarget.position += (base.TargetBone.position - base.IKTarget.position) * ikdata.PointIK.BlendWeight;
+				base.PointIK.TgtMaid.IKCtrl.SolverUpdate();
+			}
+		}
+		else if (!this.MyIKCtrl.DoHeightCover && !base.PointIK.BlendNow)
+		{
+			Vector3 vector = base.IKTarget.position - base.TargetBone.position;
+			this.MyIKCtrl.BodyTarget.position += vector;
+			foreach (IKCtrlData ikctrlData in this.MyIKCtrl.strIKDataPair.Values)
+			{
+				ikctrlData.SetTargetOffset(vector, false);
+			}
+			this.MyIKCtrl.BodyEffector.positionWeight = 1f;
+		}
+		this.MyIKCtrl.DoHeightCover = true;
+	}
+
+	public override void Update()
+	{
+		base.Update();
+		this.CheckReachTarget();
+	}
+}

+ 7 - 5
Assembly-CSharp/I2/Loc/LanguageSource.cs

@@ -1,6 +1,7 @@
 using System;
 using System.Collections;
 using System.Collections.Generic;
+using System.Diagnostics;
 using System.Linq;
 using System.Text;
 using UnityEngine;
@@ -679,6 +680,7 @@ namespace I2.Loc
 			}
 		}
 
+		[DebuggerBrowsable(DebuggerBrowsableState.Never)]
 		public event Action<LanguageSource, bool, string> Event_OnSourceUpdateFromGoogle;
 
 		public static void FreeUnusedLanguages()
@@ -836,7 +838,7 @@ namespace I2.Loc
 				{
 					if (!flag)
 					{
-						Debug.LogWarning("Spreadsheet is not up-to-date and Google Live Synchronization is enabled\nWhen playing in the device the Spreadsheet will be downloaded and translations may not behave as what you see in the editor.\nTo fix this, Import or Export replace to Google");
+						UnityEngine.Debug.LogWarning("Spreadsheet is not up-to-date and Google Live Synchronization is enabled\nWhen playing in the device the Spreadsheet will be downloaded and translations may not behave as what you see in the editor.\nTo fix this, Import or Export replace to Google");
 					}
 					yield break;
 				}
@@ -850,7 +852,7 @@ namespace I2.Loc
 							this.Event_OnSourceUpdateFromGoogle(this, true, www.error);
 						}
 						LocalizationManager.LocalizeAll(true);
-						Debug.Log("Done Google Sync");
+						UnityEngine.Debug.Log("Done Google Sync");
 					}
 					else
 					{
@@ -858,7 +860,7 @@ namespace I2.Loc
 						{
 							this.Event_OnSourceUpdateFromGoogle(this, false, www.error);
 						}
-						Debug.Log("Done Google Sync: source was up-to-date");
+						UnityEngine.Debug.Log("Done Google Sync: source was up-to-date");
 					}
 					yield break;
 				}
@@ -867,7 +869,7 @@ namespace I2.Loc
 			{
 				this.Event_OnSourceUpdateFromGoogle(this, false, www.error);
 			}
-			Debug.Log("Language Source was up-to-date with Google Spreadsheet");
+			UnityEngine.Debug.Log("Language Source was up-to-date with Google Spreadsheet");
 			yield break;
 		}
 
@@ -972,7 +974,7 @@ namespace I2.Loc
 			}
 			catch (Exception ex)
 			{
-				Debug.LogWarning(ex);
+				UnityEngine.Debug.LogWarning(ex);
 				result = ex.ToString();
 			}
 			return result;

+ 2 - 0
Assembly-CSharp/I2/Loc/LocalizationManager.cs

@@ -1,6 +1,7 @@
 using System;
 using System.Collections;
 using System.Collections.Generic;
+using System.Diagnostics;
 using System.Globalization;
 using System.Linq;
 using System.Text.RegularExpressions;
@@ -819,6 +820,7 @@ namespace I2.Loc
 			LocalizationManager.mLocalizeTargets.Add(desc);
 		}
 
+		[DebuggerBrowsable(DebuggerBrowsableState.Never)]
 		public static event LocalizationManager.OnLocalizeCallback OnLocalizeEvent;
 
 		public static string GetTranslation(string Term, bool FixForRTL = true, int maxLineLengthForRTL = 0, bool ignoreRTLnumbers = true, bool applyParameters = false, GameObject localParametersRoot = null, string overrideLanguage = null)

+ 59 - 0
Assembly-CSharp/I2/Loc/LocalizeTarget_NGUI_Button.cs

@@ -0,0 +1,59 @@
+using System;
+using UnityEngine;
+
+namespace I2.Loc
+{
+	public class LocalizeTarget_NGUI_Button : LocalizeTarget<UIButton>
+	{
+		static LocalizeTarget_NGUI_Button()
+		{
+			LocalizeTarget_NGUI_Button.AutoRegister();
+		}
+
+		[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)]
+		private static void AutoRegister()
+		{
+			LocalizationManager.RegisterTarget(new LocalizeTargetDesc_Type<UIButton, LocalizeTarget_NGUI_Button>
+			{
+				Name = "NGUI UIButton",
+				Priority = 30
+			});
+		}
+
+		public override eTermType GetPrimaryTermType(Localize cmp)
+		{
+			return eTermType.Text;
+		}
+
+		public override eTermType GetSecondaryTermType(Localize cmp)
+		{
+			return eTermType.UIAtlas;
+		}
+
+		public override bool CanUseSecondaryTerm()
+		{
+			return false;
+		}
+
+		public override bool AllowMainTermToBeRTL()
+		{
+			return false;
+		}
+
+		public override bool AllowSecondTermToBeRTL()
+		{
+			return false;
+		}
+
+		public override void GetFinalTerms(Localize cmp, string Main, string Secondary, out string primaryTerm, out string secondaryTerm)
+		{
+			primaryTerm = ((!this.mTarget) ? null : this.mTarget.normalSprite);
+			secondaryTerm = null;
+		}
+
+		public override void DoLocalize(Localize cmp, string mainTranslation, string secondaryTranslation)
+		{
+			this.mTarget.normalSprite = mainTranslation;
+		}
+	}
+}

+ 5 - 0
Assembly-CSharp/I2/Loc/LocalizeTarget_NGUI_Label.cs

@@ -100,6 +100,11 @@ namespace I2.Loc
 				{
 					this.mTarget.alignment = ((!LocalizationManager.IsRight2Left) ? this.mAlignment_LTR : this.mAlignment_RTL);
 				}
+				if (((!this.mTarget.useFloatSpacing && (this.mTarget.spacingX != 0 || this.mTarget.spacingY != 0)) || (this.mTarget.useFloatSpacing && (this.mTarget.floatSpacingX != 0f || this.mTarget.floatSpacingY != 0f))) && cmp.GetComponent<NGUILabelSpacingHold>() == null)
+				{
+					cmp.gameObject.AddComponent<NGUILabelSpacingHold>();
+				}
+				this.mTarget.overflowMethod = UILabel.Overflow.ShrinkContent;
 				this.mTarget.text = mainTranslation;
 			}
 		}

+ 0 - 24
Assembly-CSharp/I2/Loc/NGUI_LanguagePopup.cs

@@ -1,24 +0,0 @@
-using System;
-using UnityEngine;
-
-namespace I2.Loc
-{
-	public class NGUI_LanguagePopup : MonoBehaviour
-	{
-		private void Start()
-		{
-			UIPopupList component = base.GetComponent<UIPopupList>();
-			component.items = this.Source.GetLanguages(true);
-			EventDelegate.Add(component.onChange, new EventDelegate.Callback(this.OnValueChange));
-			int num = component.items.IndexOf(LocalizationManager.CurrentLanguage);
-			component.value = component.items[(num < 0) ? 0 : num];
-		}
-
-		public void OnValueChange()
-		{
-			LocalizationManager.CurrentLanguage = UIPopupList.current.value;
-		}
-
-		public LanguageSource Source;
-	}
-}

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 1093 - 0
Assembly-CSharp/IKCtrlData.cs


+ 122 - 281
Assembly-CSharp/IKManager.cs

@@ -14,285 +14,121 @@ public class IKManager : MonoBehaviour
 			return null;
 		}
 		NDebug.Assert(maid.body0 != null, "[body0] it does not end load.");
-		return new Dictionary<IKManager.BoneType, KeyValuePair<IKManager.BoneSetType, GameObject>>
+		string text = (!maid.boMAN) ? "Bip01" : "ManBip";
+		Dictionary<IKManager.BoneType, KeyValuePair<IKManager.BoneSetType, GameObject>> dictionary = new Dictionary<IKManager.BoneType, KeyValuePair<IKManager.BoneSetType, GameObject>>();
+		dictionary.Add(IKManager.BoneType.TopFixed, new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.Body, maid.body0.GetBone(text).parent.gameObject));
+		dictionary.Add(IKManager.BoneType.Root, new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.Body, maid.body0.GetBone(text).gameObject));
+		dictionary.Add(IKManager.BoneType.Head, new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.Body, maid.body0.GetBone(text + " Head").gameObject));
+		dictionary.Add(IKManager.BoneType.Neck, new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.Body, maid.body0.GetBone(text + " Neck").gameObject));
+		dictionary.Add(IKManager.BoneType.Pelvis, new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.Body, maid.body0.GetBone(text + " Pelvis").gameObject));
+		dictionary.Add(IKManager.BoneType.Spine0, new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.Body, maid.body0.GetBone(text + " Spine").gameObject));
+		if (!maid.boMAN)
+		{
+			dictionary.Add(IKManager.BoneType.Spine1, new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.Body, maid.body0.GetBone(text + " Spine0a").gameObject));
+			dictionary.Add(IKManager.BoneType.Spine2, new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.Body, maid.body0.GetBone(text + " Spine1").gameObject));
+			dictionary.Add(IKManager.BoneType.Spine3, new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.Body, maid.body0.GetBone(text + " Spine1a").gameObject));
+		}
+		else
 		{
-			{
-				IKManager.BoneType.TopFixed,
-				new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.Body, maid.body0.GetBone("Bip01").parent.gameObject)
-			},
-			{
-				IKManager.BoneType.Root,
-				new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.Body, maid.body0.GetBone("Bip01").gameObject)
-			},
-			{
-				IKManager.BoneType.Head,
-				new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.Body, maid.body0.GetBone("Bip01 Head").gameObject)
-			},
-			{
-				IKManager.BoneType.Neck,
-				new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.Body, maid.body0.GetBone("Bip01 Neck").gameObject)
-			},
-			{
-				IKManager.BoneType.Pelvis,
-				new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.Body, maid.body0.GetBone("Bip01 Pelvis").gameObject)
-			},
-			{
-				IKManager.BoneType.Spine0,
-				new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.Body, maid.body0.GetBone("Bip01 Spine").gameObject)
-			},
-			{
-				IKManager.BoneType.Spine1,
-				new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.Body, maid.body0.GetBone("Bip01 Spine0a").gameObject)
-			},
-			{
-				IKManager.BoneType.Spine2,
-				new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.Body, maid.body0.GetBone("Bip01 Spine1").gameObject)
-			},
-			{
-				IKManager.BoneType.Spine3,
-				new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.Body, maid.body0.GetBone("Bip01 Spine1a").gameObject)
-			},
-			{
-				IKManager.BoneType.Bust_R,
-				new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.Body, maid.body0.GetBone("Mune_R").gameObject)
-			},
-			{
-				IKManager.BoneType.Clavicle_R,
-				new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.Body, maid.body0.GetBone("Bip01 R Clavicle").gameObject)
-			},
-			{
-				IKManager.BoneType.UpperArm_R,
-				new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.Body, maid.body0.GetBone("Bip01 R UpperArm").gameObject)
-			},
-			{
-				IKManager.BoneType.Forearm_R,
-				new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.Body, maid.body0.GetBone("Bip01 R Forearm").gameObject)
-			},
-			{
-				IKManager.BoneType.Hand_R,
-				new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.Body, maid.body0.GetBone("Bip01 R Hand").gameObject)
-			},
-			{
-				IKManager.BoneType.Bust_L,
-				new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.Body, maid.body0.GetBone("Mune_L").gameObject)
-			},
-			{
-				IKManager.BoneType.Clavicle_L,
-				new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.Body, maid.body0.GetBone("Bip01 L Clavicle").gameObject)
-			},
-			{
-				IKManager.BoneType.UpperArm_L,
-				new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.Body, maid.body0.GetBone("Bip01 L UpperArm").gameObject)
-			},
-			{
-				IKManager.BoneType.Forearm_L,
-				new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.Body, maid.body0.GetBone("Bip01 L Forearm").gameObject)
-			},
-			{
-				IKManager.BoneType.Hand_L,
-				new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.Body, maid.body0.GetBone("Bip01 L Hand").gameObject)
-			},
-			{
-				IKManager.BoneType.Hip_R,
-				new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.Body, maid.body0.GetBone("Hip_R").gameObject)
-			},
-			{
-				IKManager.BoneType.Thigh_R,
-				new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.Body, maid.body0.GetBone("Bip01 R Thigh").gameObject)
-			},
-			{
-				IKManager.BoneType.Calf_R,
-				new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.Body, maid.body0.GetBone("Bip01 R Calf").gameObject)
-			},
-			{
-				IKManager.BoneType.Foot_R,
-				new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.Body, maid.body0.GetBone("Bip01 R Foot").gameObject)
-			},
-			{
-				IKManager.BoneType.Hip_L,
-				new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.Body, maid.body0.GetBone("Hip_L").gameObject)
-			},
-			{
-				IKManager.BoneType.Thigh_L,
-				new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.Body, maid.body0.GetBone("Bip01 L Thigh").gameObject)
-			},
-			{
-				IKManager.BoneType.Calf_L,
-				new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.Body, maid.body0.GetBone("Bip01 L Calf").gameObject)
-			},
-			{
-				IKManager.BoneType.Foot_L,
-				new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.Body, maid.body0.GetBone("Bip01 L Foot").gameObject)
-			},
-			{
-				IKManager.BoneType.Finger0_Root_R,
-				new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.RightArmFinger, maid.body0.GetBone("Bip01 R Finger0").gameObject)
-			},
-			{
-				IKManager.BoneType.Finger0_0_R,
-				new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.RightArmFinger, maid.body0.GetBone("Bip01 R Finger01").gameObject)
-			},
-			{
-				IKManager.BoneType.Finger0_1_R,
-				new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.RightArmFinger, maid.body0.GetBone("Bip01 R Finger02").gameObject)
-			},
-			{
-				IKManager.BoneType.Finger1_Root_R,
-				new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.RightArmFinger, maid.body0.GetBone("Bip01 R Finger1").gameObject)
-			},
-			{
-				IKManager.BoneType.Finger1_0_R,
-				new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.RightArmFinger, maid.body0.GetBone("Bip01 R Finger11").gameObject)
-			},
-			{
-				IKManager.BoneType.Finger1_1_R,
-				new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.RightArmFinger, maid.body0.GetBone("Bip01 R Finger12").gameObject)
-			},
-			{
-				IKManager.BoneType.Finger2_Root_R,
-				new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.RightArmFinger, maid.body0.GetBone("Bip01 R Finger2").gameObject)
-			},
-			{
-				IKManager.BoneType.Finger2_0_R,
-				new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.RightArmFinger, maid.body0.GetBone("Bip01 R Finger21").gameObject)
-			},
-			{
-				IKManager.BoneType.Finger2_1_R,
-				new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.RightArmFinger, maid.body0.GetBone("Bip01 R Finger22").gameObject)
-			},
-			{
-				IKManager.BoneType.Finger3_Root_R,
-				new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.RightArmFinger, maid.body0.GetBone("Bip01 R Finger3").gameObject)
-			},
-			{
-				IKManager.BoneType.Finger3_0_R,
-				new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.RightArmFinger, maid.body0.GetBone("Bip01 R Finger31").gameObject)
-			},
-			{
-				IKManager.BoneType.Finger3_1_R,
-				new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.RightArmFinger, maid.body0.GetBone("Bip01 R Finger32").gameObject)
-			},
-			{
-				IKManager.BoneType.Finger4_Root_R,
-				new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.RightArmFinger, maid.body0.GetBone("Bip01 R Finger4").gameObject)
-			},
-			{
-				IKManager.BoneType.Finger4_0_R,
-				new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.RightArmFinger, maid.body0.GetBone("Bip01 R Finger41").gameObject)
-			},
-			{
-				IKManager.BoneType.Finger4_1_R,
-				new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.RightArmFinger, maid.body0.GetBone("Bip01 R Finger42").gameObject)
-			},
-			{
-				IKManager.BoneType.Finger0_Root_L,
-				new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.LeftArmFinger, maid.body0.GetBone("Bip01 L Finger0").gameObject)
-			},
-			{
-				IKManager.BoneType.Finger0_0_L,
-				new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.LeftArmFinger, maid.body0.GetBone("Bip01 L Finger01").gameObject)
-			},
-			{
-				IKManager.BoneType.Finger0_1_L,
-				new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.LeftArmFinger, maid.body0.GetBone("Bip01 L Finger02").gameObject)
-			},
-			{
-				IKManager.BoneType.Finger1_Root_L,
-				new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.LeftArmFinger, maid.body0.GetBone("Bip01 L Finger1").gameObject)
-			},
-			{
-				IKManager.BoneType.Finger1_0_L,
-				new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.LeftArmFinger, maid.body0.GetBone("Bip01 L Finger11").gameObject)
-			},
-			{
-				IKManager.BoneType.Finger1_1_L,
-				new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.LeftArmFinger, maid.body0.GetBone("Bip01 L Finger12").gameObject)
-			},
-			{
-				IKManager.BoneType.Finger2_Root_L,
-				new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.LeftArmFinger, maid.body0.GetBone("Bip01 L Finger2").gameObject)
-			},
-			{
-				IKManager.BoneType.Finger2_0_L,
-				new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.LeftArmFinger, maid.body0.GetBone("Bip01 L Finger21").gameObject)
-			},
-			{
-				IKManager.BoneType.Finger2_1_L,
-				new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.LeftArmFinger, maid.body0.GetBone("Bip01 L Finger22").gameObject)
-			},
-			{
-				IKManager.BoneType.Finger3_Root_L,
-				new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.LeftArmFinger, maid.body0.GetBone("Bip01 L Finger3").gameObject)
-			},
-			{
-				IKManager.BoneType.Finger3_0_L,
-				new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.LeftArmFinger, maid.body0.GetBone("Bip01 L Finger31").gameObject)
-			},
-			{
-				IKManager.BoneType.Finger3_1_L,
-				new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.LeftArmFinger, maid.body0.GetBone("Bip01 L Finger32").gameObject)
-			},
-			{
-				IKManager.BoneType.Finger4_Root_L,
-				new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.LeftArmFinger, maid.body0.GetBone("Bip01 L Finger4").gameObject)
-			},
-			{
-				IKManager.BoneType.Finger4_0_L,
-				new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.LeftArmFinger, maid.body0.GetBone("Bip01 L Finger41").gameObject)
-			},
-			{
-				IKManager.BoneType.Finger4_1_L,
-				new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.LeftArmFinger, maid.body0.GetBone("Bip01 L Finger42").gameObject)
-			},
-			{
-				IKManager.BoneType.Toe0_Root_R,
-				new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.RightLegFinger, maid.body0.GetBone("Bip01 R Toe2").gameObject)
-			},
-			{
-				IKManager.BoneType.Toe0_0_R,
-				new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.RightLegFinger, maid.body0.GetBone("Bip01 R Toe21").gameObject)
-			},
-			{
-				IKManager.BoneType.Toe1_Root_R,
-				new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.RightLegFinger, maid.body0.GetBone("Bip01 R Toe1").gameObject)
-			},
-			{
-				IKManager.BoneType.Toe1_0_R,
-				new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.RightLegFinger, maid.body0.GetBone("Bip01 R Toe11").gameObject)
-			},
-			{
-				IKManager.BoneType.Toe2_Root_R,
-				new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.RightLegFinger, maid.body0.GetBone("Bip01 R Toe0").gameObject)
-			},
-			{
-				IKManager.BoneType.Toe2_0_R,
-				new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.RightLegFinger, maid.body0.GetBone("Bip01 R Toe01").gameObject)
-			},
-			{
-				IKManager.BoneType.Toe0_Root_L,
-				new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.RightLegFinger, maid.body0.GetBone("Bip01 L Toe2").gameObject)
-			},
-			{
-				IKManager.BoneType.Toe0_0_L,
-				new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.LeftLegFinger, maid.body0.GetBone("Bip01 L Toe21").gameObject)
-			},
-			{
-				IKManager.BoneType.Toe1_Root_L,
-				new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.LeftLegFinger, maid.body0.GetBone("Bip01 L Toe1").gameObject)
-			},
-			{
-				IKManager.BoneType.Toe1_0_L,
-				new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.LeftLegFinger, maid.body0.GetBone("Bip01 L Toe11").gameObject)
-			},
-			{
-				IKManager.BoneType.Toe2_Root_L,
-				new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.LeftLegFinger, maid.body0.GetBone("Bip01 L Toe0").gameObject)
-			},
-			{
-				IKManager.BoneType.Toe2_0_L,
-				new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.LeftLegFinger, maid.body0.GetBone("Bip01 L Toe01").gameObject)
-			}
-		};
+			dictionary.Add(IKManager.BoneType.Spine1, new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.Body, maid.body0.GetBone(text + " Spine1").gameObject));
+			dictionary.Add(IKManager.BoneType.Spine2, new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.Body, maid.body0.GetBone(text + " Spine2").gameObject));
+		}
+		dictionary.Add(IKManager.BoneType.Mouth, new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.Body, maid.body0.GetBone("Mouth").gameObject));
+		if (!maid.boMAN)
+		{
+			dictionary.Add(IKManager.BoneType.Bust_R, new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.Body, maid.body0.GetBone("Mune_R").gameObject));
+			dictionary.Add(IKManager.BoneType.Bust_R_Sub, new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.Body, maid.body0.GetBone("Mune_R_sub").gameObject));
+			dictionary.Add(IKManager.BoneType.Nipple_R, new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.Body, maid.body0.GetBone("Nipple_R").gameObject));
+		}
+		dictionary.Add(IKManager.BoneType.Clavicle_R, new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.Body, maid.body0.GetBone(text + " R Clavicle").gameObject));
+		dictionary.Add(IKManager.BoneType.UpperArm_R, new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.Body, maid.body0.GetBone(text + " R UpperArm").gameObject));
+		dictionary.Add(IKManager.BoneType.Forearm_R, new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.Body, maid.body0.GetBone(text + " R Forearm").gameObject));
+		dictionary.Add(IKManager.BoneType.Hand_R, new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.Body, maid.body0.GetBone(text + " R Hand").gameObject));
+		if (!maid.boMAN)
+		{
+			dictionary.Add(IKManager.BoneType.Bust_L, new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.Body, maid.body0.GetBone("Mune_L").gameObject));
+			dictionary.Add(IKManager.BoneType.Bust_L_Sub, new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.Body, maid.body0.GetBone("Mune_L_sub").gameObject));
+			dictionary.Add(IKManager.BoneType.Nipple_L, new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.Body, maid.body0.GetBone("Nipple_L").gameObject));
+		}
+		dictionary.Add(IKManager.BoneType.Clavicle_L, new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.Body, maid.body0.GetBone(text + " L Clavicle").gameObject));
+		dictionary.Add(IKManager.BoneType.UpperArm_L, new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.Body, maid.body0.GetBone(text + " L UpperArm").gameObject));
+		dictionary.Add(IKManager.BoneType.Forearm_L, new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.Body, maid.body0.GetBone(text + " L Forearm").gameObject));
+		dictionary.Add(IKManager.BoneType.Hand_L, new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.Body, maid.body0.GetBone(text + " L Hand").gameObject));
+		if (!maid.boMAN)
+		{
+			dictionary.Add(IKManager.BoneType.Hip_R, new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.Body, maid.body0.GetBone("Hip_R").gameObject));
+		}
+		dictionary.Add(IKManager.BoneType.Thigh_R, new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.Body, maid.body0.GetBone(text + " R Thigh").gameObject));
+		dictionary.Add(IKManager.BoneType.Calf_R, new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.Body, maid.body0.GetBone(text + " R Calf").gameObject));
+		dictionary.Add(IKManager.BoneType.Foot_R, new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.Body, maid.body0.GetBone(text + " R Foot").gameObject));
+		if (!maid.boMAN)
+		{
+			dictionary.Add(IKManager.BoneType.Hip_L, new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.Body, maid.body0.GetBone("Hip_L").gameObject));
+		}
+		dictionary.Add(IKManager.BoneType.Thigh_L, new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.Body, maid.body0.GetBone(text + " L Thigh").gameObject));
+		dictionary.Add(IKManager.BoneType.Calf_L, new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.Body, maid.body0.GetBone(text + " L Calf").gameObject));
+		dictionary.Add(IKManager.BoneType.Foot_L, new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.Body, maid.body0.GetBone(text + " L Foot").gameObject));
+		dictionary.Add(IKManager.BoneType.Finger0_Root_R, new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.RightArmFinger, maid.body0.GetBone(text + " R Finger0").gameObject));
+		dictionary.Add(IKManager.BoneType.Finger0_0_R, new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.RightArmFinger, maid.body0.GetBone(text + " R Finger01").gameObject));
+		dictionary.Add(IKManager.BoneType.Finger0_1_R, new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.RightArmFinger, maid.body0.GetBone(text + " R Finger02").gameObject));
+		dictionary.Add(IKManager.BoneType.Finger1_Root_R, new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.RightArmFinger, maid.body0.GetBone(text + " R Finger1").gameObject));
+		dictionary.Add(IKManager.BoneType.Finger1_0_R, new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.RightArmFinger, maid.body0.GetBone(text + " R Finger11").gameObject));
+		dictionary.Add(IKManager.BoneType.Finger1_1_R, new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.RightArmFinger, maid.body0.GetBone(text + " R Finger12").gameObject));
+		dictionary.Add(IKManager.BoneType.Finger2_Root_R, new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.RightArmFinger, maid.body0.GetBone(text + " R Finger2").gameObject));
+		dictionary.Add(IKManager.BoneType.Finger2_0_R, new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.RightArmFinger, maid.body0.GetBone(text + " R Finger21").gameObject));
+		dictionary.Add(IKManager.BoneType.Finger2_1_R, new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.RightArmFinger, maid.body0.GetBone(text + " R Finger22").gameObject));
+		dictionary.Add(IKManager.BoneType.Finger3_Root_R, new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.RightArmFinger, maid.body0.GetBone(text + " R Finger3").gameObject));
+		dictionary.Add(IKManager.BoneType.Finger3_0_R, new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.RightArmFinger, maid.body0.GetBone(text + " R Finger31").gameObject));
+		dictionary.Add(IKManager.BoneType.Finger3_1_R, new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.RightArmFinger, maid.body0.GetBone(text + " R Finger32").gameObject));
+		dictionary.Add(IKManager.BoneType.Finger4_Root_R, new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.RightArmFinger, maid.body0.GetBone(text + " R Finger4").gameObject));
+		dictionary.Add(IKManager.BoneType.Finger4_0_R, new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.RightArmFinger, maid.body0.GetBone(text + " R Finger41").gameObject));
+		dictionary.Add(IKManager.BoneType.Finger4_1_R, new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.RightArmFinger, maid.body0.GetBone(text + " R Finger42").gameObject));
+		dictionary.Add(IKManager.BoneType.Finger0_Root_L, new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.LeftArmFinger, maid.body0.GetBone(text + " L Finger0").gameObject));
+		dictionary.Add(IKManager.BoneType.Finger0_0_L, new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.LeftArmFinger, maid.body0.GetBone(text + " L Finger01").gameObject));
+		dictionary.Add(IKManager.BoneType.Finger0_1_L, new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.LeftArmFinger, maid.body0.GetBone(text + " L Finger02").gameObject));
+		dictionary.Add(IKManager.BoneType.Finger1_Root_L, new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.LeftArmFinger, maid.body0.GetBone(text + " L Finger1").gameObject));
+		dictionary.Add(IKManager.BoneType.Finger1_0_L, new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.LeftArmFinger, maid.body0.GetBone(text + " L Finger11").gameObject));
+		dictionary.Add(IKManager.BoneType.Finger1_1_L, new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.LeftArmFinger, maid.body0.GetBone(text + " L Finger12").gameObject));
+		dictionary.Add(IKManager.BoneType.Finger2_Root_L, new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.LeftArmFinger, maid.body0.GetBone(text + " L Finger2").gameObject));
+		dictionary.Add(IKManager.BoneType.Finger2_0_L, new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.LeftArmFinger, maid.body0.GetBone(text + " L Finger21").gameObject));
+		dictionary.Add(IKManager.BoneType.Finger2_1_L, new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.LeftArmFinger, maid.body0.GetBone(text + " L Finger22").gameObject));
+		dictionary.Add(IKManager.BoneType.Finger3_Root_L, new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.LeftArmFinger, maid.body0.GetBone(text + " L Finger3").gameObject));
+		dictionary.Add(IKManager.BoneType.Finger3_0_L, new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.LeftArmFinger, maid.body0.GetBone(text + " L Finger31").gameObject));
+		dictionary.Add(IKManager.BoneType.Finger3_1_L, new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.LeftArmFinger, maid.body0.GetBone(text + " L Finger32").gameObject));
+		dictionary.Add(IKManager.BoneType.Finger4_Root_L, new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.LeftArmFinger, maid.body0.GetBone(text + " L Finger4").gameObject));
+		dictionary.Add(IKManager.BoneType.Finger4_0_L, new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.LeftArmFinger, maid.body0.GetBone(text + " L Finger41").gameObject));
+		dictionary.Add(IKManager.BoneType.Finger4_1_L, new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.LeftArmFinger, maid.body0.GetBone(text + " L Finger42").gameObject));
+		if (!maid.boMAN)
+		{
+			dictionary.Add(IKManager.BoneType.Toe0_Root_R, new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.RightLegFinger, maid.body0.GetBone(text + " R Toe2").gameObject));
+			dictionary.Add(IKManager.BoneType.Toe0_0_R, new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.RightLegFinger, maid.body0.GetBone(text + " R Toe21").gameObject));
+		}
+		dictionary.Add(IKManager.BoneType.Toe1_Root_R, new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.RightLegFinger, maid.body0.GetBone(text + " R Toe1").gameObject));
+		if (!maid.boMAN)
+		{
+			dictionary.Add(IKManager.BoneType.Toe1_0_R, new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.RightLegFinger, maid.body0.GetBone(text + " R Toe11").gameObject));
+		}
+		dictionary.Add(IKManager.BoneType.Toe2_Root_R, new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.RightLegFinger, maid.body0.GetBone(text + " R Toe0").gameObject));
+		if (!maid.boMAN)
+		{
+			dictionary.Add(IKManager.BoneType.Toe2_0_R, new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.RightLegFinger, maid.body0.GetBone(text + " R Toe01").gameObject));
+		}
+		if (!maid.boMAN)
+		{
+			dictionary.Add(IKManager.BoneType.Toe0_Root_L, new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.RightLegFinger, maid.body0.GetBone(text + " L Toe2").gameObject));
+			dictionary.Add(IKManager.BoneType.Toe0_0_L, new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.LeftLegFinger, maid.body0.GetBone(text + " L Toe21").gameObject));
+		}
+		dictionary.Add(IKManager.BoneType.Toe1_Root_L, new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.LeftLegFinger, maid.body0.GetBone(text + " L Toe1").gameObject));
+		if (!maid.boMAN)
+		{
+			dictionary.Add(IKManager.BoneType.Toe1_0_L, new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.LeftLegFinger, maid.body0.GetBone(text + " L Toe11").gameObject));
+		}
+		dictionary.Add(IKManager.BoneType.Toe2_Root_L, new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.LeftLegFinger, maid.body0.GetBone(text + " L Toe0").gameObject));
+		if (!maid.boMAN)
+		{
+			dictionary.Add(IKManager.BoneType.Toe2_0_L, new KeyValuePair<IKManager.BoneSetType, GameObject>(IKManager.BoneSetType.LeftLegFinger, maid.body0.GetBone(text + " L Toe01").gameObject));
+		}
+		return dictionary;
 	}
 
 	public void Awake()
@@ -361,11 +197,11 @@ public class IKManager : MonoBehaviour
 		}
 		this.root_drag_point_ = IKManager.CreateIKDragPoint(this.GetBone(IKManager.BoneType.Root), this.maid);
 		this.root_drag_point_.PositonCorrectionEnabled = false;
-		this.root_drag_point_.cur_drag_event = delegate
+		this.root_drag_point_.cur_drag_event = delegate()
 		{
 			this.root_drag_point_.target_ik_point_trans.position = this.root_drag_point_.transform.position;
 		};
-		this.root_drag_point_.drag_end_event = delegate
+		this.root_drag_point_.drag_end_event = delegate()
 		{
 			this.HistoryPush();
 		};
@@ -874,7 +710,12 @@ public class IKManager : MonoBehaviour
 		Toe1_Root_L,
 		Toe1_0_L,
 		Toe2_Root_L,
-		Toe2_0_L
+		Toe2_0_L,
+		Mouth,
+		Bust_L_Sub,
+		Bust_R_Sub,
+		Nipple_L,
+		Nipple_R
 	}
 
 	public enum BoneSetType

+ 0 - 405
Assembly-CSharp/IKMgrData.cs

@@ -1,405 +0,0 @@
-using System;
-using System.Collections.Generic;
-using UnityEngine;
-
-[Serializable]
-public class IKMgrData
-{
-	public TBody Body { get; private set; }
-
-	public Transform KinematicTgt
-	{
-		get
-		{
-			return this.m_KinematicTgt;
-		}
-	}
-
-	public IKMgrData.IKParam PointIK
-	{
-		get
-		{
-			return this.m_PointIK;
-		}
-	}
-
-	public IKMgrData.IKParam RotateIK
-	{
-		get
-		{
-			return this.m_RotateIK;
-		}
-	}
-
-	public TBody.IKCMO IKCmo
-	{
-		get
-		{
-			return this.m_IKCmo;
-		}
-	}
-
-	public bool IsIkExec
-	{
-		get
-		{
-			return this.PointIK.IsIKExec || this.RotateIK.IsIKExec;
-		}
-	}
-
-	private void IkCmoPorc(Vector3 tgt, Vector3 vechand_offset)
-	{
-		if (this.m_KinematicList.Count < 3)
-		{
-			return;
-		}
-		for (int i = 0; i < 3; i++)
-		{
-			this.IKCmo.Porc(this.m_KinematicList[2], this.m_KinematicList[1], this.m_KinematicList[0], tgt, vechand_offset);
-		}
-	}
-
-	private void TransratePoint(Vector3 tgt_pos, Quaternion tgt_rot, Vector3 tgt_offset)
-	{
-		Vector3 vector = tgt_pos + tgt_rot * tgt_offset;
-		Debug.DrawLine(tgt_pos, vector, Color.white);
-		for (int i = 0; i < 5; i++)
-		{
-			Vector3 a = vector;
-			if (this.m_AttachPointData != null)
-			{
-				Vector3 normalized = (this.KinematicTgt.position - this.KinematicTgt.parent.position).normalized;
-				float d = Vector3.Dot(this.m_AttachPointData.AttachTrans.position - this.KinematicTgt.position, normalized);
-				a += this.KinematicTgt.position + normalized * d - this.m_AttachPointData.AttachTrans.position;
-			}
-			for (int j = 1; j < this.m_KinematicList.Count; j++)
-			{
-				bool flag = j + 1 < this.m_KinematicList.Count;
-				Vector3 vector2 = Vector3.zero;
-				if (flag)
-				{
-					Quaternion rotation = Quaternion.FromToRotation(this.m_KinematicList[j - 1].position - this.m_KinematicList[j].position, a - this.m_KinematicList[j].position) * this.m_KinematicList[j].rotation;
-					Vector3 point = this.m_KinematicList[j].InverseTransformPoint(this.m_KinematicList[j - 1].position);
-					Vector3 b = this.m_KinematicList[j].position + rotation * point;
-					vector2 = this.m_KinematicList[j].position + (a - b);
-					this.m_KinematicList[j + 1].rotation = Quaternion.FromToRotation(this.m_KinematicList[j].position - this.m_KinematicList[j + 1].position, vector2 - this.m_KinematicList[j + 1].position) * this.m_KinematicList[j + 1].rotation;
-				}
-				this.m_KinematicList[j].rotation = Quaternion.FromToRotation(this.m_KinematicList[j - 1].position - this.m_KinematicList[j].position, a - this.m_KinematicList[j].position) * this.m_KinematicList[j].rotation;
-				if (flag)
-				{
-					a = vector2;
-				}
-			}
-			for (int k = this.m_KinematicList.Count - 1; k > 0; k--)
-			{
-				Debug.DrawLine(this.m_KinematicList[k].position, this.m_KinematicList[k - 1].position, Color.Lerp(Color.red, Color.yellow, (float)i / 4f));
-			}
-			if (this.m_AttachPointData != null)
-			{
-				Debug.DrawLine(this.KinematicTgt.position, this.m_AttachPointData.AttachTrans.position, Color.Lerp(Color.red, Color.yellow, (float)i / 4f));
-			}
-		}
-	}
-
-	private void TransratePoint(Transform tgt, Vector3 tgt_offset)
-	{
-		this.TransratePoint(tgt.position, tgt.rotation, tgt_offset);
-	}
-
-	private void ConstraintRot(Quaternion tgt_rot, Vector3 tgt_offset)
-	{
-		this.KinematicTgt.rotation = tgt_rot * Quaternion.Euler(tgt_offset);
-	}
-
-	private void ApplyIKSetting(IKMgrData.IKParam data)
-	{
-		if (this.IsExecLate)
-		{
-			return;
-		}
-		if (data.TgtMaid && data.TgtMaid != this.Body.maid && !data.TgtMaid.body0.LateUpdateEnd)
-		{
-			TBody body = data.TgtMaid.body0;
-			body.OnLateUpdateEnd = (Action)Delegate.Combine(body.OnLateUpdateEnd, new Action(this.AfterExec));
-			data.IsIKExec = false;
-			this.IsExecLate = true;
-			return;
-		}
-		data.IsIKExec = true;
-		if (data.Target != null)
-		{
-			Vector3 position = data.Target.position;
-			Quaternion rotation = data.Target.rotation;
-			switch (data.MyType)
-			{
-			case IKMgrData.IKAttachType.Point:
-				Debug.DrawLine(position, position + rotation * Vector3.forward * 0.2f, Color.cyan);
-				this.IkCmoPorc(position, data.TgtOffset);
-				break;
-			case IKMgrData.IKAttachType.Rotate:
-				this.ConstraintRot(rotation, data.TgtOffset);
-				break;
-			case IKMgrData.IKAttachType.NewPoint:
-				this.TransratePoint(data.Target, data.TgtOffset);
-				break;
-			}
-			if (data.IsTgtAxis)
-			{
-				KasaiUtility.DrawAxis(position, rotation, 0.125f);
-			}
-		}
-		else if (data.Tgt_AttachName != string.Empty)
-		{
-			if (this.Body.goSlot[data.Tgt_AttachSlot].morph != null)
-			{
-				if (data.TgtMaid != null && data.TgtMaid.body0 != null)
-				{
-					Vector3 vector;
-					Quaternion rotation2;
-					Vector3 vector2;
-					data.TgtMaid.body0.goSlot[data.Tgt_AttachSlot].morph.GetAttachPoint(data.Tgt_AttachName, out vector, out rotation2, out vector2, false);
-					switch (data.MyType)
-					{
-					case IKMgrData.IKAttachType.Point:
-						Debug.DrawLine(vector, vector + rotation2 * Vector3.forward * 0.2f, Color.blue);
-						this.IkCmoPorc(vector, data.TgtOffset);
-						break;
-					case IKMgrData.IKAttachType.Rotate:
-						this.ConstraintRot(rotation2, data.TgtOffset);
-						break;
-					case IKMgrData.IKAttachType.NewPoint:
-						if (data.AxisTgt)
-						{
-							rotation2 = data.AxisTgt.rotation;
-						}
-						this.TransratePoint(vector, rotation2, data.TgtOffset);
-						break;
-					}
-					if (data.IsTgtAxis)
-					{
-						KasaiUtility.DrawAxis(vector, rotation2, 0.125f);
-					}
-				}
-				else
-				{
-					data.IsIKExec = false;
-					data.Tgt_AttachName = string.Empty;
-				}
-			}
-		}
-		else
-		{
-			data.IsIKExec = false;
-		}
-	}
-
-	private void AfterExec()
-	{
-		this.IKExec();
-		if (!this.Body.IKExecLate)
-		{
-			this.Body.AutoTwist();
-			for (int i = 0; i < this.Body.goSlot.Count; i++)
-			{
-				if (this.Body.goSlot[i].obj != null)
-				{
-					this.Body.goSlot[i].CopyTrans();
-				}
-				this.Body.goSlot[i].Update();
-			}
-		}
-	}
-
-	public void SetKinematicTgt(Transform tgt, TBody body, int weight = 3)
-	{
-		this.m_KinematicTgt = tgt;
-		this.Body = body;
-		this.m_KinematicList.Clear();
-		int num = 0;
-		Transform transform = tgt;
-		while (num != weight)
-		{
-			this.m_KinematicList.Add(transform);
-			Transform parent = transform.parent;
-			if (!parent)
-			{
-				Debug.LogWarningFormat("IKのウェイトが大きすぎます:{0}", new object[]
-				{
-					weight
-				});
-				break;
-			}
-			transform = parent;
-			num++;
-		}
-	}
-
-	public void IkCmoInit(TBody body)
-	{
-		if (this.m_KinematicList.Count < 3)
-		{
-			return;
-		}
-		this.IKCmo.Init(this.m_KinematicList[2], this.m_KinematicList[1], this.m_KinematicList[0], body);
-	}
-
-	public IKMgrData.IKParam GetIKParam(IKMgrData.IKAttachType attach_type)
-	{
-		if (attach_type == IKMgrData.IKAttachType.Rotate)
-		{
-			return this.RotateIK;
-		}
-		return this.PointIK;
-	}
-
-	public void IKExec()
-	{
-		this.IsExecLate = false;
-		this.ApplyIKSetting(this.PointIK);
-		this.ApplyIKSetting(this.RotateIK);
-		if (this.IsIkExec && !this.IsExecLate)
-		{
-			if (this.m_AttachPointData != null)
-			{
-				KasaiUtility.DrawObjAxis(this.m_AttachPointData.AttachTrans, 0.0625f);
-			}
-			else
-			{
-				KasaiUtility.DrawObjAxis(this.KinematicTgt, 0.0625f);
-			}
-			if (!this.PointIK.IsIKExec)
-			{
-				for (int i = this.m_KinematicList.Count - 1; i > 0; i--)
-				{
-					Debug.DrawLine(this.m_KinematicList[i].position, this.m_KinematicList[i - 1].position, Color.cyan);
-				}
-				if (this.m_AttachPointData != null)
-				{
-					Debug.DrawLine(this.KinematicTgt.position, this.m_AttachPointData.AttachTrans.position, Color.cyan);
-				}
-			}
-		}
-	}
-
-	public Transform CreateAttachPointObj(string obj_name, Transform parent, TBody body, string slot_name, string attach_name)
-	{
-		if (this.m_AttachPointData != null && this.m_AttachPointData.AttachTrans)
-		{
-			return this.m_AttachPointData.AttachTrans;
-		}
-		GameObject gameObject = new GameObject(obj_name);
-		gameObject.transform.SetParent(parent, false);
-		this.m_AttachPointData = new IKMgrData.AttachPointIKData();
-		this.m_AttachPointData.AttachTrans = gameObject.transform;
-		this.m_AttachPointData.Tbody = body;
-		this.m_AttachPointData.AttachName = attach_name;
-		this.m_AttachPointData.SlotName = slot_name;
-		return gameObject.transform;
-	}
-
-	public void SyncAttachPoint()
-	{
-		if (this.m_AttachPointData == null || !this.m_AttachPointData.AttachTrans)
-		{
-			return;
-		}
-		int slotNo = this.m_AttachPointData.Tbody.GetSlotNo(this.m_AttachPointData.SlotName);
-		if (slotNo < 0 || slotNo >= this.m_AttachPointData.Tbody.goSlot.Count)
-		{
-			Debug.LogErrorFormat("スロット{0}は存在しません", new object[]
-			{
-				this.m_AttachPointData.SlotName
-			});
-			return;
-		}
-		Vector3 position;
-		Quaternion rotation;
-		Vector3 localScale;
-		this.m_AttachPointData.Tbody.goSlot[slotNo].morph.GetAttachPoint(this.m_AttachPointData.AttachName, out position, out rotation, out localScale, false);
-		this.m_AttachPointData.AttachTrans.position = position;
-		this.m_AttachPointData.AttachTrans.rotation = rotation;
-		this.m_AttachPointData.AttachTrans.localScale = localScale;
-	}
-
-	private const int m_CorrectNum = 5;
-
-	[SerializeField]
-	private List<Transform> m_KinematicList = new List<Transform>();
-
-	[SerializeField]
-	private Transform m_KinematicTgt;
-
-	[SerializeField]
-	private IKMgrData.IKParam m_PointIK = new IKMgrData.IKParam(IKMgrData.IKAttachType.NewPoint);
-
-	[SerializeField]
-	private IKMgrData.IKParam m_RotateIK = new IKMgrData.IKParam(IKMgrData.IKAttachType.Rotate);
-
-	private TBody.IKCMO m_IKCmo = new TBody.IKCMO();
-
-	private IKMgrData.AttachPointIKData m_AttachPointData;
-
-	public bool IsExecLate;
-
-	public enum IKAttachType
-	{
-		Point,
-		Rotate,
-		NewPoint
-	}
-
-	[Serializable]
-	public class IKParam
-	{
-		public IKParam(IKMgrData.IKAttachType type)
-		{
-			this.MyType = type;
-		}
-
-		public IKMgrData.IKAttachType MyType { get; private set; }
-
-		public void ChangePointType(IKMgrData.IKAttachType type)
-		{
-			if (this.MyType == IKMgrData.IKAttachType.Rotate)
-			{
-				return;
-			}
-			this.MyType = type;
-		}
-
-		public bool IsPointAttach
-		{
-			get
-			{
-				return this.MyType != IKMgrData.IKAttachType.Rotate;
-			}
-		}
-
-		public Transform Target;
-
-		public Vector3 TgtOffset;
-
-		public int Tgt_AttachSlot = -1;
-
-		public string Tgt_AttachName = string.Empty;
-
-		public Maid TgtMaid;
-
-		public bool IsTgtAxis;
-
-		public bool IsIKExec;
-
-		public Transform AxisTgt;
-	}
-
-	private class AttachPointIKData
-	{
-		public Transform AttachTrans;
-
-		public TBody Tbody;
-
-		public string SlotName = string.Empty;
-
-		public string AttachName = string.Empty;
-	}
-}

+ 4 - 2
Assembly-CSharp/ItemInfoWnd.cs

@@ -1,4 +1,5 @@
 using System;
+using I2.Loc;
 using UnityEngine;
 
 public class ItemInfoWnd : MonoBehaviour
@@ -35,9 +36,10 @@ public class ItemInfoWnd : MonoBehaviour
 		{
 			this.m_uiInfo.text = string.Concat(new object[]
 			{
-				"全",
+				LocalizationManager.GetTranslation("SceneEdit/インフォ文/全", true, 0, true, false, null, null),
 				group_num,
-				"種\n",
+				LocalizationManager.GetTranslation("SceneEdit/インフォ文/種", true, 0, true, false, null, null),
+				"\n",
 				f_strInfo
 			});
 		}

+ 25 - 9
Assembly-CSharp/KaraokeDataManager.cs

@@ -245,19 +245,35 @@ public class KaraokeDataManager : MonoBehaviour
 
 	public static void GetMaidListKaraoke(List<Maid> draw_list)
 	{
-		List<Maid> list = new List<Maid>();
+		List<string> list = new List<string>
+		{
+			"Pure",
+			"Cool",
+			"Pride",
+			"Yandere",
+			"Anesan",
+			"Genki",
+			"Sadist",
+			"Muku",
+			"Majime",
+			"Rindere"
+		};
 		List<Maid> list2 = new List<Maid>();
-		CharacterSelectManager.DefaultMaidList(list2);
-		for (int i = 0; i < list2.Count; i++)
+		List<Maid> list3 = new List<Maid>();
+		CharacterSelectManager.DefaultMaidList(list3);
+		for (int i = 0; i < list3.Count; i++)
 		{
-			Maid maid = list2[i];
+			Maid maid = list3[i];
 			if (maid.status.heroineType != HeroineType.Sub)
 			{
-				list.Add(maid);
+				if (list.Contains(maid.status.personal.uniqueName))
+				{
+					list2.Add(maid);
+				}
 			}
 		}
 		draw_list.Clear();
-		draw_list.AddRange(list);
+		draw_list.AddRange(list2);
 	}
 
 	private void Awake()
@@ -499,7 +515,7 @@ public class KaraokeDataManager : MonoBehaviour
 	public void ButtonExit()
 	{
 		UICanvasFade mainMenu = this.m_CanvasKaraokeMainMenu;
-		mainMenu.FadeOut(mainMenu.fadeTime, mainMenu.isTimeScaling, delegate
+		mainMenu.FadeOut(mainMenu.fadeTime, mainMenu.isTimeScaling, delegate()
 		{
 			VRDialogMenu dialog = VRDialogMenu.CreateDialog();
 			if (dialog)
@@ -648,7 +664,7 @@ public class KaraokeDataManager : MonoBehaviour
 	public void ButtonEventOpenVRConfig()
 	{
 		UICanvasFade canvasKaraokeMainMenu = this.m_CanvasKaraokeMainMenu;
-		canvasKaraokeMainMenu.FadeOut(canvasKaraokeMainMenu.fadeTime, canvasKaraokeMainMenu.isTimeScaling, delegate
+		canvasKaraokeMainMenu.FadeOut(canvasKaraokeMainMenu.fadeTime, canvasKaraokeMainMenu.isTimeScaling, delegate()
 		{
 			this.m_CanvasVRConfig.FadeIn();
 		});
@@ -657,7 +673,7 @@ public class KaraokeDataManager : MonoBehaviour
 	public void ButtonEventOpenKaraokeMainMenu()
 	{
 		UICanvasFade canvasVRConfig = this.m_CanvasVRConfig;
-		canvasVRConfig.FadeOut(canvasVRConfig.fadeTime, canvasVRConfig.isTimeScaling, delegate
+		canvasVRConfig.FadeOut(canvasVRConfig.fadeTime, canvasVRConfig.isTimeScaling, delegate()
 		{
 			this.m_CanvasKaraokeMainMenu.FadeIn();
 		});

+ 45 - 0
Assembly-CSharp/KasaiUtility.cs

@@ -376,4 +376,49 @@ public class KasaiUtility
 		}
 		return KasaiUtility.Hermite(p, p2, v, v2, t2);
 	}
+
+	public static Vector3 Vec3Multiply(Vector3 a, Vector3 b)
+	{
+		Vector3 zero = Vector3.zero;
+		zero.x = a.x * b.x;
+		zero.y = a.y * b.y;
+		zero.z = a.z * b.z;
+		return zero;
+	}
+
+	public static Vector3 Vec3Parse(string str, char split_ch = ',')
+	{
+		string[] array = str.Split(new char[]
+		{
+			split_ch
+		});
+		Vector3 zero = Vector3.zero;
+		zero.x = float.Parse(array[0]);
+		zero.y = float.Parse(array[1]);
+		zero.z = float.Parse(array[2]);
+		return zero;
+	}
+
+	public static Vector3 AngleRimmit360(Vector3 orijin_angle)
+	{
+		Func<float, float> func = delegate(float angle)
+		{
+			if (Mathf.Abs(angle) > 360f)
+			{
+				if (angle < 0f)
+				{
+					angle += 360f;
+				}
+				else
+				{
+					angle -= 360f;
+				}
+			}
+			return angle;
+		};
+		orijin_angle.x = func(orijin_angle.x);
+		orijin_angle.y = func(orijin_angle.y);
+		orijin_angle.z = func(orijin_angle.z);
+		return orijin_angle;
+	}
 }

+ 1 - 1
Assembly-CSharp/Kasizuki/ClubRoomSelectCtrl.cs

@@ -79,7 +79,7 @@ namespace Kasizuki
 			UIButton uiButton = trans.GetComponent<UIButton>();
 			if (uiButton)
 			{
-				EventDelegate.Add(uiButton.onClick, delegate
+				EventDelegate.Add(uiButton.onClick, delegate()
 				{
 					this.OnClickItem(uiButton, data);
 				});

+ 1 - 1
Assembly-CSharp/Kasizuki/KasizukiCharacterSelectCtrl.cs

@@ -84,7 +84,7 @@ namespace Kasizuki
 		{
 			GameObject itemObj = item.gameObject;
 			UIButton componentInChildren = item.GetComponentInChildren<UIButton>(item);
-			EventDelegate.Add(componentInChildren.onClick, delegate
+			EventDelegate.Add(componentInChildren.onClick, delegate()
 			{
 				this.callbackSelectItem(maid);
 				this.UpdateListColor(itemObj);

+ 113 - 26
Assembly-CSharp/Kasizuki/KasizukiMainMenu.cs

@@ -28,7 +28,7 @@ namespace Kasizuki
 		protected override void OnCall()
 		{
 			this.m_SwitchingWindowDic["部屋選択"].GetCache<UIButton>("OK").isEnabled = (KasizukiMainMenu.m_NowSelectingRoom != null);
-			this.m_SwitchingWindowDic["メイド情報"].OnOpen = delegate
+			this.m_SwitchingWindowDic["メイド情報"].OnOpen = delegate()
 			{
 				MaidMiniManagementCtrl component = base.parent_mgr.children_dic["MaidInfo"].GetComponent<MaidMiniManagementCtrl>();
 				component.buttonDic["エディット"].gameObject.SetActive(component.selectMaid != null);
@@ -40,7 +40,7 @@ namespace Kasizuki
 				{
 					KasizukiCharacterSelectCtrl charaSelect = maidMiniManagementCtrl.charaSelectMgr;
 					maidMiniManagementCtrl.selectMaid = null;
-					charaSelect.callbackGetMaidList = delegate
+					charaSelect.callbackGetMaidList = delegate()
 					{
 						ManDataType nowManType = (ManDataType)GameMain.Instance.KasizukiMgr.GetNowManType();
 						List<PlayData.Data> playDatas = KasizukiMainMenu.m_NowSelectingRoom.GetPlayDatas();
@@ -96,6 +96,30 @@ namespace Kasizuki
 								num += 4;
 								kasizukiMgr.SetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男1, num, false);
 							}
+							else if (kasizukiMgr.GetNowManType() == 30)
+							{
+								num = kasizukiMgr.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男2, false);
+								num += 4;
+								kasizukiMgr.SetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男2, num, false);
+							}
+							else if (kasizukiMgr.GetNowManType() == 40)
+							{
+								num = kasizukiMgr.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男3, false);
+								num += 4;
+								kasizukiMgr.SetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男3, num, false);
+							}
+							else if (kasizukiMgr.GetNowManType() == 50)
+							{
+								num = kasizukiMgr.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男4, false);
+								num += 4;
+								kasizukiMgr.SetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男4, num, false);
+							}
+							else if (kasizukiMgr.GetNowManType() == 60)
+							{
+								num = kasizukiMgr.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男5, false);
+								num += 4;
+								kasizukiMgr.SetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男5, num, false);
+							}
 						}
 					}
 					Debug.Log("プレイ回数を更新");
@@ -129,11 +153,11 @@ namespace Kasizuki
 			NGUIWindow nguiwindow = this.m_SwitchingWindowDic["部屋選択"];
 			nguiwindow.CacheChildObject<UIButton>("OK", "OK");
 			nguiwindow.CacheChildObject<UIButton>("Cancel", "Cancel");
-			EventDelegate.Add(nguiwindow.GetCache<UIButton>("OK").onClick, delegate
+			EventDelegate.Add(nguiwindow.GetCache<UIButton>("OK").onClick, delegate()
 			{
 				this.OnOKRoom();
 			});
-			EventDelegate.Add(nguiwindow.GetCache<UIButton>("Cancel").onClick, delegate
+			EventDelegate.Add(nguiwindow.GetCache<UIButton>("Cancel").onClick, delegate()
 			{
 				this.OpenSwitchingWindow("メインメニュー", false);
 			});
@@ -146,12 +170,12 @@ namespace Kasizuki
 			KasizukiSaveAndLoadCtrl component = nguiwindow.GetComponent<KasizukiSaveAndLoadCtrl>();
 			NDebug.Assert(component != null, "セーブロードUIが取得できない");
 			KasizukiSaveAndLoadCtrl kasizukiSaveAndLoadCtrl = component;
-			kasizukiSaveAndLoadCtrl.onClickCancel = (Action)Delegate.Combine(kasizukiSaveAndLoadCtrl.onClickCancel, new Action(delegate
+			kasizukiSaveAndLoadCtrl.onClickCancel = (Action)Delegate.Combine(kasizukiSaveAndLoadCtrl.onClickCancel, new Action(delegate()
 			{
 				this.OpenSwitchingWindow("メインメニュー", false);
 			}));
 			KasizukiSaveAndLoadCtrl kasizukiSaveAndLoadCtrl2 = component;
-			kasizukiSaveAndLoadCtrl2.onClickNewGame = (Action)Delegate.Combine(kasizukiSaveAndLoadCtrl2.onClickNewGame, new Action(delegate
+			kasizukiSaveAndLoadCtrl2.onClickNewGame = (Action)Delegate.Combine(kasizukiSaveAndLoadCtrl2.onClickNewGame, new Action(delegate()
 			{
 				SceneKasizukiMainMenu mgr = base.parent_mgr as SceneKasizukiMainMenu;
 				mgr.CameraFadeOut(delegate
@@ -164,7 +188,7 @@ namespace Kasizuki
 				}, 0.5f);
 			}));
 			KasizukiSaveAndLoadCtrl kasizukiSaveAndLoadCtrl3 = component;
-			kasizukiSaveAndLoadCtrl3.onLoad = (Action)Delegate.Combine(kasizukiSaveAndLoadCtrl3.onLoad, new Action(delegate
+			kasizukiSaveAndLoadCtrl3.onLoad = (Action)Delegate.Combine(kasizukiSaveAndLoadCtrl3.onLoad, new Action(delegate()
 			{
 				SceneKasizukiMainMenu mgr = base.parent_mgr as SceneKasizukiMainMenu;
 				mgr.CameraFadeOut(delegate
@@ -177,7 +201,7 @@ namespace Kasizuki
 				}, 0.5f);
 			}));
 			KasizukiSaveAndLoadCtrl kasizukiSaveAndLoadCtrl4 = component;
-			kasizukiSaveAndLoadCtrl4.onSave = (Action)Delegate.Combine(kasizukiSaveAndLoadCtrl4.onSave, new Action(delegate
+			kasizukiSaveAndLoadCtrl4.onSave = (Action)Delegate.Combine(kasizukiSaveAndLoadCtrl4.onSave, new Action(delegate()
 			{
 				int nowOriginSaveDataNumber = GameMain.Instance.KasizukiMgr.NowOriginSaveDataNumber;
 				if (GameMain.Instance.GetSaveDataHeader(nowOriginSaveDataNumber) == null)
@@ -188,7 +212,7 @@ namespace Kasizuki
 				GameMain.Instance.SerializeKasizukiOnly(nowOriginSaveDataNumber);
 			}));
 			KasizukiSaveAndLoadCtrl kasizukiSaveAndLoadCtrl5 = component;
-			kasizukiSaveAndLoadCtrl5.onDelete = (Action)Delegate.Combine(kasizukiSaveAndLoadCtrl5.onDelete, new Action(delegate
+			kasizukiSaveAndLoadCtrl5.onDelete = (Action)Delegate.Combine(kasizukiSaveAndLoadCtrl5.onDelete, new Action(delegate()
 			{
 				int nowOriginSaveDataNumber = GameMain.Instance.KasizukiMgr.NowOriginSaveDataNumber;
 				if (GameMain.Instance.GetSaveDataHeader(nowOriginSaveDataNumber) == null)
@@ -205,11 +229,11 @@ namespace Kasizuki
 			NGUIWindow nguiwindow = this.m_SwitchingWindowDic["男選択"];
 			nguiwindow.CacheChildObject<UIButton>("OK", "OK");
 			nguiwindow.CacheChildObject<UIButton>("Cancel", "Cancel");
-			EventDelegate.Add(nguiwindow.GetCache<UIButton>("OK").onClick, delegate
+			EventDelegate.Add(nguiwindow.GetCache<UIButton>("OK").onClick, delegate()
 			{
 				this.OpenSwitchingWindow("メインメニュー", false);
 			});
-			EventDelegate.Add(nguiwindow.GetCache<UIButton>("Cancel").onClick, delegate
+			EventDelegate.Add(nguiwindow.GetCache<UIButton>("Cancel").onClick, delegate()
 			{
 				this.OpenSwitchingWindow("メインメニュー", false);
 			});
@@ -217,7 +241,7 @@ namespace Kasizuki
 			if (compManSelect)
 			{
 				NGUIWindow nguiwindow2 = nguiwindow;
-				nguiwindow2.OnOpen = (Action)Delegate.Combine(nguiwindow2.OnOpen, new Action(delegate
+				nguiwindow2.OnOpen = (Action)Delegate.Combine(nguiwindow2.OnOpen, new Action(delegate()
 				{
 					int nowManType = GameMain.Instance.KasizukiMgr.GetNowManType();
 					compManSelect.OnClickManListButton(nowManType);
@@ -245,16 +269,16 @@ namespace Kasizuki
 			RoomData.Data selectingRoomData = null;
 			ManData.Data selectingManData = null;
 			PlayData.Data selectingPlayData = null;
-			EventDelegate.Add(window.GetCache<UIButton>("OK").onClick, delegate
+			EventDelegate.Add(window.GetCache<UIButton>("OK").onClick, delegate()
 			{
 				MaidMiniManagementCtrl maidMiniManagementCtrl = this.parent_mgr.children_dic["MaidInfo"] as MaidMiniManagementCtrl;
 				this.StartFree(maidMiniManagementCtrl.selectMaid, selectingRoomData, selectingManData, selectingPlayData);
 			});
-			EventDelegate.Set(window.GetCache<UIButton>("Cancel").onClick, delegate
+			EventDelegate.Set(window.GetCache<UIButton>("Cancel").onClick, delegate()
 			{
 				this.OpenSwitchingWindow("メインメニュー", false);
 			});
-			Action actResetDescriptionWindow = delegate
+			Action actResetDescriptionWindow = delegate()
 			{
 				UILabel cache = comp.descriptionCache.GetCache<UILabel>("説明文");
 				uGUIListViewer cache2 = comp.descriptionCache.GetCache<uGUIListViewer>("条件一覧");
@@ -282,13 +306,32 @@ namespace Kasizuki
 				cache.isEnabled = (roomData != null && manData != null && playData != null);
 			};
 			NGUIWindow window2 = window;
-			window2.OnOpen = (Action)Delegate.Combine(window2.OnOpen, new Action(delegate
+			window2.OnOpen = (Action)Delegate.Combine(window2.OnOpen, new Action(delegate()
 			{
 				selectingManData = ManData.GetData(GameMain.Instance.KasizukiMgr.GetNowManType());
 				List<RoomData.Data> datas;
 				if (!GameMain.Instance.CharacterMgr.status.lockNTRPlay)
 				{
-					datas = RoomData.GetDatas((RoomData.Data data) => data.isExistUpwardRoom && !data.isOnlyNTR);
+					datas = RoomData.GetDatas(delegate(RoomData.Data data)
+					{
+						if (!data.isExistUpwardRoom)
+						{
+							return false;
+						}
+						if (data.isOnlyNTR)
+						{
+							return false;
+						}
+						MaidMiniManagementCtrl maidMiniManagementCtrl = this.parent_mgr.children_dic["MaidInfo"] as MaidMiniManagementCtrl;
+						foreach (PlayData.Data data2 in data.GetPlayDatas())
+						{
+							if (data2.IsCorrectPersonal(maidMiniManagementCtrl.selectMaid))
+							{
+								return true;
+							}
+						}
+						return false;
+					});
 				}
 				else
 				{
@@ -319,6 +362,10 @@ namespace Kasizuki
 					});
 				}
 				comp.OpenRoomList(datas, selectingRoomData);
+				if (selectingRoomData != null)
+				{
+					comp.onClickRoom(selectingRoomData);
+				}
 				actResetDescriptionWindow();
 				actSetOKButtonEnable(selectingRoomData, selectingManData, selectingPlayData);
 			}));
@@ -328,14 +375,35 @@ namespace Kasizuki
 				selectingRoomData = roomData;
 				comp.OpenManList(ManData.GetAllDatas(true, true), selectingManData, delegate(UIWFTabButton item, ManData.Data data)
 				{
-					bool flag = selectingRoomData.enableManTypeDic[data.manType];
+					bool flag = false;
+					MaidMiniManagementCtrl maidMiniManagementCtrl = this.parent_mgr.children_dic["MaidInfo"] as MaidMiniManagementCtrl;
+					foreach (PlayData.Data data2 in selectingRoomData.GetPlayDatas())
+					{
+						if (data2.enableManTypeDic[data.manType] && data2.IsCorrectPersonal(maidMiniManagementCtrl.selectMaid))
+						{
+							flag = true;
+							break;
+						}
+					}
 					if (!flag && item.isSelected)
 					{
 						item.SetSelect(false);
 					}
 					item.gameObject.SetActive(flag);
 				});
-				List<PlayData.Data> datas = PlayData.GetDatas((PlayData.Data data) => data.roomID == selectingRoomData.ID && data.enableManTypeDic[selectingManData.manType]);
+				List<PlayData.Data> datas = PlayData.GetDatas(delegate(PlayData.Data data)
+				{
+					if (data.roomID != selectingRoomData.ID)
+					{
+						return false;
+					}
+					if (!data.enableManTypeDic[selectingManData.manType])
+					{
+						return false;
+					}
+					MaidMiniManagementCtrl maidMiniManagementCtrl = this.parent_mgr.children_dic["MaidInfo"] as MaidMiniManagementCtrl;
+					return data.IsCorrectPersonal(maidMiniManagementCtrl.selectMaid);
+				});
 				comp.OpenPlayList(datas, null);
 				actResetDescriptionWindow();
 				selectingPlayData = null;
@@ -560,7 +628,7 @@ namespace Kasizuki
 			MaidMiniManagementCtrl maidMiniManagementCtrl = base.parent_mgr.children_dic["MaidInfo"] as MaidMiniManagementCtrl;
 			KasizukiCharacterSelectCtrl charaSelect = maidMiniManagementCtrl.charaSelectMgr;
 			maidMiniManagementCtrl.selectMaid = null;
-			charaSelect.callbackGetMaidList = delegate
+			charaSelect.callbackGetMaidList = delegate()
 			{
 				ManDataType nowManType = (ManDataType)GameMain.Instance.KasizukiMgr.GetNowManType();
 				List<PlayData.Data> playDatas = KasizukiMainMenu.m_NowSelectingRoom.GetPlayDatas();
@@ -596,7 +664,7 @@ namespace Kasizuki
 			window.Call();
 			if (openType == "ヒロイン情報")
 			{
-				window.onClickOK = delegate
+				window.onClickOK = delegate()
 				{
 					this.OpenSwitchingWindow("メインメニュー", false);
 				};
@@ -615,11 +683,11 @@ namespace Kasizuki
 			}
 			else if (openType == "ヒロイン選択")
 			{
-				window.onClickOK = delegate
+				window.onClickOK = delegate()
 				{
 					this.StartSenario(window.selectMaid, KasizukiMainMenu.m_NowSelectingRoom);
 				};
-				window.onClickCancel = delegate
+				window.onClickCancel = delegate()
 				{
 					this.OpenSwitchingWindow("部屋選択", false);
 					this.OnSelectRoom(null);
@@ -640,17 +708,17 @@ namespace Kasizuki
 			}
 			else if (openType == "フリーモード")
 			{
-				window.onClickOK = delegate
+				window.onClickOK = delegate()
 				{
 					this.OpenSwitchingWindow("施設情報", false);
 					UIButton cache = this.m_SwitchingWindowDic["施設情報"].GetCache<UIButton>("Cancel");
-					EventDelegate.Set(cache.onClick, delegate
+					EventDelegate.Set(cache.onClick, delegate()
 					{
 						this.OpenSwitchingWindow("メイド情報", false);
 						this.SetMaidInfoWindowParameter("フリーモード");
 					});
 				};
-				window.onClickCancel = delegate
+				window.onClickCancel = delegate()
 				{
 					this.OpenSwitchingWindow("メインメニュー", false);
 				};
@@ -704,6 +772,10 @@ namespace Kasizuki
 
 		private void StartFree(Maid targetMaid, RoomData.Data targetRoom, ManData.Data targetMan, PlayData.Data targetPlay)
 		{
+			if (!this.CheckCorrectPlayData(targetMaid, targetMan, targetPlay))
+			{
+				return;
+			}
 			Debug.LogFormat("傅きモードの回想を開始します\r\n選択状態↓\r\nメイド:{0}\r\n選択した部屋:{1}\r\n選択した男:{2}\r\n選択したプレイ情報:{3}\r\n", new object[]
 			{
 				targetMaid.status.fullNameJpStyle,
@@ -734,6 +806,19 @@ namespace Kasizuki
 			this.Finish();
 		}
 
+		private bool CheckCorrectPlayData(Maid targetMaid, ManData.Data targetMan, PlayData.Data targetPlay)
+		{
+			NDebug.AssertNull(targetMaid != null);
+			NDebug.AssertNull(targetMan != null);
+			NDebug.AssertNull(targetPlay != null);
+			if (!targetPlay.IsCorrectPersonal(targetMaid))
+			{
+				GameMain.Instance.SysDlg.Show("メイドの性格が対応していません。", SystemDialog.TYPE.OK, null, null);
+				return false;
+			}
+			return true;
+		}
+
 		protected override void OnFinish()
 		{
 			this.CloseSwitchingWindowAll(true);
@@ -778,6 +863,8 @@ namespace Kasizuki
 
 		private const string STR_MESSAGE_END = "保存されていない情報は失われます。\nタイトルに戻りますか?";
 
+		private const string STR_MESSAGE_INCORRECT_PERSONAL = "メイドの性格が対応していません。";
+
 		private static RoomData.Data m_NowSelectingRoom;
 
 		private Dictionary<string, NGUIWindow> m_SwitchingWindowDic;

+ 8 - 6
Assembly-CSharp/Kasizuki/KasizukiManSelectCtrl.cs

@@ -23,18 +23,20 @@ namespace Kasizuki
 
 		private void SetUpManList()
 		{
+			KasizukiManSelectCtrl.<SetUpManList>c__AnonStorey0 <SetUpManList>c__AnonStorey = new KasizukiManSelectCtrl.<SetUpManList>c__AnonStorey0();
+			<SetUpManList>c__AnonStorey.$this = this;
 			this.m_ManListCache = new ObjectCacheDic();
-			List<ManData.Data> dataArray = ManData.GetAllDatas(true, true);
+			<SetUpManList>c__AnonStorey.dataArray = ManData.GetAllDatas(true, true);
 			uGUIListViewer component = this.m_WindowManList.GetComponent<uGUIListViewer>();
-			component.Show<UIButton>(dataArray.Count, delegate(int index, UIButton button)
+			component.Show<UIButton>(<SetUpManList>c__AnonStorey.dataArray.Count, delegate(int index, UIButton button)
 			{
 				UILabel componentInChildren2 = button.GetComponentInChildren<UILabel>();
-				componentInChildren2.text = dataArray[index].drawName;
-				EventDelegate.Add(button.onClick, delegate
+				componentInChildren2.text = <SetUpManList>c__AnonStorey.dataArray[index].drawName;
+				EventDelegate.Add(button.onClick, delegate()
 				{
-					this.OnClickManListButton(dataArray[index].ID);
+					<SetUpManList>c__AnonStorey.OnClickManListButton(<SetUpManList>c__AnonStorey.dataArray[index].ID);
 				});
-				this.m_ManListCache.AddCache<UIButton>(dataArray[index].ID.ToString(), button);
+				<SetUpManList>c__AnonStorey.$this.m_ManListCache.AddCache<UIButton>(<SetUpManList>c__AnonStorey.dataArray[index].ID.ToString(), button);
 			});
 			UIGrid component2 = component.parentItemArea.GetComponent<UIGrid>();
 			if (component2)

+ 19 - 3
Assembly-CSharp/Kasizuki/KasizukiManager.cs

@@ -618,7 +618,23 @@ namespace Kasizuki
 			{
 				return this.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F本編, false);
 			}
-			if (dataType != ManDataType.傅き男1)
+			if (dataType == ManDataType.傅き男1)
+			{
+				return this.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男1, false);
+			}
+			if (dataType == ManDataType.傅き男2)
+			{
+				return this.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男2, false);
+			}
+			if (dataType == ManDataType.傅き男3)
+			{
+				return this.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男3, false);
+			}
+			if (dataType == ManDataType.傅き男4)
+			{
+				return this.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男4, false);
+			}
+			if (dataType != ManDataType.傅き男5)
 			{
 				NDebug.Assert("[KasizukiManager.GetMaidLikability] 男種類に不正な値が入りました", false);
 				Debug.LogErrorFormat("[KasizukiManager.GetMaidLikability] 男種類に不正な値が入りました\n男種類.{0}", new object[]
@@ -627,7 +643,7 @@ namespace Kasizuki
 				});
 				return -1;
 			}
-			return this.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男, false);
+			return this.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男, false);
 		}
 
 		public bool TryGetMaidData<T>(Maid maid, string valueName, out T value)
@@ -788,7 +804,7 @@ namespace Kasizuki
 		public void Serialize(BinaryWriter bw)
 		{
 			bw.Write("COM3D2_KASIZUKI");
-			bw.Write(1160);
+			bw.Write(1170);
 			this.SerializeOriginHeader(bw);
 			foreach (KeyValuePair<int, KasizukiManager.SaveData> keyValuePair in this.m_SaveDataArray)
 			{

+ 29 - 19
Assembly-CSharp/Kasizuki/KasizukiPlayInfoCtrl.cs

@@ -88,16 +88,19 @@ namespace Kasizuki
 
 		public void OpenRoomList(List<RoomData.Data> roomDataList, RoomData.Data selectingData = null)
 		{
+			KasizukiPlayInfoCtrl.<OpenRoomList>c__AnonStorey1 <OpenRoomList>c__AnonStorey = new KasizukiPlayInfoCtrl.<OpenRoomList>c__AnonStorey1();
+			<OpenRoomList>c__AnonStorey.selectingData = selectingData;
+			<OpenRoomList>c__AnonStorey.$this = this;
 			ListViewerWindow component = this.m_WindowRoomList.GetComponent<ListViewerWindow>();
 			component.Show<RoomData.Data, UIWFTabButton>(roomDataList, delegate(int index, RoomData.Data data, UIWFTabButton item)
 			{
 				UILabel componentInChildren = item.GetComponentInChildren<UILabel>();
 				componentInChildren.text = data.drawName;
-				EventDelegate.Add(item.onClick, delegate
+				EventDelegate.Add(item.onClick, delegate()
 				{
-					this.OnClickRoom(data);
+					<OpenRoomList>c__AnonStorey.OnClickRoom(data);
 				});
-				if (selectingData != null && selectingData == data)
+				if (<OpenRoomList>c__AnonStorey.selectingData != null && <OpenRoomList>c__AnonStorey.selectingData == data)
 				{
 					item.SetSelect(true);
 				}
@@ -119,22 +122,26 @@ namespace Kasizuki
 
 		public void OpenManList(List<ManData.Data> manDataList, ManData.Data selectingData = null, Action<UIWFTabButton, ManData.Data> onCreate = null)
 		{
+			KasizukiPlayInfoCtrl.<OpenManList>c__AnonStorey3 <OpenManList>c__AnonStorey = new KasizukiPlayInfoCtrl.<OpenManList>c__AnonStorey3();
+			<OpenManList>c__AnonStorey.selectingData = selectingData;
+			<OpenManList>c__AnonStorey.onCreate = onCreate;
+			<OpenManList>c__AnonStorey.$this = this;
 			ListViewerWindow component = this.m_WindowManList.GetComponent<ListViewerWindow>();
 			component.Show<ManData.Data, UIWFTabButton>(manDataList, delegate(int index, ManData.Data data, UIWFTabButton item)
 			{
 				UILabel componentInChildren = item.GetComponentInChildren<UILabel>();
 				componentInChildren.text = data.drawName;
-				EventDelegate.Add(item.onClick, delegate
+				EventDelegate.Add(item.onClick, delegate()
 				{
-					this.OnClickMan(data);
+					<OpenManList>c__AnonStorey.OnClickMan(data);
 				});
-				if (selectingData != null && selectingData == data)
+				if (<OpenManList>c__AnonStorey.selectingData != null && <OpenManList>c__AnonStorey.selectingData == data)
 				{
 					item.SetSelect(true);
 				}
-				if (onCreate != null)
+				if (<OpenManList>c__AnonStorey.onCreate != null)
 				{
-					onCreate(item, data);
+					<OpenManList>c__AnonStorey.onCreate(item, data);
 				}
 			});
 			UIWFTabPanel component2 = component.viewer.parentItemArea.GetComponent<UIWFTabPanel>();
@@ -154,32 +161,35 @@ namespace Kasizuki
 
 		public void OpenPlayList(List<PlayData.Data> playDataList, PlayData.Data selectingData = null)
 		{
+			KasizukiPlayInfoCtrl.<OpenPlayList>c__AnonStorey5 <OpenPlayList>c__AnonStorey = new KasizukiPlayInfoCtrl.<OpenPlayList>c__AnonStorey5();
+			<OpenPlayList>c__AnonStorey.selectingData = selectingData;
+			<OpenPlayList>c__AnonStorey.$this = this;
 			ListViewerWindow component = this.m_WindowPlayList.GetComponent<ListViewerWindow>();
 			component.Show<PlayData.Data, UIWFTabButton>(playDataList, delegate(int index, PlayData.Data data, UIWFTabButton item)
 			{
 				UILabel componentInChildren = item.GetComponentInChildren<UILabel>();
 				componentInChildren.text = data.drawName;
-				EventDelegate.Add(item.onClick, delegate
+				EventDelegate.Add(item.onClick, delegate()
 				{
-					this.OnClickPlay(data);
+					<OpenPlayList>c__AnonStorey.OnClickPlay(data);
 				});
-				EventDelegate.Add(item.GetComponent<UIEventTrigger>().onHoverOver, delegate
+				EventDelegate.Add(item.GetComponent<UIEventTrigger>().onHoverOver, delegate()
 				{
-					this.OnHoverPlay(data);
+					<OpenPlayList>c__AnonStorey.OnHoverPlay(data);
 				});
-				EventDelegate.Add(item.GetComponent<UIEventTrigger>().onHoverOut, delegate
+				EventDelegate.Add(item.GetComponent<UIEventTrigger>().onHoverOut, delegate()
 				{
-					this.OnOutPlay(data);
+					<OpenPlayList>c__AnonStorey.OnOutPlay(data);
 				});
-				EventDelegate.Add(item.transform.Find("hover event").GetComponent<UIEventTrigger>().onHoverOver, delegate
+				EventDelegate.Add(item.transform.Find("hover event").GetComponent<UIEventTrigger>().onHoverOver, delegate()
 				{
-					this.OnHoverPlay(data);
+					<OpenPlayList>c__AnonStorey.OnHoverPlay(data);
 				});
-				EventDelegate.Add(item.transform.Find("hover event").GetComponent<UIEventTrigger>().onHoverOut, delegate
+				EventDelegate.Add(item.transform.Find("hover event").GetComponent<UIEventTrigger>().onHoverOut, delegate()
 				{
-					this.OnOutPlay(data);
+					<OpenPlayList>c__AnonStorey.OnOutPlay(data);
 				});
-				if (selectingData != null && selectingData == data)
+				if (<OpenPlayList>c__AnonStorey.selectingData != null && <OpenPlayList>c__AnonStorey.selectingData == data)
 				{
 					item.SetSelect(true);
 				}

+ 6 - 6
Assembly-CSharp/Kasizuki/KasizukiSaveAndLoadCtrl.cs

@@ -26,7 +26,7 @@ namespace Kasizuki
 			this.m_CacheSaveObjects.CacheChildObject<Component>(base.gameObject, "TitleGroup/TitleSave", "SavePanel");
 			UIButton childObject = this.m_CacheSaveObjects.GetChildObject<UIButton>(base.gameObject, "DisplayButtonGroup/DisplayLoad");
 			this.m_CacheSaveObjects.AddCache<UIButton>("LoadButton", childObject);
-			EventDelegate.Add(childObject.onClick, delegate
+			EventDelegate.Add(childObject.onClick, delegate()
 			{
 				this.Open(SaveAndLoadMgr.ViewType.Load, true);
 			});
@@ -38,7 +38,7 @@ namespace Kasizuki
 			this.m_CacheLoadObjects.CacheChildObject<Component>(base.gameObject, "TitleGroup/TitleLoad", "LoadPanel");
 			UIButton childObject = this.m_CacheLoadObjects.GetChildObject<UIButton>(base.gameObject, "DisplayButtonGroup/DisplaySave");
 			this.m_CacheLoadObjects.AddCache<UIButton>("SaveButton", childObject);
-			EventDelegate.Add(childObject.onClick, delegate
+			EventDelegate.Add(childObject.onClick, delegate()
 			{
 				this.Open(SaveAndLoadMgr.ViewType.Save, true);
 			});
@@ -65,7 +65,7 @@ namespace Kasizuki
 				buttonPage.btnPageNo = button;
 				buttonPage.selectCursor = button.transform.Find("SelectCursor").gameObject;
 				this.m_PageButtonDic.Add(buttonPage.pageNo, buttonPage);
-				EventDelegate.Add(button.onClick, delegate
+				EventDelegate.Add(button.onClick, delegate()
 				{
 					this.OnClickPageButton(buttonPage.pageNo);
 				});
@@ -81,20 +81,20 @@ namespace Kasizuki
 				UIButton component = dataUnit.GetComponent<UIButton>();
 				if (index == 0)
 				{
-					EventDelegate.Add(component.onClick, delegate
+					EventDelegate.Add(component.onClick, delegate()
 					{
 						this.OnClickNewGameUnit(dataUnit);
 					});
 				}
 				else
 				{
-					EventDelegate.Add(component.onClick, delegate
+					EventDelegate.Add(component.onClick, delegate()
 					{
 						this.OnClickDataUnit(dataUnit);
 					});
 				}
 				UIInput inputComment = dataUnit.inputComment;
-				EventDelegate.Add(inputComment.onChange, delegate
+				EventDelegate.Add(inputComment.onChange, delegate()
 				{
 					this.OnChangeDataUnitComment(dataUnit);
 				});

+ 2 - 2
Assembly-CSharp/Kasizuki/MaidAppealComment.cs

@@ -13,7 +13,7 @@ namespace Kasizuki
 		{
 			if (this.m_ButtonRight != null)
 			{
-				EventDelegate.Add(this.m_ButtonRight.onClick, delegate
+				EventDelegate.Add(this.m_ButtonRight.onClick, delegate()
 				{
 					if (this.onClickRight != null)
 					{
@@ -23,7 +23,7 @@ namespace Kasizuki
 			}
 			if (this.m_ButtonLeft != null)
 			{
-				EventDelegate.Add(this.m_ButtonLeft.onClick, delegate
+				EventDelegate.Add(this.m_ButtonLeft.onClick, delegate()
 				{
 					if (this.onClickLeft != null)
 					{

+ 4 - 0
Assembly-CSharp/Kasizuki/MaidDataType.cs

@@ -7,6 +7,10 @@ namespace Kasizuki
 		[Obsolete("主人公に対する好感度を取得するとき、「好感度_本編」を使用してください", false)]
 		好感度\uFF3F主人公,
 		好感度\uFF3F傅き男1,
+		好感度\uFF3F傅き男2,
+		好感度\uFF3F傅き男3,
+		好感度\uFF3F傅き男4,
+		好感度\uFF3F傅き男5,
 		好感度\uFF3F本編,
 		仕事回数,
 		フリ\u30FCコメント,

+ 29 - 1
Assembly-CSharp/Kasizuki/MaidLikabilityCtrl.cs

@@ -53,7 +53,35 @@ namespace Kasizuki
 				ManDataType manType = data.manType;
 				if (manType != ManDataType.主人公)
 				{
-					if (manType == ManDataType.傅き男1)
+					if (manType != ManDataType.傅き男1)
+					{
+						if (manType != ManDataType.傅き男2)
+						{
+							if (manType != ManDataType.傅き男3)
+							{
+								if (manType != ManDataType.傅き男4)
+								{
+									if (manType == ManDataType.傅き男5)
+									{
+										num = kasizukiMgr.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男5, false);
+									}
+								}
+								else
+								{
+									num = kasizukiMgr.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男4, false);
+								}
+							}
+							else
+							{
+								num = kasizukiMgr.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男3, false);
+							}
+						}
+						else
+						{
+							num = kasizukiMgr.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男2, false);
+						}
+					}
+					else
 					{
 						num = kasizukiMgr.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男1, false);
 					}

+ 2 - 2
Assembly-CSharp/Kasizuki/MaidMiniStatusCtrl.cs

@@ -24,12 +24,12 @@ namespace Kasizuki
 			base.CacheChildObject<UILabel>("WorkCount/Value", "WorkCount");
 			MaidAppealComment maidAppealComment = base.CacheChildObject<MaidAppealComment>("AppealComment", "Appeal");
 			MaidAppealComment maidAppealComment2 = maidAppealComment;
-			maidAppealComment2.onClickRight = (Action)Delegate.Combine(maidAppealComment2.onClickRight, new Action(delegate
+			maidAppealComment2.onClickRight = (Action)Delegate.Combine(maidAppealComment2.onClickRight, new Action(delegate()
 			{
 				this.ChangeMaidAppeal(1);
 			}));
 			MaidAppealComment maidAppealComment3 = maidAppealComment;
-			maidAppealComment3.onClickLeft = (Action)Delegate.Combine(maidAppealComment3.onClickLeft, new Action(delegate
+			maidAppealComment3.onClickLeft = (Action)Delegate.Combine(maidAppealComment3.onClickLeft, new Action(delegate()
 			{
 				this.ChangeMaidAppeal(-1);
 			}));

+ 15 - 0
Assembly-CSharp/Kasizuki/ManData.cs

@@ -84,6 +84,21 @@ namespace Kasizuki
 			return list;
 		}
 
+		public static List<ManData.Data> GetDatas(Func<ManData.Data, bool> customCheckFunction)
+		{
+			ManData.CreateData();
+			List<ManData.Data> list = new List<ManData.Data>();
+			foreach (KeyValuePair<int, KeyValuePair<string, string>> keyValuePair in ManData.commonIdManager.idMap)
+			{
+				ManData.Data data = ManData.basicDatas[keyValuePair.Key];
+				if (customCheckFunction(data))
+				{
+					list.Add(data);
+				}
+			}
+			return list;
+		}
+
 		public static void CreateData()
 		{
 			if (ManData.commonIdManager != null)

+ 5 - 1
Assembly-CSharp/Kasizuki/ManDataType.cs

@@ -5,6 +5,10 @@ namespace Kasizuki
 	public enum ManDataType
 	{
 		主人公 = 10,
-		傅き男1 = 20
+		傅き男1 = 20,
+		傅き男2 = 30,
+		傅き男3 = 40,
+		傅き男4 = 50,
+		傅き男5 = 60
 	}
 }

+ 3 - 3
Assembly-CSharp/Kasizuki/NGUIWindow.cs

@@ -24,7 +24,7 @@ namespace Kasizuki
 				this.OnOpen();
 			}
 			this.SetRaycastBlockerActive(true);
-			this.tweenAlpha.SetOnFinished(delegate
+			this.tweenAlpha.SetOnFinished(delegate()
 			{
 				if (callback != null)
 				{
@@ -41,7 +41,7 @@ namespace Kasizuki
 			{
 				return;
 			}
-			callback = (Action)Delegate.Combine(callback, new Action(delegate
+			callback = (Action)Delegate.Combine(callback, new Action(delegate()
 			{
 				this.gameObject.SetActive(false);
 				if (this.OnClose != null)
@@ -50,7 +50,7 @@ namespace Kasizuki
 				}
 			}));
 			this.SetRaycastBlockerActive(true);
-			this.tweenAlpha.SetOnFinished(delegate
+			this.tweenAlpha.SetOnFinished(delegate()
 			{
 				if (callback != null)
 				{

+ 38 - 6
Assembly-CSharp/Kasizuki/PlayData.cs

@@ -246,7 +246,7 @@ namespace Kasizuki
 						this.drawName = csv.GetCellAsString(cell_x++, i);
 						this.strDescription = csv.GetCellAsString(cell_x++, i);
 						List<string> list = new List<string>();
-						for (int j = 0; j < 5; j++)
+						for (int j = 0; j < 6; j++)
 						{
 							string cellAsString2 = csv.GetCellAsString(cell_x++, i);
 							if (!string.IsNullOrEmpty(cellAsString2))
@@ -305,12 +305,26 @@ namespace Kasizuki
 							','
 						}));
 						this.roomID = RoomData.GetData(cellAsString).ID;
+						string cellAsString8 = csv.GetCellAsString(cell_x++, i);
+						string[] array3 = null;
+						if (!string.IsNullOrEmpty(cellAsString8))
+						{
+							array3 = cellAsString8.Split(new char[]
+							{
+								','
+							});
+							for (int m = 0; m < array3.Length; m++)
+							{
+								array3[m] = array3[m].Trim();
+							}
+						}
+						this.strEnablePersonalArray = array3;
 						Dictionary<ManDataType, bool> dictionary = new Dictionary<ManDataType, bool>();
 						int num = Enum.GetNames(typeof(ManDataType)).Length;
-						for (int m = 0; m < num; m++)
+						for (int n = 0; n < num; n++)
 						{
-							string cellAsString8 = csv.GetCellAsString(cell_x, 0);
-							ManDataType manType = ManData.GetData(cellAsString8).manType;
+							string cellAsString9 = csv.GetCellAsString(cell_x, 0);
+							ManDataType manType = ManData.GetData(cellAsString9).manType;
 							dictionary.Add(manType, csv.GetCellAsString(cell_x++, i) == "○");
 						}
 						this.enableManTypeDic = new ReadOnlyDictionary<ManDataType, bool>(dictionary);
@@ -342,7 +356,7 @@ namespace Kasizuki
 
 			public bool IsCorrectMaid(Maid maid, ManDataType manType)
 			{
-				return this.IsCorrectLikability(maid, manType) && this.IsCorrectWorkCount(maid) && this.IsCorrectParameter(maid) && this.IsCorrectSkill(maid) && this.IsCorrectSeikeiken(maid) && this.IsCorrectRelation(maid);
+				return this.IsCorrectLikability(maid, manType) && this.IsCorrectWorkCount(maid) && this.IsCorrectParameter(maid) && this.IsCorrectSkill(maid) && this.IsCorrectSeikeiken(maid) && this.IsCorrectRelation(maid) && this.IsCorrectPersonal(maid);
 			}
 
 			public bool IsCorrectParameter(Maid maid)
@@ -428,6 +442,22 @@ namespace Kasizuki
 				return this.relationEnableDic.ContainsKey(relation);
 			}
 
+			public bool IsCorrectPersonal(Maid maid)
+			{
+				if (this.strEnablePersonalArray == null || this.strEnablePersonalArray.Length <= 0)
+				{
+					return true;
+				}
+				for (int i = 0; i < this.strEnablePersonalArray.Length; i++)
+				{
+					if (maid.status.personal.uniqueName == this.strEnablePersonalArray[i])
+					{
+						return true;
+					}
+				}
+				return false;
+			}
+
 			public List<Maid> GetFilteringPlayDataMaidArray(ManDataType manType)
 			{
 				CharacterMgr characterMgr = GameMain.Instance.CharacterMgr;
@@ -476,7 +506,7 @@ namespace Kasizuki
 				}
 			}
 
-			private const int CONDITION_COUNT = 5;
+			private const int CONDITION_COUNT = 6;
 
 			public readonly int ID;
 
@@ -502,6 +532,8 @@ namespace Kasizuki
 
 			public readonly Dictionary<Relation, bool> relationEnableDic;
 
+			public readonly string[] strEnablePersonalArray;
+
 			public readonly ReadOnlyDictionary<ManDataType, bool> enableManTypeDic;
 		}
 	}

+ 0 - 111
Assembly-CSharp/KeyboardShortcutManager.cs

@@ -1,117 +1,6 @@
 using System;
-using System.Collections;
-using System.Collections.Generic;
 using UnityEngine;
 
 public class KeyboardShortcutManager : MonoBehaviour
 {
-	public void AddKeyData(GameObject target, KeyCode keyCode, Action onKeyDown, Action onKeyStay, Action onKeyUp)
-	{
-		this.m_CommandDataList.Add(new KeyboardShortcutManager.CommandData(target, keyCode, onKeyDown, onKeyStay, onKeyUp));
-	}
-
-	private void Update()
-	{
-		this.m_NowInputKey = KeyCode.None;
-		if (Input.anyKey)
-		{
-			IEnumerator enumerator = Enum.GetValues(typeof(KeyCode)).GetEnumerator();
-			try
-			{
-				while (enumerator.MoveNext())
-				{
-					object obj = enumerator.Current;
-					KeyCode keyCode = (KeyCode)obj;
-					if (Input.GetKey(keyCode))
-					{
-						this.m_NowInputKey = keyCode;
-						break;
-					}
-				}
-			}
-			finally
-			{
-				IDisposable disposable;
-				if ((disposable = (enumerator as IDisposable)) != null)
-				{
-					disposable.Dispose();
-				}
-			}
-		}
-		this.UpdateKey();
-	}
-
-	private void UpdateKey()
-	{
-		if (this.m_CommandDataList == null)
-		{
-			return;
-		}
-		foreach (KeyboardShortcutManager.CommandData commandData in this.m_CommandDataList)
-		{
-			if (!(commandData.targetObject == null))
-			{
-				bool flag = this.m_BeforeInputKey == commandData.keyCode;
-				bool flag2 = this.m_NowInputKey == commandData.keyCode;
-				if (!flag && flag2)
-				{
-					commandData.onKeyDown();
-				}
-				else if (flag && flag2)
-				{
-					commandData.onKeyStay();
-				}
-				else if (flag && !flag2)
-				{
-					commandData.onKeyUp();
-				}
-			}
-		}
-		this.m_BeforeInputKey = this.m_NowInputKey;
-	}
-
-	private void OnApplicationQuit()
-	{
-		this.m_IsApplicationQuit = true;
-	}
-
-	private void OnDestroy()
-	{
-		if (this.m_IsApplicationQuit)
-		{
-			return;
-		}
-		this.m_CommandDataList.Clear();
-		this.m_CommandDataList = null;
-	}
-
-	private HashSet<KeyboardShortcutManager.CommandData> m_CommandDataList = new HashSet<KeyboardShortcutManager.CommandData>();
-
-	private KeyCode m_BeforeInputKey;
-
-	private KeyCode m_NowInputKey;
-
-	private bool m_IsApplicationQuit;
-
-	public class CommandData
-	{
-		public CommandData(GameObject targetObject, KeyCode keyCode, Action onKeyDown, Action onKeyStay, Action onKeyUp)
-		{
-			this.targetObject = targetObject;
-			this.keyCode = keyCode;
-			this.onKeyDown = onKeyDown;
-			this.onKeyStay = onKeyStay;
-			this.onKeyUp = onKeyUp;
-		}
-
-		public GameObject targetObject { get; private set; }
-
-		public KeyCode keyCode { get; set; }
-
-		public Action onKeyDown { get; set; }
-
-		public Action onKeyStay { get; set; }
-
-		public Action onKeyUp { get; set; }
-	}
 }

+ 3 - 0
Assembly-CSharp/Leap/Unity/IHandModel.cs

@@ -1,4 +1,5 @@
 using System;
+using System.Diagnostics;
 using UnityEngine;
 
 namespace Leap.Unity
@@ -6,8 +7,10 @@ namespace Leap.Unity
 	[ExecuteInEditMode]
 	public abstract class IHandModel : MonoBehaviour
 	{
+		[DebuggerBrowsable(DebuggerBrowsableState.Never)]
 		public event Action OnBegin;
 
+		[DebuggerBrowsable(DebuggerBrowsableState.Never)]
 		public event Action OnFinish;
 
 		public bool IsTracked

+ 3 - 3
Assembly-CSharp/Leap/Unity/LeapImageRetriever.cs

@@ -127,8 +127,8 @@ namespace Leap.Unity
 			yield return new WaitForSeconds(2f);
 			this._provider.GetLeapController().Config.Get<int>("images_mode", delegate(int enabled)
 			{
-				this.$this.imagesEnabled = (enabled != 0);
-				this.$this.checkingImageState = false;
+				this.imagesEnabled = (enabled != 0);
+				this.checkingImageState = false;
 			});
 			yield break;
 		}
@@ -136,7 +136,7 @@ namespace Leap.Unity
 		private void onController(Controller controller)
 		{
 			controller.DistortionChange += new EventHandler<DistortionEventArgs>(this.onDistortionChange);
-			controller.Connect += delegate
+			controller.Connect += delegate(object A_1, ConnectionEventArgs A_2)
 			{
 				this._provider.GetLeapController().Config.Get<int>("images_mode", delegate(int enabled)
 				{

+ 3 - 0
Assembly-CSharp/Leap/Unity/LeapProvider.cs

@@ -1,12 +1,15 @@
 using System;
+using System.Diagnostics;
 using UnityEngine;
 
 namespace Leap.Unity
 {
 	public abstract class LeapProvider : MonoBehaviour
 	{
+		[DebuggerBrowsable(DebuggerBrowsableState.Never)]
 		public event Action<Frame> OnUpdateFrame;
 
+		[DebuggerBrowsable(DebuggerBrowsableState.Never)]
 		public event Action<Frame> OnFixedFrame;
 
 		public abstract Frame CurrentFrame { get; }

+ 4 - 0
Assembly-CSharp/Leap/Unity/LeapVRCameraControl.cs

@@ -1,4 +1,5 @@
 using System;
+using System.Diagnostics;
 using UnityEngine;
 using UnityEngine.Rendering;
 
@@ -8,10 +9,13 @@ namespace Leap.Unity
 	[ExecuteInEditMode]
 	public class LeapVRCameraControl : MonoBehaviour
 	{
+		[DebuggerBrowsable(DebuggerBrowsableState.Never)]
 		public static event Action<LeapVRCameraControl.CameraParams> OnValidCameraParams;
 
+		[DebuggerBrowsable(DebuggerBrowsableState.Never)]
 		public static event Action<Camera> OnLeftPreRender;
 
+		[DebuggerBrowsable(DebuggerBrowsableState.Never)]
 		public static event Action<Camera> OnRightPreRender;
 
 		public bool OverrideEyePosition

+ 4 - 2
Assembly-CSharp/Leap/Unity/RuntimeGizmos/RuntimeGizmoManager.cs

@@ -1,5 +1,6 @@
 using System;
 using System.Collections.Generic;
+using System.Diagnostics;
 using UnityEngine;
 using UnityEngine.SceneManagement;
 
@@ -8,6 +9,7 @@ namespace Leap.Unity.RuntimeGizmos
 	[ExecuteInEditMode]
 	public class RuntimeGizmoManager : MonoBehaviour
 	{
+		[DebuggerBrowsable(DebuggerBrowsableState.Never)]
 		public static event Action<RuntimeGizmoDrawer> OnPostRenderGizmos;
 
 		public static bool TryGetGizmoDrawer(out RuntimeGizmoDrawer drawer)
@@ -43,7 +45,7 @@ namespace Leap.Unity.RuntimeGizmos
 				hideFlags = HideFlags.HideAndDontSave
 			}.passCount != 4)
 			{
-				Debug.LogError("Shader " + this._gizmoShader + " does not have 4 passes and cannot be used as a gizmo shader.");
+				UnityEngine.Debug.LogError("Shader " + this._gizmoShader + " does not have 4 passes and cannot be used as a gizmo shader.");
 				this._gizmoShader = Shader.Find("Hidden/Runtime Gizmos");
 			}
 			if (this._sphereMesh == null)
@@ -109,7 +111,7 @@ namespace Leap.Unity.RuntimeGizmos
 						}
 						catch (Exception exception)
 						{
-							Debug.LogException(exception);
+							UnityEngine.Debug.LogException(exception);
 						}
 					}
 				}

+ 1 - 1
Assembly-CSharp/LightWindow.cs

@@ -380,7 +380,7 @@ public class LightWindow : BaseMaidPhotoWindow
 		gameObject.name = target.guid.ToString();
 		gameObject.GetComponentInChildren<UILabel>().text = target.draw_name;
 		UIWFTabButton componentInChildren = gameObject.GetComponentInChildren<UIWFTabButton>();
-		EventDelegate.Add(componentInChildren.onSelect, delegate
+		EventDelegate.Add(componentInChildren.onSelect, delegate()
 		{
 			if (!UIWFSelectButton.current.isSelected)
 			{

+ 4 - 4
Assembly-CSharp/LimbControl.cs

@@ -213,7 +213,7 @@ public class LimbControl : MonoBehaviour
 					this.joint_drag_point_.axis_obj.transform.localScale = new Vector3(0.03f, 0.03f, 0.03f);
 				}
 			}
-			this.joint_drag_point_.drag_start_event = delegate
+			this.joint_drag_point_.drag_start_event = delegate()
 			{
 				this.ik_fabrik_.solver.SetChain(new Transform[0], root_trans);
 				this.ik_fabrik_.solver.SetChain(new Transform[]
@@ -223,7 +223,7 @@ public class LimbControl : MonoBehaviour
 				}, root_trans);
 				this.ik_fabrik_.solver.target = this.joint_drag_point_.transform;
 			};
-			this.joint_drag_point_.drag_end_event = delegate
+			this.joint_drag_point_.drag_end_event = delegate()
 			{
 				this.ik_fabrik_.solver.SetChain(new Transform[0], root_trans);
 				this.ik_mgr_.HistoryPush();
@@ -241,7 +241,7 @@ public class LimbControl : MonoBehaviour
 				this.tip_drag_point_.axis_obj.transform.localScale = new Vector3(0.03f, 0.03f, 0.03f);
 			}
 		}
-		this.tip_drag_point_.drag_start_event = delegate
+		this.tip_drag_point_.drag_start_event = delegate()
 		{
 			if (this.bone_joint_point_ != null)
 			{
@@ -275,7 +275,7 @@ public class LimbControl : MonoBehaviour
 			}
 			this.ik_fabrik_.solver.target = this.tip_drag_point_.transform;
 		};
-		this.tip_drag_point_.drag_end_event = delegate
+		this.tip_drag_point_.drag_end_event = delegate()
 		{
 			this.ik_fabrik_.solver.SetChain(new Transform[0], root_trans);
 			this.ik_mgr_.HistoryPush();

+ 79 - 115
Assembly-CSharp/Maid.cs

@@ -5,6 +5,7 @@ using System.IO;
 using System.Linq;
 using MaidStatus;
 using UnityEngine;
+using XVI.AniLipSync;
 
 public class Maid : MonoBehaviour
 {
@@ -62,6 +63,14 @@ public class Maid : MonoBehaviour
 		}
 	}
 
+	public FullBodyIKCtrl IKCtrl
+	{
+		get
+		{
+			return this.body0.IKCtrl;
+		}
+	}
+
 	public int ActiveSlotNo
 	{
 		get
@@ -1205,7 +1214,7 @@ public class Maid : MonoBehaviour
 	public bool SerializeProp(BinaryWriter f_bwWrite)
 	{
 		f_bwWrite.Write("CM3D2_MPROP_LIST");
-		f_bwWrite.Write(1160);
+		f_bwWrite.Write(1170);
 		f_bwWrite.Write(this.m_dicMaidProp.Count);
 		foreach (KeyValuePair<string, MaidProp> keyValuePair in this.m_dicMaidProp)
 		{
@@ -1237,7 +1246,7 @@ public class Maid : MonoBehaviour
 	public bool SerializeMisc(BinaryWriter f_bwWrite)
 	{
 		f_bwWrite.Write("CM3D2_MAID_MISC");
-		f_bwWrite.Write(1160);
+		f_bwWrite.Write(1170);
 		f_bwWrite.Write(this.m_nActiveSlotNo);
 		if (this.m_texIcon != null)
 		{
@@ -1262,7 +1271,7 @@ public class Maid : MonoBehaviour
 	public bool SerializeBody(BinaryWriter f_bwWrite)
 	{
 		f_bwWrite.Write("CM3D2_MAID_BODY");
-		f_bwWrite.Write(1160);
+		f_bwWrite.Write(1170);
 		return true;
 	}
 
@@ -1877,8 +1886,8 @@ public class Maid : MonoBehaviour
 			{
 				this.body0.MuneYureL(1f);
 				this.body0.MuneYureR(1f);
-				this.IKTargetToBone("左手", null, "無し", Vector3.zero, IKMgrData.IKAttachType.Point, false);
-				this.IKTargetToBone("右手", null, "無し", Vector3.zero, IKMgrData.IKAttachType.Point, false);
+				this.IKTargetToBone("左手", null, "無し", Vector3.zero, IKCtrlData.IKAttachType.Point, false, 0f, false, false);
+				this.IKTargetToBone("右手", null, "無し", Vector3.zero, IKCtrlData.IKAttachType.Point, false, 0f, false, false);
 			}
 		}
 	}
@@ -1914,7 +1923,7 @@ public class Maid : MonoBehaviour
 		{
 			if (!this.MicLipData.Context)
 			{
-				this.MicLipData.Context = this.AudioMan.gameObject.AddComponent<OVRLipSyncContext>();
+				this.MicLipData.Context = this.AudioMan.gameObject.AddComponent<LowLatencyLipSyncContext>();
 			}
 			if (!this.MicLipData.MorphTarget)
 			{
@@ -1956,148 +1965,103 @@ public class Maid : MonoBehaviour
 		this.m_bFoceKuchipakuSelfUpdateTime = false;
 	}
 
-	private float AngleRimmit(float orijin_angle)
+	public void IKTargetToAttachPoint(string tag, Maid tgt_maid, string tgt_name, string attachpoint_name, Vector3 f_vecOffset, IKCtrlData.IKAttachType attach_type = IKCtrlData.IKAttachType.Point, string axisbone = "", float blend_time = 0f, bool do_animation = false, bool is_next = false)
 	{
-		if (Mathf.Abs(orijin_angle) > 360f)
+		IKCtrlData ikdata = this.body0.IKCtrl.GetIKData(tag);
+		Transform axis_bone = null;
+		if (attach_type != IKCtrlData.IKAttachType.Rotate && !string.IsNullOrEmpty(axisbone))
 		{
-			if (orijin_angle < 0f)
-			{
-				orijin_angle += 360f;
-			}
-			else
-			{
-				orijin_angle -= 360f;
-			}
+			axis_bone = CMT.SearchObjName(tgt_maid.body0.m_trBones, axisbone, true);
 		}
-		return orijin_angle;
+		ikdata.SetIKSetting(attach_type, is_next, tgt_maid, this.body0.GetSlotNo(tgt_name), attachpoint_name, axis_bone, f_vecOffset, do_animation, blend_time);
 	}
 
-	public void IKTargetToAttachPoint(string strMyHand, Maid f_maidTarget, string f_strTargetSlotName, string f_strTargetAttachPointName, Vector3 f_vecOffset, IKMgrData.IKAttachType attach_type = IKMgrData.IKAttachType.Point, string axisbone = "")
+	public void IKTargetToBone(string tag, Maid tgt_maid, string tgtbone_name, Vector3 f_vecOffset, IKCtrlData.IKAttachType attach_type = IKCtrlData.IKAttachType.Point, bool search_sm = false, float blend_time = 0f, bool do_animation = false, bool is_next = false)
 	{
-		IKMgrData.IKParam ikparam = this.body0.StrIKDataPair[strMyHand].GetIKParam(attach_type);
-		ikparam.ChangePointType(attach_type);
-		if (ikparam.MyType != attach_type)
+		IKCtrlData ikdata = this.IKCtrl.GetIKData(tag);
+		if (tgtbone_name != "無し")
 		{
-			return;
-		}
-		ikparam.TgtMaid = f_maidTarget;
-		ikparam.Tgt_AttachSlot = this.body0.GetSlotNo(f_strTargetSlotName);
-		ikparam.Tgt_AttachName = f_strTargetAttachPointName;
-		ikparam.Target = null;
-		ikparam.AxisTgt = null;
-		if (ikparam.IsPointAttach)
-		{
-			ikparam.TgtOffset = f_vecOffset;
-			if (!string.IsNullOrEmpty(axisbone))
+			Transform target;
+			if (!search_sm)
 			{
-				ikparam.AxisTgt = CMT.SearchObjName(f_maidTarget.body0.m_trBones, axisbone, true);
+				target = CMT.SearchObjName(tgt_maid.body0.m_trBones, tgtbone_name, true);
 			}
+			else
+			{
+				target = CMT.SearchObjName(tgt_maid.body0.SmBody, tgtbone_name, false);
+			}
+			ikdata.SetIKSetting(attach_type, is_next, tgt_maid, target, f_vecOffset, do_animation, blend_time);
 		}
 		else
 		{
-			ikparam.TgtOffset.x = this.AngleRimmit(f_vecOffset.x);
-			ikparam.TgtOffset.y = this.AngleRimmit(f_vecOffset.y);
-			ikparam.TgtOffset.z = this.AngleRimmit(f_vecOffset.z);
+			ikdata.Detach(IKCtrlData.IKAttachType.NewPoint, blend_time);
+			ikdata.Detach(IKCtrlData.IKAttachType.Rotate, blend_time);
 		}
 	}
 
-	public void IKTargetToBone(string strMyHand, Maid f_maidTarget, string f_strTargetBoneName, Vector3 f_vecOffset, IKMgrData.IKAttachType attach_type = IKMgrData.IKAttachType.Point, bool search_sm = false)
+	public void IKTargetToOdogu(string tag, string odogu_name, string tgt_name, Vector3 f_vecOffset, IKCtrlData.IKAttachType attach_type = IKCtrlData.IKAttachType.Point, float blend_time = 0f, bool do_animation = false, bool is_next = false)
 	{
-		Transform target = null;
-		if (f_strTargetBoneName != "無し")
+		Transform transform = null;
+		GameObject prefabFromBg = GameMain.Instance.BgMgr.GetPrefabFromBg(odogu_name);
+		if (!prefabFromBg)
 		{
-			if (!search_sm)
-			{
-				target = CMT.SearchObjName(f_maidTarget.body0.m_trBones, f_strTargetBoneName, true);
-			}
-			else
+			Debug.LogErrorFormat("現在の背景に大道具「{0}」は存在しません", new object[]
 			{
-				target = CMT.SearchObjName(f_maidTarget.body0.SmBody, f_strTargetBoneName, false);
-			}
-		}
-		else if (attach_type == IKMgrData.IKAttachType.Point)
-		{
-			this.IKTargetToBone(strMyHand, f_maidTarget, f_strTargetBoneName, f_vecOffset, IKMgrData.IKAttachType.Rotate, false);
+				odogu_name
+			});
 		}
-		IKMgrData.IKParam ikparam = this.body0.StrIKDataPair[strMyHand].GetIKParam(attach_type);
-		ikparam.ChangePointType(attach_type);
-		if (ikparam.MyType != attach_type)
+		else if (prefabFromBg.transform.childCount == 0 || string.IsNullOrEmpty(tgt_name))
 		{
-			return;
-		}
-		ikparam.TgtMaid = f_maidTarget;
-		ikparam.Tgt_AttachSlot = -1;
-		ikparam.Tgt_AttachName = string.Empty;
-		ikparam.Target = target;
-		if (ikparam.IsPointAttach)
-		{
-			ikparam.TgtOffset = f_vecOffset;
+			transform = prefabFromBg.transform;
 		}
 		else
 		{
-			ikparam.TgtOffset.x = this.AngleRimmit(f_vecOffset.x);
-			ikparam.TgtOffset.y = this.AngleRimmit(f_vecOffset.y);
-			ikparam.TgtOffset.z = this.AngleRimmit(f_vecOffset.z);
-		}
-	}
-
-	public void IKTargetToOdogu(string strMyHand, string odogu_name, string tgt_name, Vector3 f_vecOffset, IKMgrData.IKAttachType attach_type = IKMgrData.IKAttachType.Point)
-	{
-		Transform transform = null;
-		if (tgt_name != "無し")
-		{
-			GameObject prefabFromBg = GameMain.Instance.BgMgr.GetPrefabFromBg(odogu_name);
-			if (!prefabFromBg)
+			for (int i = 0; i < prefabFromBg.transform.childCount; i++)
 			{
-				Debug.LogErrorFormat("現在の背景に大道具「{0}」は存在しません", new object[]
+				Transform child = prefabFromBg.transform.GetChild(i);
+				if (child && !(child.name != tgt_name))
 				{
-					odogu_name
-				});
-			}
-			else if (prefabFromBg.transform.childCount == 0 || string.IsNullOrEmpty(tgt_name))
-			{
-				transform = prefabFromBg.transform;
+					transform = prefabFromBg.transform.GetChild(i);
+					break;
+				}
 			}
-			else
+			if (!transform)
 			{
-				for (int i = 0; i < prefabFromBg.transform.childCount; i++)
-				{
-					Transform child = prefabFromBg.transform.GetChild(i);
-					if (child && !(child.name != tgt_name))
-					{
-						transform = prefabFromBg.transform.GetChild(i);
-						break;
-					}
-				}
-				if (!transform)
+				Debug.LogErrorFormat("大道具「{0}」にターゲット「{1}」は存在しません", new object[]
 				{
-					Debug.LogErrorFormat("大道具「{0}」にターゲット「{1}」は存在しません", new object[]
-					{
-						odogu_name,
-						tgt_name
-					});
-				}
+					odogu_name,
+					tgt_name
+				});
 			}
 		}
-		IKMgrData.IKParam ikparam = this.body0.StrIKDataPair[strMyHand].GetIKParam(attach_type);
-		ikparam.ChangePointType(attach_type);
-		if (ikparam.MyType != attach_type)
+		IKCtrlData ikdata = this.IKCtrl.GetIKData(tag);
+		ikdata.SetIKSetting(attach_type, is_next, transform, f_vecOffset, do_animation, blend_time);
+	}
+
+	public void IKTargetToIKBone(string my_tag, Maid f_maidTarget, string bone_name, Vector3 f_vecOffset, IKCtrlData.IKAttachType attach_type = IKCtrlData.IKAttachType.Point, float blend_time = 0f, bool do_animation = false, bool is_next = false)
+	{
+		IKCtrlData ikdata = f_maidTarget.IKCtrl.GetIKData(bone_name);
+		if (!ikdata)
 		{
 			return;
 		}
-		ikparam.TgtMaid = null;
-		ikparam.Tgt_AttachSlot = -1;
-		ikparam.Tgt_AttachName = string.Empty;
-		ikparam.Target = transform;
-		if (ikparam.IsPointAttach)
-		{
-			ikparam.TgtOffset = f_vecOffset;
-		}
-		else
+		Transform targetBone = ikdata.TargetBone;
+		IKCtrlData ikdata2 = this.IKCtrl.GetIKData(my_tag);
+		ikdata2.SetIKSetting(attach_type, is_next, f_maidTarget, bone_name, targetBone, f_vecOffset, do_animation, blend_time);
+	}
+
+	public void IKDetach(string name, float blendtime = 0f)
+	{
+		this.IKTargetToBone(name, null, "無し", Vector3.zero, IKCtrlData.IKAttachType.Point, false, blendtime, false, false);
+	}
+
+	public void IKDetach(float blendtime = 0f)
+	{
+		this.IKCtrl.IKActive = (blendtime > 0f);
+		this.IKCtrl.AllForceIK = false;
+		foreach (string tag in this.IKCtrl.strIKDataPair.Keys)
 		{
-			ikparam.TgtOffset.x = this.AngleRimmit(f_vecOffset.x);
-			ikparam.TgtOffset.y = this.AngleRimmit(f_vecOffset.y);
-			ikparam.TgtOffset.z = this.AngleRimmit(f_vecOffset.z);
+			this.IKTargetToBone(tag, null, "無し", Vector3.zero, IKCtrlData.IKAttachType.Point, false, blendtime, false, false);
 		}
 	}
 
@@ -2920,7 +2884,7 @@ public class Maid : MonoBehaviour
 		[HideInInspector]
 		public bool IsInit = true;
 
-		public OVRLipSyncContext Context;
+		public LowLatencyLipSyncContext Context;
 
 		public OVRLipSyncContextMorphTarget MorphTarget;
 

+ 1 - 1
Assembly-CSharp/MaidParts.cs

@@ -35,7 +35,7 @@ public class MaidParts : MonoBehaviour
 	public unsafe bool Serialize(BinaryWriter f_bwWrite)
 	{
 		f_bwWrite.Write("CM3D2_MULTI_COL");
-		f_bwWrite.Write(1160);
+		f_bwWrite.Write(1170);
 		f_bwWrite.Write(this.m_aryPartsColor.Length);
 		for (int i = 0; i < this.m_aryPartsColor.Length; i++)
 		{

+ 6 - 0
Assembly-CSharp/MaidPlate.cs

@@ -1,5 +1,6 @@
 using System;
 using System.Collections.Generic;
+using I2.Loc;
 using MaidStatus;
 using UnityEngine;
 using wf;
@@ -141,6 +142,11 @@ public class MaidPlate : MonoBehaviour
 		if (status.heroineType != HeroineType.Sub)
 		{
 			this.left_plate_.contract_type_label.text = EnumConvert.GetString(status.contract);
+			Localize component = this.left_plate_.contract_type_label.GetComponent<Localize>();
+			if (component != null)
+			{
+				component.SetTerm(EnumConvert.GetTerm(status.contract));
+			}
 		}
 		else
 		{

+ 1 - 1
Assembly-CSharp/MaidProp.cs

@@ -8,7 +8,7 @@ public class MaidProp
 	public bool Serialize(BinaryWriter f_bwWrite)
 	{
 		f_bwWrite.Write("CM3D2_MPROP");
-		f_bwWrite.Write(1160);
+		f_bwWrite.Write(1170);
 		f_bwWrite.Write(this.idx);
 		f_bwWrite.Write(this.name);
 		f_bwWrite.Write(this.type);

+ 10 - 0
Assembly-CSharp/MaidStatus/CsvData/AbstractClassData.cs

@@ -139,6 +139,16 @@ namespace MaidStatus.CsvData
 
 		public AbstractClassData.ClassType classType { get; private set; }
 
+		protected abstract string termCategoryName { get; }
+
+		public string termName
+		{
+			get
+			{
+				return "MaidStatus/" + this.termCategoryName + "/" + this.uniqueName;
+			}
+		}
+
 		public readonly int id;
 
 		public readonly string uniqueName;

+ 15 - 0
Assembly-CSharp/MaidStatus/EnumConvert.cs

@@ -5,6 +5,21 @@ namespace MaidStatus
 {
 	public static class EnumConvert
 	{
+		public static string GetTerm(Contract contract)
+		{
+			return "MaidStatus/契約タイプ/" + EnumConvert.GetString(contract);
+		}
+
+		public static string GetTerm(Seikeiken seikeiken)
+		{
+			return "MaidStatus/性経験タイプ/" + EnumConvert.GetString(seikeiken);
+		}
+
+		public static string GetTerm(Relation relation)
+		{
+			return "MaidStatus/関係タイプ/" + EnumConvert.GetString(relation);
+		}
+
 		public static string GetString(HeroineType heroineType)
 		{
 			string result = string.Empty;

+ 10 - 0
Assembly-CSharp/MaidStatus/Feature.cs

@@ -115,6 +115,8 @@ namespace MaidStatus
 
 		private const string typeNameForErrorLog = "特徴";
 
+		public const string termRootText = "MaidStatus/性癖タイプ/";
+
 		private static CsvCommonIdManager commonIdManager;
 
 		private static Dictionary<int, Feature.Data> basicDatas;
@@ -146,6 +148,14 @@ namespace MaidStatus
 				}
 			}
 
+			public string termName
+			{
+				get
+				{
+					return "MaidStatus/性癖タイプ/" + this.uniqueName;
+				}
+			}
+
 			public readonly int id;
 
 			public readonly string uniqueName;

+ 8 - 0
Assembly-CSharp/MaidStatus/JobClass.cs

@@ -223,6 +223,14 @@ namespace MaidStatus
 			public Data(string uniqueName, string drawName, CsvParser infoCsv, CsvParser acquiredConditionCsv, CsvParser bonusCsv, CsvParser experienceCsv) : base(uniqueName, drawName, infoCsv, acquiredConditionCsv, bonusCsv, experienceCsv)
 			{
 			}
+
+			protected override string termCategoryName
+			{
+				get
+				{
+					return "ジョブクラス";
+				}
+			}
 		}
 	}
 }

+ 10 - 0
Assembly-CSharp/MaidStatus/Personal.cs

@@ -116,6 +116,8 @@ namespace MaidStatus
 
 		private const string typeNameForErrorLog = "性格";
 
+		public const string termRootText = "MaidStatus/性格タイプ/";
+
 		private static CsvCommonIdManager commonIdManager;
 
 		private static Dictionary<int, Personal.Data> basicDatas;
@@ -206,6 +208,14 @@ namespace MaidStatus
 				}
 			}
 
+			public string termName
+			{
+				get
+				{
+					return "MaidStatus/性格タイプ/" + this.uniqueName;
+				}
+			}
+
 			public readonly int id;
 
 			public readonly string uniqueName;

+ 10 - 0
Assembly-CSharp/MaidStatus/Propensity.cs

@@ -115,6 +115,8 @@ namespace MaidStatus
 
 		private const string typeNameForErrorLog = "性癖";
 
+		public const string termRootText = "MaidStatus/性癖タイプ/";
+
 		private static CsvCommonIdManager commonIdManager;
 
 		private static Dictionary<int, Propensity.Data> basicDatas;
@@ -146,6 +148,14 @@ namespace MaidStatus
 				}
 			}
 
+			public string termName
+			{
+				get
+				{
+					return "MaidStatus/性癖タイプ/" + this.uniqueName;
+				}
+			}
+
 			public readonly int id;
 
 			public readonly string uniqueName;

+ 9 - 1
Assembly-CSharp/MaidStatus/Status.cs

@@ -188,6 +188,14 @@ namespace MaidStatus
 			}
 		}
 
+		public string conditionTermText
+		{
+			get
+			{
+				return "MaidStatus/ステータス称号/" + this.conditionText;
+			}
+		}
+
 		public int playCountYotogi
 		{
 			get
@@ -1207,7 +1215,7 @@ namespace MaidStatus
 		public void Serialize(BinaryWriter binary)
 		{
 			binary.Write("CM3D2_MAID_STATUS");
-			binary.Write(1160);
+			binary.Write(1170);
 			binary.Write(this.guid);
 			binary.Write(this.creationTime);
 			binary.Write((short)this.heroineType);

+ 8 - 0
Assembly-CSharp/MaidStatus/YotogiClass.cs

@@ -392,6 +392,14 @@ namespace MaidStatus
 			public Data(string uniqueName, string drawName, CsvParser infoCsv, CsvParser acquiredConditionCsv, CsvParser bonusCsv, CsvParser experienceCsv) : base(uniqueName, drawName, infoCsv, acquiredConditionCsv, bonusCsv, experienceCsv)
 			{
 			}
+
+			protected override string termCategoryName
+			{
+				get
+				{
+					return "夜伽クラス";
+				}
+			}
 		}
 	}
 }

+ 6 - 1
Assembly-CSharp/MaidTouch.cs

@@ -11,7 +11,10 @@ public class MaidTouch : MonoBehaviour
 		"胸",
 		"クリトリス",
 		"尻穴",
-		"尻"
+		"尻",
+		string.Empty,
+		"操作胸",
+		"操作クリトリス"
 	};
 
 	public static readonly Vector3[] touchPointRotationArray = new Vector3[]
@@ -55,6 +58,8 @@ public class MaidTouch : MonoBehaviour
 		尻穴,
 		尻,
 		発情,
+		操作胸,
+		操作クリトリス,
 		MAX
 	}
 

+ 1 - 1
Assembly-CSharp/MaidTransferMain.cs

@@ -107,7 +107,7 @@ public class MaidTransferMain : WfFadeBehaviour
 		this.charaSelectMgr.SetCallBackMaidList(delegate(List<Maid> draw_list)
 		{
 			draw_list.Clear();
-			foreach (Maid item in this.$this.transferPossibleMaidList)
+			foreach (Maid item in this.transferPossibleMaidList)
 			{
 				draw_list.Add(item);
 			}

+ 20 - 18
Assembly-CSharp/MainBusinessWindow.cs

@@ -48,31 +48,33 @@ public class MainBusinessWindow : MonoBehaviour
 
 	public void OpenBusinessWindow()
 	{
+		MainBusinessWindow.<OpenBusinessWindow>c__AnonStorey0 <OpenBusinessWindow>c__AnonStorey = new MainBusinessWindow.<OpenBusinessWindow>c__AnonStorey0();
+		<OpenBusinessWindow>c__AnonStorey.$this = this;
 		this.UGUICanvas.interactable = false;
 		this.UGUICanvas.blocksRaycasts = true;
 		this.UGUICanvas.FadeIn(0.5f, delegate
 		{
-			this.UGUICanvas.interactable = true;
+			<OpenBusinessWindow>c__AnonStorey.$this.UGUICanvas.interactable = true;
 		});
 		this.m_LastSelectToggle = null;
-		int nowBusinessTypeID = GameMain.Instance.FacilityMgr.NextDayBusinessTypeID;
-		if (!FacilityDataTable.IsExistFacilityBusinessTypeData(nowBusinessTypeID))
+		<OpenBusinessWindow>c__AnonStorey.nowBusinessTypeID = GameMain.Instance.FacilityMgr.NextDayBusinessTypeID;
+		if (!FacilityDataTable.IsExistFacilityBusinessTypeData(<OpenBusinessWindow>c__AnonStorey.nowBusinessTypeID))
 		{
-			nowBusinessTypeID = GameMain.Instance.FacilityMgr.NowBusinessTypeID;
+			<OpenBusinessWindow>c__AnonStorey.nowBusinessTypeID = GameMain.Instance.FacilityMgr.NowBusinessTypeID;
 		}
-		this.m_NowSelectingBusinessTypeID = nowBusinessTypeID;
-		this.m_BeforeSelectingBusinessTypeID = nowBusinessTypeID;
-		FacilityDataTable.BusinessTypeData[] businessTypeDataArray = FacilityDataTable.GetFacilityBusinessTypeDataArray(true);
-		this.m_UIListBanner.Show<Toggle>(businessTypeDataArray.Length, delegate(int index, Toggle toggle)
+		this.m_NowSelectingBusinessTypeID = <OpenBusinessWindow>c__AnonStorey.nowBusinessTypeID;
+		this.m_BeforeSelectingBusinessTypeID = <OpenBusinessWindow>c__AnonStorey.nowBusinessTypeID;
+		<OpenBusinessWindow>c__AnonStorey.businessTypeDataArray = FacilityDataTable.GetFacilityBusinessTypeDataArray(true);
+		this.m_UIListBanner.Show<Toggle>(<OpenBusinessWindow>c__AnonStorey.businessTypeDataArray.Length, delegate(int index, Toggle toggle)
 		{
-			FacilityDataTable.BusinessTypeData data = businessTypeDataArray[index];
-			if (data.ID == nowBusinessTypeID)
+			FacilityDataTable.BusinessTypeData data = <OpenBusinessWindow>c__AnonStorey.businessTypeDataArray[index];
+			if (data.ID == <OpenBusinessWindow>c__AnonStorey.nowBusinessTypeID)
 			{
 				toggle.isOn = true;
 			}
 			if (toggle.image)
 			{
-				Sprite spriteInAtlas = this.GetSpriteInAtlas(this.m_UIAtlasBusinessBannger, "main_banner_dammy");
+				Sprite spriteInAtlas = <OpenBusinessWindow>c__AnonStorey.$this.GetSpriteInAtlas(<OpenBusinessWindow>c__AnonStorey.$this.m_UIAtlasBusinessBannger, "main_banner_dammy");
 				if (spriteInAtlas != null)
 				{
 					toggle.image.sprite = spriteInAtlas;
@@ -84,18 +86,18 @@ public class MainBusinessWindow : MonoBehaviour
 				{
 					return;
 				}
-				this.OnClickBusinessBanner(toggle, data.ID);
+				<OpenBusinessWindow>c__AnonStorey.OnClickBusinessBanner(toggle, data.ID);
 			});
 			MainBusinessWindow.BannerEnterHandler component = toggle.GetComponent<MainBusinessWindow.BannerEnterHandler>();
-			component.onPointerEnter = delegate
+			component.onPointerEnter = delegate()
 			{
-				this.UpdateBusinessTypeDescription(data.ID);
-				this.UpdateBusinessTypeConditions(data.ID);
+				<OpenBusinessWindow>c__AnonStorey.UpdateBusinessTypeDescription(data.ID);
+				<OpenBusinessWindow>c__AnonStorey.UpdateBusinessTypeConditions(data.ID);
 			};
-			component.onPointerExit = delegate
+			component.onPointerExit = delegate()
 			{
-				this.UpdateBusinessTypeDescription(this.m_NowSelectingBusinessTypeID);
-				this.UpdateBusinessTypeConditions(this.m_NowSelectingBusinessTypeID);
+				<OpenBusinessWindow>c__AnonStorey.UpdateBusinessTypeDescription(<OpenBusinessWindow>c__AnonStorey.m_NowSelectingBusinessTypeID);
+				<OpenBusinessWindow>c__AnonStorey.UpdateBusinessTypeConditions(<OpenBusinessWindow>c__AnonStorey.m_NowSelectingBusinessTypeID);
 			};
 		});
 		this.UpdateBusinessTypeDescription(this.m_NowSelectingBusinessTypeID);

+ 2 - 2
Assembly-CSharp/Menu.cs

@@ -753,7 +753,7 @@ public class Menu : MonoBehaviour
 			Directory.CreateDirectory(text);
 		}
 		StreamWriter streamWriter = new StreamWriter(text + "\\" + text2 + ".txt", false, Encoding.UTF8);
-		streamWriter.WriteLine("出力バージョン\t" + 1160);
+		streamWriter.WriteLine("出力バージョン\t" + 1170);
 		streamWriter.WriteLine("基本アイテム\t" + filename.Replace(" ", ":"));
 		try
 		{
@@ -1246,9 +1246,9 @@ public class Menu : MonoBehaviour
 		}
 	}
 
+	// Note: this type is marked as 'beforefieldinit'.
 	static Menu()
 	{
-		// Note: this type is marked as 'beforefieldinit'.
 		string[,] array = new string[31, 2];
 		array[0, 0] = "_MainTex";
 		array[0, 1] = "tex";

+ 19 - 8
Assembly-CSharp/MessageClass.cs

@@ -18,8 +18,11 @@ public class MessageClass
 		this.hitret_sprite_.alpha = 0f;
 		this.mainTextAnimation = new MessageClass.TextAnimation();
 		this.subTextAnimation = new MessageClass.TextAnimation();
-		this.subtitles_manager_.visible = false;
-		this.subtitles_manager_ = null;
+		this.subtitles_manager_.visible = true;
+		this.message_label_.gameObject.SetActive(false);
+		this.name_label_.gameObject.SetActive(false);
+		UTY.GetChildObject(this.message_window_panel_, "MessageViewer/MsgParent/MessageBox", false).SetActive(false);
+		this.message_label_ = (this.name_label_ = null);
 	}
 
 	public static KeyValuePair<string, string> GetTranslationText(string baseText)
@@ -116,17 +119,21 @@ public class MessageClass
 		this.exit_wait_count_ = -1;
 		this.hitret_sprite_.alpha = 0f;
 		this.charaNameText = name;
-		this.mainTextAnimation.StartAnimation(MessageClass.GetWrapString(this.message_label_, text));
-		this.message_mgr_.AddBackLog(name, this.mainTextAnimation.text, voice_file, voice_pitch);
+		KeyValuePair<string, string> translationText = MessageClass.GetTranslationText(text);
+		this.mainTextAnimation.StartAnimation(translationText.Key);
+		this.subTextAnimation.StartAnimation(translationText.Value);
+		this.message_mgr_.AddBackLog(name, this.mainTextAnimation.text, this.subTextAnimation.text, voice_file, voice_pitch);
 		this.Update();
 	}
 
 	public void Clear()
 	{
 		this.exit_wait_count_ = -1;
-		string empty = string.Empty;
-		this.charaNameText = empty;
-		this.messageText = empty;
+		string text = string.Empty;
+		this.charaNameText = text;
+		text = text;
+		this.messageText = text;
+		this.subtitlesText = text;
 		this.mainTextAnimation.Clear();
 		this.subTextAnimation.Clear();
 		this.hitret_sprite_.alpha = 0f;
@@ -255,7 +262,11 @@ public class MessageClass
 		{
 			get
 			{
-				return (int)((100f - (float)GameMain.Instance.CMSystem.MsgTextSpeed) * 1.5f);
+				if (this.text_info == null || this.text_info.LengthInTextElements == 0)
+				{
+					return 0;
+				}
+				return (100 - GameMain.Instance.CMSystem.MsgTextSpeed) * 20 / this.text_info.LengthInTextElements;
 			}
 		}
 

+ 4 - 4
Assembly-CSharp/MessageWindowCtrl.cs

@@ -33,10 +33,10 @@ public class MessageWindowCtrl : MonoBehaviour
 	{
 		UTY.GetChildObject(this.m_goSelectorViewer, "Scroll Bar/Down", false).GetComponent<UISprite>().enabled = true;
 		UTY.GetChildObject(this.m_goSelectorViewer, "Scroll Bar/Up", false).GetComponent<UISprite>().enabled = true;
-		UnityEngine.Object @object = Resources.Load("SystemUI/MessageWindow/Main/Prefabs/SelectButton");
+		UnityEngine.Object @object = Resources.Load("SystemUI/MessageWindow/Main/Prefabs/SelectButtonDouble");
 		if (@object == null)
 		{
-			Debug.LogError(string.Format("ロードされるプレハブが見つかりませんでした。パス={0}", "SystemUI/MessageWindow/Main/Prefabs/SelectButton"));
+			Debug.LogError(string.Format("ロードされるプレハブが見つかりませんでした。パス={0}", "SystemUI/MessageWindow/Main/Prefabs/SelectButtonDouble"));
 			return;
 		}
 		this.m_selectButtonCtrl.CreateSelectButtons(listSelectBtn, onClickCallBack, @object);
@@ -51,7 +51,7 @@ public class MessageWindowCtrl : MonoBehaviour
 
 	public void CreateBacklog(List<BacklogCtrl.BacklogUnit> dicBacklog)
 	{
-		UnityEngine.Object @object = Resources.Load("SystemUI/MessageWindow/Backlog/Prefabs/BacklogUnit");
+		UnityEngine.Object @object = Resources.Load("SystemUI/MessageWindow/Backlog/Prefabs/BacklogSubtitleUnit");
 		if (@object == null)
 		{
 			Debug.LogError(string.Format("ロードされるプレハブが見つかりませんでした。パス={0}", "SystemUI/MessageWindow/Backlog/Prefabs/BacklogUnit"));
@@ -165,7 +165,7 @@ public class MessageWindowCtrl : MonoBehaviour
 
 	private const string SELECT_BTN_PARENT_PATH = "SelectorViewer/Contents/SelectButtonParent";
 
-	private const string SELECT_BUTTON_PREFAB_PATH = "SystemUI/MessageWindow/Main/Prefabs/SelectButton";
+	private const string SELECT_BUTTON_PREFAB_PATH = "SystemUI/MessageWindow/Main/Prefabs/SelectButtonDouble";
 
 	private const string BACKLOG_UNIT_PARENT_PATH = "BacklogViewer/Contents/BacklogUnitParent";
 

+ 1 - 1
Assembly-CSharp/Misc.cs

@@ -2,7 +2,7 @@
 
 public class Misc
 {
-	public const int GAME_VERSION = 1160;
+	public const int GAME_VERSION = 1170;
 
 	public const string GAME_DATA_PATH = "GameData";
 

+ 1 - 1
Assembly-CSharp/ModCompile.cs

@@ -604,7 +604,7 @@ public class ModCompile : MonoBehaviour
 		MemoryStream memoryStream = new MemoryStream();
 		BinaryWriter binaryWriter = new BinaryWriter(memoryStream);
 		binaryWriter.Write("CM3D2_MESH");
-		binaryWriter.Write(1160);
+		binaryWriter.Write(1170);
 		string fileNameWithoutExtension = Path.GetFileNameWithoutExtension(f_strMqoFile);
 		binaryWriter.Write(fileNameWithoutExtension);
 		binaryWriter.Write(exObjIn2.strName);

+ 1 - 1
Assembly-CSharp/MotionAction_Mgr.cs

@@ -263,7 +263,7 @@ public class MotionAction_Mgr : PartsMgrBase
 
 	private IEnumerator MotionCheck(ActionCase case_data, float start_time)
 	{
-		Func<bool> play_voice = delegate
+		Func<bool> play_voice = delegate()
 		{
 			for (int i = 0; i < GameMain.Instance.CharacterMgr.GetMaidCount(); i++)
 			{

+ 13 - 0
Assembly-CSharp/MouseExposition.cs

@@ -1,4 +1,5 @@
 using System;
+using I2.Loc;
 using UnityEngine;
 using wf;
 
@@ -150,6 +151,18 @@ public class MouseExposition : MonoBehaviour
 		this.text = string.Empty;
 	}
 
+	public string textFromLanguageTerm
+	{
+		set
+		{
+			string translation = LocalizationManager.GetTranslation(value, true, 0, true, false, null, null);
+			if (!string.IsNullOrEmpty(translation))
+			{
+				this.text = translation;
+			}
+		}
+	}
+
 	public string text
 	{
 		get

+ 1 - 1
Assembly-CSharp/MyRoomCustom/CreativeRoom.cs

@@ -1145,7 +1145,7 @@ namespace MyRoomCustom
 			{
 				RawImage component = button.GetComponent<RawImage>();
 				component.texture = CreativeRoom.m_Materials[index].mainTexture;
-				button.onClick.AddListener(delegate
+				button.onClick.AddListener(delegate()
 				{
 					this.ButtonEvent_SetPanelsMaterial(index);
 				});

+ 29 - 24
Assembly-CSharp/MyRoomCustom/CreativeRoomUIObjectSettings.cs

@@ -267,7 +267,7 @@ namespace MyRoomCustom
 			});
 			Action<string, Button, Func<Vector3>> action2 = delegate(string key, Button button, Func<Vector3> delegate_get_vector3)
 			{
-				button.onClick.AddListener(delegate
+				button.onClick.AddListener(delegate()
 				{
 					if (this.m_SelectingObject == null)
 					{
@@ -283,7 +283,7 @@ namespace MyRoomCustom
 			};
 			Action<string, Button, Action<Vector3>> action3 = delegate(string key, Button button, Action<Vector3> delegate_return_vector3)
 			{
-				button.onClick.AddListener(delegate
+				button.onClick.AddListener(delegate()
 				{
 					if (this.m_SelectingObject == null)
 					{
@@ -310,7 +310,7 @@ namespace MyRoomCustom
 			};
 			Action<Button, Func<Vector3>, Action<Vector3>> action4 = delegate(Button button, Func<Vector3> delegate_get_vector3, Action<Vector3> delegate_return_vector3)
 			{
-				button.onClick.AddListener(delegate
+				button.onClick.AddListener(delegate()
 				{
 					if (this.m_SelectingObject == null)
 					{
@@ -511,22 +511,25 @@ namespace MyRoomCustom
 
 		public void CreateOdoguObjectButtons(int placementObjCategoryID)
 		{
-			List<PlacementData.Data> dataList = PlacementData.GetDatas((PlacementData.Data data) => data.categoryID == placementObjCategoryID);
+			CreativeRoomUIObjectSettings.<CreateOdoguObjectButtons>c__AnonStorey4 <CreateOdoguObjectButtons>c__AnonStorey = new CreativeRoomUIObjectSettings.<CreateOdoguObjectButtons>c__AnonStorey4();
+			<CreateOdoguObjectButtons>c__AnonStorey.placementObjCategoryID = placementObjCategoryID;
+			<CreateOdoguObjectButtons>c__AnonStorey.$this = this;
+			<CreateOdoguObjectButtons>c__AnonStorey.dataList = PlacementData.GetDatas((PlacementData.Data data) => data.categoryID == <CreateOdoguObjectButtons>c__AnonStorey.placementObjCategoryID);
 			Debug.LogFormat("カテゴリID「{0}」\nデータ数「{1}」", new object[]
 			{
-				placementObjCategoryID,
-				dataList.Count
+				<CreateOdoguObjectButtons>c__AnonStorey.placementObjCategoryID,
+				<CreateOdoguObjectButtons>c__AnonStorey.dataList.Count
 			});
-			this.m_UIParentDeployableObjectButtons.Show<Button>(dataList.Count, delegate(int i, Button button)
+			this.m_UIParentDeployableObjectButtons.Show<Button>(<CreateOdoguObjectButtons>c__AnonStorey.dataList.Count, delegate(int i, Button button)
 			{
-				PlacementData.Data data = dataList[i];
+				PlacementData.Data data = <CreateOdoguObjectButtons>c__AnonStorey.dataList[i];
 				Text componentInChildren = button.GetComponentInChildren<Text>();
 				RawImage component = button.GetComponent<RawImage>();
 				Texture texture = null;
-				if (!this.m_CachedItemIconDic.TryGetValue(data.ID, out texture))
+				if (!<CreateOdoguObjectButtons>c__AnonStorey.$this.m_CachedItemIconDic.TryGetValue(data.ID, out texture))
 				{
 					texture = data.GetThumbnail();
-					this.m_CachedItemIconDic.Add(data.ID, texture);
+					<CreateOdoguObjectButtons>c__AnonStorey.$this.m_CachedItemIconDic.Add(data.ID, texture);
 				}
 				if (texture != null)
 				{
@@ -537,17 +540,17 @@ namespace MyRoomCustom
 				{
 					componentInChildren.text = data.drawName;
 				}
-				button.onClick.AddListener(delegate
+				button.onClick.AddListener(delegate()
 				{
-					GameObject gameObject = this.CreateOdoguObject(data.ID);
+					GameObject gameObject = <CreateOdoguObjectButtons>c__AnonStorey.CreateOdoguObject(data.ID);
 					if (!gameObject)
 					{
 						return;
 					}
-					this.AddEvent_ObjectClickSelect(gameObject);
-					this.CreateDeploymentObjectButtons();
-					this.SetSelectingObject(gameObject, null);
-					this.m_UIToggleVisibleDeployObject.isOn = true;
+					<CreateOdoguObjectButtons>c__AnonStorey.AddEvent_ObjectClickSelect(gameObject);
+					<CreateOdoguObjectButtons>c__AnonStorey.CreateDeploymentObjectButtons();
+					<CreateOdoguObjectButtons>c__AnonStorey.SetSelectingObject(gameObject, null);
+					<CreateOdoguObjectButtons>c__AnonStorey.m_UIToggleVisibleDeployObject.isOn = true;
 				});
 			});
 		}
@@ -786,7 +789,7 @@ namespace MyRoomCustom
 						componentsInChildren[0].GetComponentInChildren<Text>().text = PlacementData.GetData(deployObjectInstanceData.objectID).drawName;
 						componentsInChildren[0].onClick.RemoveAllListeners();
 						componentsInChildren[1].onClick.RemoveAllListeners();
-						componentsInChildren[0].onClick.AddListener(delegate
+						componentsInChildren[0].onClick.AddListener(delegate()
 						{
 							if (this.m_SelectingObject == Obj)
 							{
@@ -797,7 +800,7 @@ namespace MyRoomCustom
 								this.SetSelectingObject(Obj, null);
 							}
 						});
-						componentsInChildren[1].onClick.AddListener(delegate
+						componentsInChildren[1].onClick.AddListener(delegate()
 						{
 							this.DestroyDeploymentObject(Obj);
 						});
@@ -932,18 +935,20 @@ namespace MyRoomCustom
 
 		private void OnEnable()
 		{
-			List<int> categoryIDList = PlacementData.CategoryIDList;
-			this.m_UIParentDeployableObjectCategoryButtons.Show<Button>(categoryIDList.Count, delegate(int i, Button button)
+			CreativeRoomUIObjectSettings.<OnEnable>c__AnonStorey8 <OnEnable>c__AnonStorey = new CreativeRoomUIObjectSettings.<OnEnable>c__AnonStorey8();
+			<OnEnable>c__AnonStorey.$this = this;
+			<OnEnable>c__AnonStorey.categoryIDList = PlacementData.CategoryIDList;
+			this.m_UIParentDeployableObjectCategoryButtons.Show<Button>(<OnEnable>c__AnonStorey.categoryIDList.Count, delegate(int i, Button button)
 			{
 				Text componentInChildren = button.GetComponentInChildren<Text>();
-				componentInChildren.text = PlacementData.GetCategoryName(categoryIDList[i]);
-				button.onClick.AddListener(delegate
+				componentInChildren.text = PlacementData.GetCategoryName(<OnEnable>c__AnonStorey.categoryIDList[i]);
+				button.onClick.AddListener(delegate()
 				{
 					Debug.LogFormat("カテゴリ「{0}」", new object[]
 					{
-						PlacementData.GetCategoryName(categoryIDList[i])
+						PlacementData.GetCategoryName(<OnEnable>c__AnonStorey.categoryIDList[i])
 					});
-					this.CreateOdoguObjectButtons(categoryIDList[i]);
+					<OnEnable>c__AnonStorey.CreateOdoguObjectButtons(<OnEnable>c__AnonStorey.categoryIDList[i]);
 				});
 			});
 		}

+ 2 - 2
Assembly-CSharp/MyRoomCustom/CreativeRoomUISaveLoad.cs

@@ -49,7 +49,7 @@ namespace MyRoomCustom
 					componentInChildren2.text = string.Empty;
 				}
 				componentInChildren.onClick.RemoveAllListeners();
-				componentInChildren.onClick.AddListener(delegate
+				componentInChildren.onClick.AddListener(delegate()
 				{
 					if (!GameMain.Instance.SysDlg.IsDecided)
 					{
@@ -112,7 +112,7 @@ namespace MyRoomCustom
 					componentInChildren3.text = string.Empty;
 				}
 				componentInChildren.onClick.RemoveAllListeners();
-				componentInChildren.onClick.AddListener(delegate
+				componentInChildren.onClick.AddListener(delegate()
 				{
 					if (head == null)
 					{

+ 87 - 0
Assembly-CSharp/NGUILabelSpacingHold.cs

@@ -0,0 +1,87 @@
+using System;
+using I2.Loc;
+using UnityEngine;
+using UnityEngine.Events;
+
+[RequireComponent(typeof(Localize))]
+[RequireComponent(typeof(UILabel))]
+public class NGUILabelSpacingHold : MonoBehaviour
+{
+	private void Awake()
+	{
+		if (this.callAwake)
+		{
+			return;
+		}
+		this.callAwake = true;
+		this.localize = base.GetComponent<Localize>();
+		this.label = base.GetComponent<UILabel>();
+		if (this.localize != null && this.label != null)
+		{
+			this.localize.LocalizeEvent.AddListener(new UnityAction(this.OnLocalize));
+			if (this.label.useFloatSpacing)
+			{
+				this.HoldSpacingX = this.label.floatSpacingX;
+				this.HoldSpacingY = this.label.floatSpacingY;
+			}
+			else
+			{
+				this.HoldSpacingX = (float)this.label.spacingX;
+				this.HoldSpacingY = (float)this.label.spacingY;
+			}
+			this.updateReq = true;
+			this.OnLocalize();
+		}
+	}
+
+	public void OnLocalize()
+	{
+		if (!this.callAwake)
+		{
+			this.Awake();
+		}
+		if (!this.updateReq)
+		{
+			return;
+		}
+		if (LocalizationManager.CurrentLanguageCode == "ja")
+		{
+			if (this.label.useFloatSpacing)
+			{
+				this.label.floatSpacingX = this.HoldSpacingX;
+				this.label.floatSpacingY = this.HoldSpacingY;
+			}
+			else
+			{
+				this.label.spacingX = (int)this.HoldSpacingX;
+				this.label.spacingY = (int)this.HoldSpacingY;
+			}
+		}
+		else if (this.label.useFloatSpacing)
+		{
+			UILabel uilabel = this.label;
+			float num = 0f;
+			this.label.floatSpacingY = num;
+			uilabel.floatSpacingX = num;
+		}
+		else
+		{
+			UILabel uilabel2 = this.label;
+			int num2 = 0;
+			this.label.spacingY = num2;
+			uilabel2.spacingX = num2;
+		}
+	}
+
+	private float HoldSpacingX;
+
+	private float HoldSpacingY;
+
+	private bool updateReq;
+
+	private bool callAwake;
+
+	private Localize localize;
+
+	private UILabel label;
+}

+ 22 - 0
Assembly-CSharp/NGUI_LanguagePopup.cs

@@ -0,0 +1,22 @@
+using System;
+using I2.Loc;
+using UnityEngine;
+
+public class NGUI_LanguagePopup : MonoBehaviour
+{
+	private void Start()
+	{
+		UIPopupList component = base.GetComponent<UIPopupList>();
+		component.items = this.Source.GetLanguages(true);
+		EventDelegate.Add(component.onChange, new EventDelegate.Callback(this.OnValueChange));
+		int num = component.items.IndexOf(LocalizationManager.CurrentLanguage);
+		component.value = component.items[(num < 0) ? 0 : num];
+	}
+
+	public void OnValueChange()
+	{
+		LocalizationManager.CurrentLanguage = UIPopupList.current.value;
+	}
+
+	public LanguageSource Source;
+}

+ 1 - 1
Assembly-CSharp/Note_Mgr.cs

@@ -321,7 +321,7 @@ public class Note_Mgr : PartsMgrBase
 			Score_Mgr.Instance.NotMissClear();
 			this.m_FullComboObj.gameObject.SetActive(true);
 			this.NoteSEPlay(this.m_FullComboSe);
-			base.StartCoroutine(RhythmAction_Mgr.Instance.DanceTimeCoroutine(this.m_TotalAnimeTime, new Action<float>(this.FullComboAnim), delegate
+			base.StartCoroutine(RhythmAction_Mgr.Instance.DanceTimeCoroutine(this.m_TotalAnimeTime, new Action<float>(this.FullComboAnim), delegate()
 			{
 				this.m_FullComboObj.gameObject.SetActive(false);
 			}));

+ 2 - 0
Assembly-CSharp/OVRCameraRig.cs

@@ -1,4 +1,5 @@
 using System;
+using System.Diagnostics;
 using UnityEngine;
 using UnityEngine.VR;
 
@@ -35,6 +36,7 @@ public class OVRCameraRig : MonoBehaviour
 
 	public Transform trackerAnchor { get; private set; }
 
+	[DebuggerBrowsable(DebuggerBrowsableState.Never)]
 	public event Action<OVRCameraRig> UpdatedAnchors;
 
 	private void Awake()

+ 2 - 0
Assembly-CSharp/OVRDisplay.cs

@@ -1,4 +1,5 @@
 using System;
+using System.Diagnostics;
 using System.Text.RegularExpressions;
 using UnityEngine;
 using UnityEngine.VR;
@@ -15,6 +16,7 @@ public class OVRDisplay
 		this.UpdateTextures();
 	}
 
+	[DebuggerBrowsable(DebuggerBrowsableState.Never)]
 	public event Action RecenteredPose;
 
 	public void RecenterPose()

+ 6 - 0
Assembly-CSharp/OVRLipSync.cs

@@ -41,6 +41,10 @@ public class OVRLipSync : MonoBehaviour
 		}
 	}
 
+	public static int SamplingRate { get; private set; }
+
+	public static int BuffSize { get; private set; }
+
 	public void Init()
 	{
 		if (OVRLipSync.sInstance == null)
@@ -50,6 +54,8 @@ public class OVRLipSync : MonoBehaviour
 			int num;
 			int num2;
 			AudioSettings.GetDSPBufferSize(out num, out num2);
+			OVRLipSync.SamplingRate = outputSampleRate;
+			OVRLipSync.BuffSize = num;
 			string message = string.Format("OvrLipSync Awake: Queried SampleRate: {0:F0} BufferSize: {1:F0}", outputSampleRate, num);
 			Debug.LogWarning(message);
 			OVRLipSync.sInitialized = OVRLipSync.Initialize(outputSampleRate, num);

+ 1 - 0
Assembly-CSharp/OVRLipSyncContextBase.cs

@@ -73,6 +73,7 @@ public class OVRLipSyncContextBase : MonoBehaviour
 
 	public OVRLipSync.ContextProviders provider;
 
+	[SerializeField]
 	private OVRLipSync.Frame frame = new OVRLipSync.Frame();
 
 	private uint context;

+ 3 - 3
Assembly-CSharp/OVRLipSyncContextMorphTarget.cs

@@ -54,9 +54,9 @@ public class OVRLipSyncContextMorphTarget : MonoBehaviour
 		float num2 = -1f;
 		for (int i = 0; i < OVRLipSync.VisemeCount; i++)
 		{
-			if (this.VisemeToBlendTargets[i] != -1)
+			if (frame.Visemes[i] > 0.001f)
 			{
-				if (frame.Visemes[i] > num2)
+				if (frame.Visemes[i] > num2 && i != 0)
 				{
 					num2 = frame.Visemes[i];
 					num = i;
@@ -99,7 +99,7 @@ public class OVRLipSyncContextMorphTarget : MonoBehaviour
 
 	public int[] KeySendVisemeSignal = new int[10];
 
-	public int SmoothAmount = 10;
+	public int SmoothAmount = 100;
 
 	[SerializeField]
 	[Header("口パクを複数ブレンドするか")]

+ 30 - 2
Assembly-CSharp/OVRLipSyncMicInput.cs

@@ -1,5 +1,7 @@
 using System;
 using UnityEngine;
+using UnityEngine.Audio;
+using wf;
 
 [RequireComponent(typeof(AudioSource))]
 public class OVRLipSyncMicInput : MonoBehaviour
@@ -28,6 +30,14 @@ public class OVRLipSyncMicInput : MonoBehaviour
 		}
 	}
 
+	private OVRLipSync.VariableData m_Variable
+	{
+		get
+		{
+			return GameMain.Instance.LipSyncMgr.Variable;
+		}
+	}
+
 	public void Init(Maid maid)
 	{
 		if (!this.audioSource)
@@ -41,7 +51,11 @@ public class OVRLipSyncMicInput : MonoBehaviour
 		this.TargetMaid = maid;
 		this.audioSource.loop = true;
 		this.audioSource.mute = false;
+		this.m_orijinMixer = this.audioSource.outputAudioMixerGroup;
+		this.m_outputMixer = Resources.Load<AudioMixerGroup>("OvrLipSync/MicInput");
+		this.audioSource.outputAudioMixerGroup = this.m_outputMixer.audioMixer.FindMatchingGroups("MicInput")[0];
 		this.lipsyncContext = base.GetComponent<OVRLipSyncContextBase>();
+		this.micFrequency = OVRLipSync.SamplingRate;
 		if (Microphone.devices.Length != 0)
 		{
 			this.selectedDevice = Microphone.devices[0].ToString();
@@ -50,13 +64,21 @@ public class OVRLipSyncMicInput : MonoBehaviour
 		}
 	}
 
+	private void OnDestroy()
+	{
+		if (this.audioSource)
+		{
+			this.audioSource.outputAudioMixerGroup = this.m_orijinMixer;
+		}
+	}
+
 	private void Update()
 	{
-		this.audioSource.volume = this.sourceVolume;
 		if (!Microphone.IsRecording(this.selectedDevice))
 		{
 			this.StartMicrophone();
 		}
+		this.m_outputMixer.audioMixer.SetFloat("OutVolume", (!this.m_Variable.Mute) ? Utility.VolumeToDecibel(this.m_Variable.MicVolume) : -80f);
 	}
 
 	private void OnApplicationFocus(bool focus)
@@ -112,7 +134,7 @@ public class OVRLipSyncMicInput : MonoBehaviour
 		{
 			return;
 		}
-		this.audioSource.clip = Microphone.Start(this.selectedDevice, true, 1, this.micFrequency);
+		this.audioSource.clip = Microphone.Start(this.selectedDevice, true, 10, this.micFrequency);
 		while (Microphone.GetPosition(this.selectedDevice) <= 0)
 		{
 		}
@@ -132,6 +154,8 @@ public class OVRLipSyncMicInput : MonoBehaviour
 		Microphone.End(this.selectedDevice);
 	}
 
+	public const int RECORD = 10;
+
 	public Maid TargetMaid;
 
 	public AudioSource audioSource;
@@ -155,4 +179,8 @@ public class OVRLipSyncMicInput : MonoBehaviour
 	private bool focused = true;
 
 	private OVRLipSyncContextBase lipsyncContext;
+
+	private AudioMixerGroup m_orijinMixer;
+
+	private AudioMixerGroup m_outputMixer;
 }

+ 26 - 14
Assembly-CSharp/OVRManager.cs

@@ -1,5 +1,6 @@
 using System;
 using System.Collections.Generic;
+using System.Diagnostics;
 using UnityEngine;
 using UnityEngine.Rendering;
 using UnityEngine.VR;
@@ -42,27 +43,38 @@ public class OVRManager : MonoBehaviour
 		}
 	}
 
+	[DebuggerBrowsable(DebuggerBrowsableState.Never)]
 	public static event Action HMDAcquired;
 
+	[DebuggerBrowsable(DebuggerBrowsableState.Never)]
 	public static event Action HMDLost;
 
+	[DebuggerBrowsable(DebuggerBrowsableState.Never)]
 	public static event Action HMDMounted;
 
+	[DebuggerBrowsable(DebuggerBrowsableState.Never)]
 	public static event Action HMDUnmounted;
 
+	[DebuggerBrowsable(DebuggerBrowsableState.Never)]
 	public static event Action VrFocusAcquired;
 
+	[DebuggerBrowsable(DebuggerBrowsableState.Never)]
 	public static event Action VrFocusLost;
 
+	[DebuggerBrowsable(DebuggerBrowsableState.Never)]
 	public static event Action AudioOutChanged;
 
+	[DebuggerBrowsable(DebuggerBrowsableState.Never)]
 	public static event Action AudioInChanged;
 
+	[DebuggerBrowsable(DebuggerBrowsableState.Never)]
 	public static event Action TrackingAcquired;
 
+	[DebuggerBrowsable(DebuggerBrowsableState.Never)]
 	public static event Action TrackingLost;
 
 	[Obsolete]
+	[DebuggerBrowsable(DebuggerBrowsableState.Never)]
 	public static event Action HSWDismissed;
 
 	public static bool isHmdPresent
@@ -331,7 +343,7 @@ public class OVRManager : MonoBehaviour
 			return;
 		}
 		OVRManager.instance = this;
-		Debug.Log(string.Concat(new object[]
+		UnityEngine.Debug.Log(string.Concat(new object[]
 		{
 			"Unity v",
 			Application.unityVersion,
@@ -345,7 +357,7 @@ public class OVRManager : MonoBehaviour
 		}));
 		if (SystemInfo.graphicsDeviceType != GraphicsDeviceType.Direct3D11)
 		{
-			Debug.LogWarning("VR rendering requires Direct3D11. Your graphics device: " + SystemInfo.graphicsDeviceType);
+			UnityEngine.Debug.LogWarning("VR rendering requires Direct3D11. Your graphics device: " + SystemInfo.graphicsDeviceType);
 		}
 		RuntimePlatform platform = Application.platform;
 		this.isSupportedPlatform |= (platform == RuntimePlatform.Android);
@@ -355,7 +367,7 @@ public class OVRManager : MonoBehaviour
 		this.isSupportedPlatform |= (platform == RuntimePlatform.WindowsPlayer);
 		if (!this.isSupportedPlatform)
 		{
-			Debug.LogWarning("This platform is unsupported");
+			UnityEngine.Debug.LogWarning("This platform is unsupported");
 			return;
 		}
 		if (OVRManager.display == null)
@@ -398,7 +410,7 @@ public class OVRManager : MonoBehaviour
 		OVRManager.isHmdPresent = OVRPlugin.hmdPresent;
 		if (this.useRecommendedMSAALevel && QualitySettings.antiAliasing != OVRManager.display.recommendedMSAALevel)
 		{
-			Debug.Log(string.Concat(new object[]
+			UnityEngine.Debug.Log(string.Concat(new object[]
 			{
 				"The current MSAA level is ",
 				QualitySettings.antiAliasing,
@@ -419,7 +431,7 @@ public class OVRManager : MonoBehaviour
 			}
 			catch (Exception arg)
 			{
-				Debug.LogError("Caught Exception: " + arg);
+				UnityEngine.Debug.LogError("Caught Exception: " + arg);
 			}
 		}
 		if (!OVRManager._wasHmdPresent && OVRManager.isHmdPresent)
@@ -433,7 +445,7 @@ public class OVRManager : MonoBehaviour
 			}
 			catch (Exception arg2)
 			{
-				Debug.LogError("Caught Exception: " + arg2);
+				UnityEngine.Debug.LogError("Caught Exception: " + arg2);
 			}
 		}
 		OVRManager._wasHmdPresent = OVRManager.isHmdPresent;
@@ -449,7 +461,7 @@ public class OVRManager : MonoBehaviour
 			}
 			catch (Exception arg3)
 			{
-				Debug.LogError("Caught Exception: " + arg3);
+				UnityEngine.Debug.LogError("Caught Exception: " + arg3);
 			}
 		}
 		if (!OVRManager._wasUserPresent && this.isUserPresent)
@@ -463,7 +475,7 @@ public class OVRManager : MonoBehaviour
 			}
 			catch (Exception arg4)
 			{
-				Debug.LogError("Caught Exception: " + arg4);
+				UnityEngine.Debug.LogError("Caught Exception: " + arg4);
 			}
 		}
 		OVRManager._wasUserPresent = this.isUserPresent;
@@ -479,7 +491,7 @@ public class OVRManager : MonoBehaviour
 			}
 			catch (Exception arg5)
 			{
-				Debug.LogError("Caught Exception: " + arg5);
+				UnityEngine.Debug.LogError("Caught Exception: " + arg5);
 			}
 		}
 		if (!OVRManager._hadVrFocus && OVRManager.hasVrFocus)
@@ -493,7 +505,7 @@ public class OVRManager : MonoBehaviour
 			}
 			catch (Exception arg6)
 			{
-				Debug.LogError("Caught Exception: " + arg6);
+				UnityEngine.Debug.LogError("Caught Exception: " + arg6);
 			}
 		}
 		OVRManager._hadVrFocus = OVRManager.hasVrFocus;
@@ -529,7 +541,7 @@ public class OVRManager : MonoBehaviour
 			}
 			catch (Exception arg7)
 			{
-				Debug.LogError("Caught Exception: " + arg7);
+				UnityEngine.Debug.LogError("Caught Exception: " + arg7);
 			}
 			OVRManager.prevAudioOutId = audioOutId;
 		}
@@ -550,7 +562,7 @@ public class OVRManager : MonoBehaviour
 			}
 			catch (Exception arg8)
 			{
-				Debug.LogError("Caught Exception: " + arg8);
+				UnityEngine.Debug.LogError("Caught Exception: " + arg8);
 			}
 			OVRManager.prevAudioInId = audioInId;
 		}
@@ -565,7 +577,7 @@ public class OVRManager : MonoBehaviour
 			}
 			catch (Exception arg9)
 			{
-				Debug.LogError("Caught Exception: " + arg9);
+				UnityEngine.Debug.LogError("Caught Exception: " + arg9);
 			}
 		}
 		if (!OVRManager.wasPositionTracked && OVRManager.tracker.isPositionTracked)
@@ -579,7 +591,7 @@ public class OVRManager : MonoBehaviour
 			}
 			catch (Exception arg10)
 			{
-				Debug.LogError("Caught Exception: " + arg10);
+				UnityEngine.Debug.LogError("Caught Exception: " + arg10);
 			}
 		}
 		OVRManager.wasPositionTracked = OVRManager.tracker.isPositionTracked;

+ 2 - 1
Assembly-CSharp/OVROverlay.cs

@@ -104,8 +104,9 @@ public class OVROverlay : MonoBehaviour
 		Vector3 lossyScale = base.transform.lossyScale;
 		for (int j = 0; j < 3; j++)
 		{
+			ref Vector3 ptr = ref lossyScale;
 			int index;
-			lossyScale[index = j] = lossyScale[index] / Camera.current.transform.lossyScale[j];
+			lossyScale[index = j] = ptr[index] / Camera.current.transform.lossyScale[j];
 		}
 		if (this.currentOverlayShape == OVROverlay.OverlayShape.Cubemap)
 		{

+ 2 - 0
Assembly-CSharp/OVRTouchpad.cs

@@ -1,8 +1,10 @@
 using System;
+using System.Diagnostics;
 using UnityEngine;
 
 public static class OVRTouchpad
 {
+	[DebuggerBrowsable(DebuggerBrowsableState.Never)]
 	public static event EventHandler TouchHandler;
 
 	public static void Create()

+ 4 - 4
Assembly-CSharp/ObjectCreateWindow.cs

@@ -37,7 +37,7 @@ public class ObjectCreateWindow : BaseMaidPhotoWindow
 		EventDelegate.Add(this.selectTextureButton.onClick, new EventDelegate.Callback(this.OnClickSelectTextureButton));
 		if (this.typeSelectPopupList != null)
 		{
-			EventDelegate.Add(this.typeSelectPopupList.onChange, delegate
+			EventDelegate.Add(this.typeSelectPopupList.onChange, delegate()
 			{
 				if (this.selectData == this.target_list_[0])
 				{
@@ -89,7 +89,7 @@ public class ObjectCreateWindow : BaseMaidPhotoWindow
 				this.selectData.customObject.textureColor = setColor;
 			}
 		});
-		EventDelegate.Add(this.planeBackDrawPopupList.onChange, delegate
+		EventDelegate.Add(this.planeBackDrawPopupList.onChange, delegate()
 		{
 			if (this.selectData != null && this.selectData.customObject.type == BasePhotoCustomObject.Type.Plane)
 			{
@@ -105,7 +105,7 @@ public class ObjectCreateWindow : BaseMaidPhotoWindow
 				(this.selectData.customObject as PhotoCustomObjectPlane).backRenderingType = backRenderingType;
 			}
 		});
-		EventDelegate.Add(this.sphereBackDrawPopupList.onChange, delegate
+		EventDelegate.Add(this.sphereBackDrawPopupList.onChange, delegate()
 		{
 			if (this.selectData != null && this.selectData.customObject.type == BasePhotoCustomObject.Type.Sphere)
 			{
@@ -394,7 +394,7 @@ public class ObjectCreateWindow : BaseMaidPhotoWindow
 		gameObject.GetComponentInChildren<UILabel>().text = gameObject.name;
 		UIWFTabButton component = gameObject.GetComponent<UIWFTabButton>();
 		this.buttonDic.Add(component.GetHashCode(), target);
-		EventDelegate.Add(component.onSelect, delegate
+		EventDelegate.Add(component.onSelect, delegate()
 		{
 			if (!UIWFSelectButton.current.isSelected)
 			{

+ 2 - 2
Assembly-CSharp/ObjectManagerWindow.cs

@@ -18,7 +18,7 @@ public class ObjectManagerWindow : BaseMaidPhotoWindow
 				this.select_trans_target_.obj.SetActive(check_box.check);
 			}
 		});
-		EventDelegate.Add(this.RemoveButton.onClick, delegate
+		EventDelegate.Add(this.RemoveButton.onClick, delegate()
 		{
 			if (this.select_trans_target_.obj == null || this.select_trans_target_.type == PhotoTransTargetObject.Type.BG)
 			{
@@ -409,7 +409,7 @@ public class ObjectManagerWindow : BaseMaidPhotoWindow
 		gameObject.name = target.guid.ToString();
 		gameObject.GetComponentInChildren<UILabel>().text = target.draw_name;
 		UIWFTabButton component = gameObject.GetComponent<UIWFTabButton>();
-		EventDelegate.Add(component.onSelect, delegate
+		EventDelegate.Add(component.onSelect, delegate()
 		{
 			if (!UIWFSelectButton.current.isSelected)
 			{

+ 2 - 2
Assembly-CSharp/OnaholeBaseNodeMenuManager.cs

@@ -72,7 +72,7 @@ public class OnaholeBaseNodeMenuManager : MonoBehaviour
 	{
 		get
 		{
-			return this.isInputEnabled && base.gameObject.activeInHierarchy && YotogiManager.instans.inputCBLEnterKey;
+			return this.isInputEnabled && base.gameObject.activeInHierarchy && YotogiManager.instans.inputCBLCancelKey;
 		}
 	}
 
@@ -80,7 +80,7 @@ public class OnaholeBaseNodeMenuManager : MonoBehaviour
 	{
 		get
 		{
-			return this.isInputEnabled && base.gameObject.activeInHierarchy && YotogiManager.instans.inputCBLCancelKey;
+			return this.isInputEnabled && base.gameObject.activeInHierarchy && YotogiManager.instans.inputCBLEnterKey;
 		}
 	}
 

+ 96 - 0
Assembly-CSharp/OnaholeChuBlipDevice.cs

@@ -12,6 +12,26 @@ public class OnaholeChuBlipDevice : MonoBehaviour
 
 	public long rawArrowLeft { get; private set; }
 
+	public long beforeRawArrowUp { get; private set; }
+
+	public long beforeRawArrowDown { get; private set; }
+
+	public long beforeRawArrowRight { get; private set; }
+
+	public long beforeRawArrowLeft { get; private set; }
+
+	public float arrowKeyFierceRate
+	{
+		get
+		{
+			return this.m_ArrowKeyFierceRate;
+		}
+		private set
+		{
+			this.m_ArrowKeyFierceRate = Mathf.Clamp(value, 0f, 1f);
+		}
+	}
+
 	public float arrowUp
 	{
 		get
@@ -84,6 +104,78 @@ public class OnaholeChuBlipDevice : MonoBehaviour
 		}
 	}
 
+	public float beforeArrowUp
+	{
+		get
+		{
+			return (float)this.beforeRawArrowUp * 1.52590219E-05f;
+		}
+	}
+
+	public float beforeArrowDown
+	{
+		get
+		{
+			return (float)this.beforeRawArrowDown * 1.52590219E-05f;
+		}
+	}
+
+	public float beforeArrowRight
+	{
+		get
+		{
+			return (float)this.beforeRawArrowRight * 1.52590219E-05f;
+		}
+	}
+
+	public float beforeArrowLeft
+	{
+		get
+		{
+			return (float)this.beforeRawArrowLeft * 1.52590219E-05f;
+		}
+	}
+
+	public long beforeRawVertical
+	{
+		get
+		{
+			return this.beforeRawArrowUp - this.beforeRawArrowDown;
+		}
+	}
+
+	public long beforeRawHorizontal
+	{
+		get
+		{
+			return this.beforeRawArrowRight - this.beforeRawArrowLeft;
+		}
+	}
+
+	public float beforeVertical
+	{
+		get
+		{
+			return (float)this.beforeRawVertical * 1.52590219E-05f;
+		}
+	}
+
+	public float beforeHorizontal
+	{
+		get
+		{
+			return (float)this.beforeRawHorizontal * 1.52590219E-05f;
+		}
+	}
+
+	public Vector2 beforeInputVec
+	{
+		get
+		{
+			return new Vector2(this.beforeVertical, this.beforeHorizontal);
+		}
+	}
+
 	private Dictionary<string, float> data_dic_ = new Dictionary<string, float>();
 
 	private float insertDepth;
@@ -122,5 +214,9 @@ public class OnaholeChuBlipDevice : MonoBehaviour
 
 	private bool beforeButtonC;
 
+	private float m_ArrowKeyFierceRate;
+
 	public const float RECIPROCAL_ARROW_VALUE = 1.52590219E-05f;
+
+	public static readonly float ArrowThreshold = 0.5f;
 }

+ 4 - 0
Assembly-CSharp/OnaholeMotion.cs

@@ -110,6 +110,7 @@ public class OnaholeMotion : MonoBehaviour
 
 	public bool nextModePermit;
 
+	[Obsolete]
 	public bool nextModePermitHarf;
 
 	public string blendAnimeName = string.Empty;
@@ -119,6 +120,7 @@ public class OnaholeMotion : MonoBehaviour
 	public float blendPlugMultiple;
 
 	[SerializeField]
+	[Obsolete]
 	public float blendStopTime;
 
 	public List<string> loadedAnimeList = new List<string>();
@@ -184,8 +186,10 @@ public class OnaholeMotion : MonoBehaviour
 
 	private class BlendAnimeData
 	{
+		[Obsolete]
 		public string key = string.Empty;
 
+		[Obsolete]
 		public MaidTouch.POINT point;
 
 		public AnimationState start;

+ 3 - 3
Assembly-CSharp/OnaholeNodeMenuChildSecondRow.cs

@@ -82,7 +82,7 @@ public class OnaholeNodeMenuChildSecondRow : OnaholeBaseNodeMenuManager
 
 	private void CallCostumeSetting()
 	{
-		Action enterEvent = delegate
+		Action enterEvent = delegate()
 		{
 			UndressingManager.UndressingData undressingData = this.nodeMenuManager.undressingManager.GetUndressingData((UndressingManager.UnitType)Enum.Parse(typeof(UndressingManager.UnitType), base.selectedNodeButton.button.uniqueName));
 			this.nodeMenuManager.undressingManager.OnClickButton(undressingData);
@@ -158,7 +158,7 @@ public class OnaholeNodeMenuChildSecondRow : OnaholeBaseNodeMenuManager
 
 	private void CallGeneralBoolControl(bool currentValue)
 	{
-		Action enterEvent = delegate
+		Action enterEvent = delegate()
 		{
 			this.OnCancelMenu();
 		};
@@ -171,7 +171,7 @@ public class OnaholeNodeMenuChildSecondRow : OnaholeBaseNodeMenuManager
 
 	private void CallYotogiEnd()
 	{
-		Action enterEvent = delegate
+		Action enterEvent = delegate()
 		{
 			if (bool.Parse(base.selectedNodeButton.button.uniqueName))
 			{

+ 2 - 207
Assembly-CSharp/OtherCommandShortcut.cs

@@ -1,219 +1,14 @@
 using System;
-using System.Collections.Generic;
 using UnityEngine;
-using UnityEngine.Events;
-using UnityEngine.UI;
 
 public class OtherCommandShortcut : MonoBehaviour
 {
-	public bool IsLeftHand
-	{
-		get
-		{
-			return this.m_IsLeftHand;
-		}
-		set
-		{
-			this.m_IsLeftHand = value;
-		}
-	}
-
-	public AVRController controller
-	{
-		get
-		{
-			return this.m_Controller;
-		}
-		private set
-		{
-			this.m_Controller = value;
-		}
-	}
-
-	private CircleListSelectUI circleList
-	{
-		get
-		{
-			return this.m_CircleList;
-		}
-		set
-		{
-			this.m_CircleList = value;
-		}
-	}
-
-	public bool isEnableHandUI
-	{
-		get
-		{
-			return this.circleList != null && this.circleList.gameObject.activeSelf;
-		}
-		set
-		{
-			if (this.circleList != null && this.circleList.gameObject.activeSelf != value)
-			{
-				this.circleList.gameObject.SetActive(value);
-			}
-		}
-	}
-
-	public void Init(bool isLeftHand)
-	{
-		this.IsLeftHand = isLeftHand;
-		Debug.Log("初期化:様々なショートカットを行う手元UI");
-		this.controller = ((!isLeftHand) ? GameMain.Instance.OvrMgr.ovr_obj.right_controller.controller : GameMain.Instance.OvrMgr.ovr_obj.left_controller.controller);
-		this.InitCircleUI();
-	}
-
-	private void InitCircleUI()
-	{
-		string text = "OVR/CircleCommandUI/HandSignDataShortcut(Cotroller)";
-		GameObject gameObject = Resources.Load<GameObject>(text);
-		if (gameObject == null)
-		{
-			NDebug.Assert("[HandSignShortcut] " + text + "\nプレハブが見つかりません", false);
-		}
-		GameObject gameObject2 = UnityEngine.Object.Instantiate<GameObject>(gameObject);
-		this.circleList = gameObject2.GetComponent<CircleListSelectUI>();
-		this.m_ItemList = new List<KeyValuePair<string, Action<OtherCommandShortcut.ItemData>>>();
-		this.m_ItemList.Add(new KeyValuePair<string, Action<OtherCommandShortcut.ItemData>>("撮影", delegate(OtherCommandShortcut.ItemData itemData)
-		{
-			GameMain.Instance.OvrIK.SelfShotCam();
-		}));
-		this.m_ItemList.Add(new KeyValuePair<string, Action<OtherCommandShortcut.ItemData>>((!GameMain.Instance.OvrIK.EyeToCam) ? "カメラ視線OFF" : "カメラ視線ON", delegate(OtherCommandShortcut.ItemData itemData)
-		{
-			GameMain.Instance.OvrIK.EyeToCam = !GameMain.Instance.OvrIK.EyeToCam;
-			if (GameMain.Instance.OvrIK.EyeToCam)
-			{
-				itemData.text.text = "カメラ視線ON";
-			}
-			else
-			{
-				itemData.text.text = "カメラ視線OFF";
-			}
-		}));
-		this.CreateItemList();
-		CircleCommandUI circleCommandUI = this.circleList.circleCommandUI;
-		circleCommandUI.onSelect.AddListener(new UnityAction<GameObject>(this.OnSelectItem));
-		circleCommandUI.onDeselect.AddListener(new UnityAction<GameObject>(this.OnDeselectItem));
-		circleCommandUI.onDecide.AddListener(new UnityAction<GameObject>(this.OnDecide));
-		this.circleList.controller = this.controller;
-		Transform transform = gameObject2.transform;
-		transform.SetParent(base.transform);
-		transform.localPosition = Vector3.zero;
-		transform.localRotation = Quaternion.identity;
-		transform.localScale = Vector3.one;
-		Vector3 b = new Vector3(0.03f, 0.15f, -0.05f);
-		Vector3 localEulerAngles = new Vector3(35f, 15f, 0f);
-		if (this.IsLeftHand)
-		{
-			b.Scale(new Vector3(-1f, 1f, 1f));
-			localEulerAngles.Scale(new Vector3(1f, -1f, -1f));
-		}
-		transform.localPosition += b;
-		transform.localEulerAngles = localEulerAngles;
-		GameObject childObject = UTY.GetChildObject(this.circleList.gameObject, "CircleCommandUI/text right hand", false);
-		childObject.GetComponent<Text>().text = ((!this.IsLeftHand) ? "右" : "左");
-	}
-
-	private void CreateItemList()
-	{
-		CircleCommandUI circleCommandUI = this.circleList.circleCommandUI;
-		circleCommandUI.Show<Transform>(this.m_ItemList.Count, delegate(int index, Transform trans)
-		{
-			Text componentInChildren = trans.GetComponentInChildren<Text>();
-			trans.localScale = Vector3.one * 0.5f;
-			OtherCommandShortcut.ItemData itemData = trans.gameObject.AddComponent<OtherCommandShortcut.ItemData>();
-			itemData.text = componentInChildren;
-			KeyValuePair<string, Action<OtherCommandShortcut.ItemData>> keyValuePair = this.m_ItemList[index];
-			itemData.text.text = keyValuePair.Key;
-			itemData.onDecide = keyValuePair.Value;
-		});
-	}
+	public bool isEnableHandUI { get; set; }
 
-	private void OnSelectItem(GameObject item)
+	public void Init(bool b)
 	{
-		if (item == null)
-		{
-			return;
-		}
-		Graphic component = item.GetComponent<Graphic>();
-		if (component != null)
-		{
-			component.color = Color.red;
-		}
-		item.transform.localScale = Vector3.one;
-		item.transform.SetAsLastSibling();
-	}
-
-	private void OnDeselectItem(GameObject item)
-	{
-		if (item == null)
-		{
-			return;
-		}
-		Graphic component = item.GetComponent<Graphic>();
-		if (component != null)
-		{
-			Color white = Color.white;
-			white.a = 0.5f;
-			component.color = white;
-		}
-		item.transform.localScale = Vector3.one * 0.5f;
-	}
-
-	private void OnDecide(GameObject selectItem)
-	{
-		if (selectItem == null)
-		{
-			Debug.LogWarning("選択項目にnullが入った");
-			return;
-		}
-		this.OnDeselectItem(selectItem);
-		if (!ControllerShortcutSettingData.config.isEveryShowMode)
-		{
-			this.m_CircleList.SetActiveUI(false);
-		}
-		OtherCommandShortcut.ItemData component = selectItem.GetComponent<OtherCommandShortcut.ItemData>();
-		if (component != null && component.onDecide != null)
-		{
-			component.onDecide(component);
-		}
-	}
-
-	private void OnApplicationQuit()
-	{
-		this.m_IsQuitting = true;
-	}
-
-	private void OnDestroy()
-	{
-		if (this.m_IsQuitting)
-		{
-			return;
-		}
-		if (this.circleList != null && this.circleList.gameObject != null)
-		{
-			UnityEngine.Object.Destroy(this.circleList.gameObject);
-			Debug.Log("[OtherCommandShortcut] コントローラについているUIを破棄しました");
-		}
 	}
 
 	[SerializeField]
 	private CircleListSelectUI m_CircleList;
-
-	private bool m_IsLeftHand;
-
-	private AVRController m_Controller;
-
-	private List<KeyValuePair<string, Action<OtherCommandShortcut.ItemData>>> m_ItemList;
-
-	private bool m_IsQuitting;
-
-	private class ItemData : MonoBehaviour
-	{
-		public Action<OtherCommandShortcut.ItemData> onDecide { get; set; }
-
-		public Text text { get; set; }
-	}
 }

+ 37 - 2
Assembly-CSharp/OvrIK.cs

@@ -322,6 +322,10 @@ public class OvrIK : MonoBehaviour
 			GameMain.Instance.OvrMgr.OvrCamera.HandVRIKMode = false;
 			GameObject obj = this.m_maid.body0.GetSlot(1).obj;
 			this.LayerCheck(obj, LayerMask.NameToLayer("Charactor"));
+			GameObject obj2 = this.m_maid.body0.GetSlot(36).obj;
+			this.LayerCheck(obj2, LayerMask.NameToLayer("Charactor"));
+			GameObject obj3 = this.m_maid.body0.GetSlot(17).obj;
+			this.LayerCheck(obj3, LayerMask.NameToLayer("Charactor"));
 			Animation componentInChildren = this.m_maid.GetComponentInChildren<Animation>();
 			if (componentInChildren != null)
 			{
@@ -782,6 +786,7 @@ public class OvrIK : MonoBehaviour
 				this.m_trTargetOffsHeadTracker.SetParent(transform9, true);
 				this.m_ik.solver.spine.headTarget = this.m_trTargetOffsHeadTracker;
 				trackingObjects.Remove(transform);
+				this.CheckHeadIsTracker();
 			}
 			if (num <= trackingObjects.Count)
 			{
@@ -907,6 +912,33 @@ public class OvrIK : MonoBehaviour
 		this.m_trTargetOffsFootR.position += (this.m_trTargetOffsFootRVecY.position - this.m_trTargetOffsFootR.position).normalized * d;
 	}
 
+	private void CheckHeadIsTracker()
+	{
+		bool flag = this.m_ik.solver.spine.headTarget == this.m_trTargetOffsHeadTracker;
+		if (flag != this.m_isHeadIsTracker)
+		{
+			if (flag)
+			{
+				GameObject obj = this.m_maid.body0.GetSlot(1).obj;
+				this.LayerCheck(obj, LayerMask.NameToLayer("Charactor"));
+				GameObject obj2 = this.m_maid.body0.GetSlot(36).obj;
+				this.LayerCheck(obj2, LayerMask.NameToLayer("Charactor"));
+				GameObject obj3 = this.m_maid.body0.GetSlot(17).obj;
+				this.LayerCheck(obj3, LayerMask.NameToLayer("Charactor"));
+			}
+			else
+			{
+				GameObject obj4 = this.m_maid.body0.GetSlot(1).obj;
+				this.LayerCheck(obj4, LayerMask.NameToLayer("Face"));
+				GameObject obj5 = this.m_maid.body0.GetSlot(36).obj;
+				this.LayerCheck(obj5, LayerMask.NameToLayer("Face"));
+				GameObject obj6 = this.m_maid.body0.GetSlot(17).obj;
+				this.LayerCheck(obj6, LayerMask.NameToLayer("Face"));
+			}
+			this.m_isHeadIsTracker = flag;
+		}
+	}
+
 	private void OnDisable()
 	{
 		this.Finish();
@@ -1012,6 +1044,7 @@ public class OvrIK : MonoBehaviour
 					this.m_goMoni.SetActive(!this.m_goMoni.activeSelf);
 				}
 			}
+			this.CheckHeadIsTracker();
 			if (this.m_trEyeTarget != null && this.m_maid != null)
 			{
 				Transform realHeadTransform = GameMain.Instance.OvrMgr.OvrCamera.GetRealHeadTransform();
@@ -1382,6 +1415,8 @@ public class OvrIK : MonoBehaviour
 
 	private AMTween[] m_aryBackAMTween;
 
+	private bool m_isHeadIsTracker;
+
 	private Vector3 m_vFootDefOffsLocalL;
 
 	private Vector3 m_vFootDefOffsLocalR;
@@ -1403,7 +1438,7 @@ public class OvrIK : MonoBehaviour
 	{
 		public void OnBeforeSerialize()
 		{
-			this.m_nVersion = 1160;
+			this.m_nVersion = 1170;
 		}
 
 		public void OnAfterDeserialize()
@@ -1463,7 +1498,7 @@ public class OvrIK : MonoBehaviour
 		private const string CONF_NAME = "OvrIK.json";
 
 		[SerializeField]
-		private int m_nVersion = 1160;
+		private int m_nVersion = 1170;
 
 		[SerializeField]
 		private float solver_locomotion_weight = 1f;

+ 4 - 1
Assembly-CSharp/OvrMgr.cs

@@ -129,7 +129,10 @@ public class OvrMgr : MonoBehaviour
 		UICamera[] array = UnityEngine.Object.FindObjectsOfType<UICamera>();
 		for (int i = 0; i < array.Length; i++)
 		{
-			array[i].GetComponent<Camera>().targetTexture = this.m_rtRTarget;
+			if (!array[i].VRExclusionUI)
+			{
+				array[i].GetComponent<Camera>().targetTexture = this.m_rtRTarget;
+			}
 		}
 		GameObject gameObject3 = GameObject.Find("UI Root");
 		if (gameObject3 != null)

+ 8 - 0
Assembly-CSharp/PhotoFaceData.cs

@@ -59,6 +59,14 @@ public class PhotoFaceData
 		}
 	}
 
+	public string termName
+	{
+		get
+		{
+			return "ScenePhotoMode/表情タイプ/" + this.name.TrimEnd(new char[0]);
+		}
+	}
+
 	public void Apply(Maid maid)
 	{
 		if (maid == null || maid.body0 == null || maid.body0.m_Bones == null || maid.IsBusy)

+ 0 - 428
Assembly-CSharp/PhotoFaceDataShortcut.cs

@@ -1,436 +1,8 @@
 using System;
-using System.Collections.Generic;
 using UnityEngine;
-using UnityEngine.Events;
-using UnityEngine.UI;
 
 public class PhotoFaceDataShortcut : MonoBehaviour
 {
-	public List<PhotoFaceDataShortcut.ItemData> itemDataList
-	{
-		get
-		{
-			return this.m_ItemDataList;
-		}
-	}
-
-	public bool IsLeftHand
-	{
-		get
-		{
-			return this.m_IsLeftHand;
-		}
-		set
-		{
-			this.m_IsLeftHand = value;
-		}
-	}
-
-	public void Init(bool isLeftHand)
-	{
-		this.m_IsLeftHand = isLeftHand;
-		CircleCommandUI circleCommandUI = this.m_CircleList.circleCommandUI;
-		circleCommandUI.onSelect.AddListener(new UnityAction<GameObject>(this.OnSelectItem));
-		circleCommandUI.onDeselect.AddListener(new UnityAction<GameObject>(this.OnDeselectItem));
-		circleCommandUI.onDecide.AddListener(new UnityAction<GameObject>(this.OnDecide));
-		this.m_CircleList.controller = ((!isLeftHand) ? GameMain.Instance.OvrMgr.ovr_obj.right_controller.controller : GameMain.Instance.OvrMgr.ovr_obj.left_controller.controller);
-		this.m_CircleList.SetActiveUI(true);
-		GameObject childObject = UTY.GetChildObject(base.gameObject, "CircleCommandUI/text right hand", false);
-		childObject.GetComponent<Text>().text = ((!isLeftHand) ? "右" : "左");
-	}
-
-	public void CreateItemList(int count)
-	{
-		CircleCommandUI circleCommandUI = this.m_CircleList.circleCommandUI;
-		GameObject tempItem = circleCommandUI.listViewer.tempItem;
-		Transform transform = tempItem.transform;
-		transform.localScale = Vector3.one * 0.5f;
-		this.itemDataList.Clear();
-		PhotoFaceData.Create();
-		circleCommandUI.Show<Transform>(count, delegate(int index, Transform trans)
-		{
-			Text componentInChildren = trans.GetComponentInChildren<Text>();
-			PhotoFaceDataShortcut.ItemData itemData = trans.gameObject.AddComponent<PhotoFaceDataShortcut.ItemData>();
-			itemData.handController = this;
-			itemData.index = index;
-			itemData.text = componentInChildren;
-			this.itemDataList.Add(itemData);
-		});
-		ControllerShortcutSettingData.LoadDefault();
-		if (this.m_IsLeftHand)
-		{
-			List<PhotoFaceDataShortcut.FaceData> faceListLeft = ControllerShortcutSettingData.config.faceListLeft;
-			for (int i = 0; i < faceListLeft.Count; i++)
-			{
-				if (i < this.itemDataList.Count)
-				{
-					this.itemDataList[i].faceData = faceListLeft[i];
-				}
-			}
-		}
-		else
-		{
-			List<PhotoFaceDataShortcut.FaceData> faceListRight = ControllerShortcutSettingData.config.faceListRight;
-			for (int j = 0; j < faceListRight.Count; j++)
-			{
-				if (j < this.itemDataList.Count)
-				{
-					this.itemDataList[j].faceData = faceListRight[j];
-				}
-			}
-		}
-	}
-
-	private void OnSelectItem(GameObject item)
-	{
-		if (item == null)
-		{
-			return;
-		}
-		Graphic component = item.GetComponent<Graphic>();
-		if (component != null)
-		{
-			component.color = Color.red;
-		}
-		item.transform.localScale = Vector3.one;
-		item.transform.SetAsLastSibling();
-		if (ControllerShortcutSettingData.config.isDirectMode)
-		{
-			PhotoFaceDataShortcut.ItemData component2 = item.GetComponent<PhotoFaceDataShortcut.ItemData>();
-			if (component2 != null)
-			{
-				this.ApplyMaidFace(this.GetMaid(), component2);
-			}
-		}
-	}
-
-	private void OnDeselectItem(GameObject item)
-	{
-		if (item == null)
-		{
-			return;
-		}
-		Graphic component = item.GetComponent<Graphic>();
-		if (component != null)
-		{
-			Color white = Color.white;
-			white.a = 0.5f;
-			component.color = white;
-		}
-		item.transform.localScale = Vector3.one * 0.5f;
-	}
-
-	private void OnDecide(GameObject selectItem)
-	{
-		if (selectItem == null)
-		{
-			Debug.LogWarning("選択項目にnullが入った");
-			return;
-		}
-		this.OnDeselectItem(selectItem);
-		if (!ControllerShortcutSettingData.config.isEveryShowMode)
-		{
-			this.m_CircleList.SetActiveUI(false);
-		}
-		if (ControllerShortcutSettingData.config.isDirectMode)
-		{
-			return;
-		}
-		PhotoFaceDataShortcut.ItemData component = selectItem.GetComponent<PhotoFaceDataShortcut.ItemData>();
-		if (component != null)
-		{
-			this.ApplyMaidFace(this.GetMaid(), component);
-		}
-	}
-
-	private void ApplyMaidFace(Maid maid, PhotoFaceDataShortcut.ItemData itemData)
-	{
-		if (itemData == null || itemData.data == null)
-		{
-			Debug.Log("表情データにnullが指定されました。");
-			return;
-		}
-		if (maid == null)
-		{
-			Debug.Log("メイドにnullが指定されました。");
-			return;
-		}
-		maid.FaceAnime(itemData.data.setting_name, 0.5f, 0);
-		maid.body0.Face.morph.SetValueOriginalBlendSet(itemData.blendType);
-		maid.FaceBlend("オリジナル");
-		maid.OpenMouth(itemData.isOpenMouth);
-		Debug.Log(string.Concat(new object[]
-		{
-			"基本表情:",
-			itemData.data.name,
-			"\n追加表情:",
-			itemData.blendType
-		}));
-	}
-
-	public void Emulate(PhotoFaceDataShortcut.ItemData itemData)
-	{
-		if (!this.itemDataList.Contains(itemData))
-		{
-			Debug.Log("コントローラ上に存在しないデータを選んだ");
-			return;
-		}
-		this.ApplyMaidFace(this.GetMaid(), itemData);
-	}
-
-	private Maid GetMaid()
-	{
-		CharacterMgr characterMgr = GameMain.Instance.CharacterMgr;
-		return characterMgr.GetMaid(0);
-	}
-
 	[SerializeField]
 	private CircleListSelectUI m_CircleList;
-
-	private List<PhotoFaceDataShortcut.ItemData> m_ItemDataList = new List<PhotoFaceDataShortcut.ItemData>();
-
-	private bool m_IsLeftHand;
-
-	[Serializable]
-	public class FaceData
-	{
-		public string dataName
-		{
-			get
-			{
-				return this.m_strData;
-			}
-		}
-
-		public PhotoFaceData data
-		{
-			get
-			{
-				return this.m_Data;
-			}
-			set
-			{
-				this.m_Data = value;
-				if (value == null)
-				{
-					this.m_strData = PhotoFaceDataShortcut.FaceData.strDataNull;
-				}
-				else
-				{
-					this.m_strData = value.setting_name;
-				}
-			}
-		}
-
-		public TMorph.AddBlendType blendType
-		{
-			get
-			{
-				return this.m_BlendType;
-			}
-			set
-			{
-				this.m_BlendType = value;
-			}
-		}
-
-		public bool isOpenMouth
-		{
-			get
-			{
-				return this.m_IsOpenMouth;
-			}
-			set
-			{
-				this.m_IsOpenMouth = value;
-			}
-		}
-
-		public static PhotoFaceDataShortcut.FaceData defaultData
-		{
-			get
-			{
-				if (PhotoFaceDataShortcut.FaceData.m_DefaultData == null)
-				{
-					PhotoFaceData.Create();
-					PhotoFaceDataShortcut.FaceData.m_DefaultData = new PhotoFaceDataShortcut.FaceData();
-					PhotoFaceDataShortcut.FaceData.m_DefaultData.data = PhotoFaceData.init_data;
-					PhotoFaceDataShortcut.FaceData.m_DefaultData.m_strData = PhotoFaceDataShortcut.FaceData.strDataNull;
-					PhotoFaceDataShortcut.FaceData.m_DefaultData.blendType = TMorph.AddBlendType.None;
-					PhotoFaceDataShortcut.FaceData.m_DefaultData.isOpenMouth = false;
-				}
-				return PhotoFaceDataShortcut.FaceData.m_DefaultData;
-			}
-		}
-
-		private PhotoFaceData m_Data;
-
-		[SerializeField]
-		private TMorph.AddBlendType m_BlendType;
-
-		[SerializeField]
-		private bool m_IsOpenMouth;
-
-		[SerializeField]
-		private string m_strData;
-
-		private static string strDataNull = "通常";
-
-		private static PhotoFaceDataShortcut.FaceData m_DefaultData;
-	}
-
-	public class ItemData : MonoBehaviour
-	{
-		public PhotoFaceDataShortcut handController { get; set; }
-
-		public int index { get; set; }
-
-		public PhotoFaceDataShortcut.FaceData faceData
-		{
-			get
-			{
-				return this.m_FaceData;
-			}
-			set
-			{
-				this.m_FaceData = value;
-				this.UpdateData();
-			}
-		}
-
-		public PhotoFaceData data
-		{
-			get
-			{
-				return this.m_FaceData.data;
-			}
-			set
-			{
-				this.m_FaceData.data = value;
-				this.UpdateText();
-				this.UpdateConfigData();
-			}
-		}
-
-		public Text text
-		{
-			get
-			{
-				return this.m_Text;
-			}
-			set
-			{
-				this.m_Text = value;
-			}
-		}
-
-		public TMorph.AddBlendType blendType
-		{
-			get
-			{
-				return this.m_FaceData.blendType;
-			}
-			set
-			{
-				this.m_FaceData.blendType = value;
-			}
-		}
-
-		public bool isOpenMouth
-		{
-			get
-			{
-				return this.m_FaceData.isOpenMouth;
-			}
-			set
-			{
-				this.m_FaceData.isOpenMouth = value;
-			}
-		}
-
-		private void UpdateText()
-		{
-			if (this.text == null)
-			{
-				return;
-			}
-			this.text.text = this.GetDataName();
-		}
-
-		public string GetDataName()
-		{
-			if (this.data == null)
-			{
-				return "無し";
-			}
-			return this.data.name;
-		}
-
-		private void UpdateConfigData()
-		{
-			if (this.handController.IsLeftHand)
-			{
-				if (ControllerShortcutSettingData.config.faceListLeft.Count <= this.index)
-				{
-					return;
-				}
-				ControllerShortcutSettingData.config.faceListLeft[this.index] = this.faceData;
-			}
-			else
-			{
-				if (ControllerShortcutSettingData.config.faceListRight.Count <= this.index)
-				{
-					return;
-				}
-				ControllerShortcutSettingData.config.faceListRight[this.index] = this.faceData;
-			}
-		}
-
-		private void UpdateData()
-		{
-			PhotoFaceDataShortcut.ItemData.CreatePhotoFaceDataNameDic();
-			int num;
-			if (PhotoFaceDataShortcut.ItemData.photoFaceDataNameDic.TryGetValue(this.faceData.dataName, out num))
-			{
-				this.data = PhotoFaceData.Get((long)num);
-			}
-			else
-			{
-				this.data = null;
-			}
-		}
-
-		private static void CreatePhotoFaceDataNameDic()
-		{
-			if (PhotoFaceDataShortcut.ItemData.m_PhotoFaceDataNameDic != null && PhotoFaceDataShortcut.ItemData.m_PhotoFaceDataNameDic.Count > 0)
-			{
-				return;
-			}
-			PhotoFaceData.Create();
-			PhotoFaceDataShortcut.ItemData.m_PhotoFaceDataNameDic = new SortedDictionary<string, int>();
-			foreach (PhotoFaceData photoFaceData in PhotoFaceData.data)
-			{
-				PhotoFaceDataShortcut.ItemData.m_PhotoFaceDataNameDic.Add(photoFaceData.setting_name, photoFaceData.id);
-			}
-		}
-
-		public static SortedDictionary<string, int> photoFaceDataNameDic
-		{
-			get
-			{
-				PhotoFaceDataShortcut.ItemData.CreatePhotoFaceDataNameDic();
-				return PhotoFaceDataShortcut.ItemData.m_PhotoFaceDataNameDic;
-			}
-			private set
-			{
-				PhotoFaceDataShortcut.ItemData.m_PhotoFaceDataNameDic = value;
-			}
-		}
-
-		private PhotoFaceDataShortcut.FaceData m_FaceData = new PhotoFaceDataShortcut.FaceData();
-
-		private Text m_Text;
-
-		private static SortedDictionary<string, int> m_PhotoFaceDataNameDic;
-	}
 }

+ 2 - 175
Assembly-CSharp/PhotoFaceDataShortcutParent.cs

@@ -3,182 +3,9 @@ using UnityEngine;
 
 public class PhotoFaceDataShortcutParent : MonoBehaviour
 {
-	public PhotoFaceDataShortcut handUI { get; private set; }
+	public bool isEnableHandUI { get; set; }
 
-	private KeyboardShortcutManager keyboardShortcut { get; set; }
-
-	public bool isLeftHand { get; private set; }
-
-	public bool isEnableHandUI
-	{
-		get
-		{
-			return this.handUI.gameObject.activeSelf;
-		}
-		set
-		{
-			if (this.handUI == null || this.handUI.gameObject == null)
-			{
-				return;
-			}
-			if (this.handUI.gameObject.activeSelf != value)
-			{
-				this.handUI.gameObject.SetActive(value);
-			}
-		}
-	}
-
-	public bool isEnableKeyboardShortcut
-	{
-		get
-		{
-			return this.keyboardShortcut.gameObject.activeSelf;
-		}
-		set
-		{
-			if (this.keyboardShortcut == null || this.keyboardShortcut.gameObject == null)
-			{
-				return;
-			}
-			if (this.keyboardShortcut.gameObject.activeSelf != value)
-			{
-				this.keyboardShortcut.gameObject.SetActive(value);
-			}
-		}
-	}
-
-	public void Init(bool isLeftHand)
-	{
-		this.isLeftHand = isLeftHand;
-		this.SetupPhotoFaceDataShortcut();
-		this.SetupKeyboardShortcutManager();
-	}
-
-	private void SetupPhotoFaceDataShortcut()
-	{
-		string text = "OVR/CircleCommandUI/PhotoFaceDataShortcut(Cotroller)";
-		GameObject gameObject = Resources.Load<GameObject>(text);
-		if (gameObject == null)
-		{
-			NDebug.Assert("[PhotoFaceDataShortcutParent] " + text + "\nプレハブが見つかりません", false);
-		}
-		GameObject gameObject2 = UnityEngine.Object.Instantiate<GameObject>(gameObject);
-		this.handUI = gameObject2.GetComponent<PhotoFaceDataShortcut>();
-		this.handUI.Init(this.isLeftHand);
-		this.handUI.CreateItemList(8);
-		Transform transform = gameObject2.transform;
-		transform.SetParent(base.transform);
-		transform.localPosition = Vector3.zero;
-		transform.localRotation = Quaternion.identity;
-		transform.localScale = Vector3.one;
-		Vector3 b = new Vector3(0.03f, 0.15f, -0.05f);
-		Vector3 localEulerAngles = new Vector3(35f, 15f, 0f);
-		if (this.isLeftHand)
-		{
-			b.Scale(new Vector3(-1f, 1f, 1f));
-			localEulerAngles.Scale(new Vector3(1f, -1f, -1f));
-		}
-		transform.localPosition += b;
-		transform.localEulerAngles = localEulerAngles;
-	}
-
-	private void SetupKeyboardShortcutManager()
-	{
-		if (!this.isLeftHand)
-		{
-			return;
-		}
-		this.keyboardShortcut = new GameObject("Keyboard Shortcut").AddComponent<KeyboardShortcutManager>();
-		this.keyboardShortcut.transform.SetParent(base.transform, false);
-		for (int i = 0; i < this.handUI.itemDataList.Count; i++)
-		{
-			int index = i;
-			this.keyboardShortcut.AddKeyData(base.gameObject, KeyCode.Alpha1 + i, delegate
-			{
-				this.OnKeyDownShortcut(this.handUI, index);
-			}, delegate
-			{
-				this.OnKeyStayShortcut(this.handUI, index);
-			}, delegate
-			{
-				this.OnKeyUpShortcut(this.handUI, index);
-			});
-		}
-	}
-
-	private void OnKeyDownShortcut(PhotoFaceDataShortcut shortcutController, int index)
-	{
-		if (ControllerShortcutSettingData.config.isDirectMode)
-		{
-			if (shortcutController.itemDataList.Count <= index)
-			{
-				return;
-			}
-			PhotoFaceDataShortcut.ItemData itemData = shortcutController.itemDataList[index];
-			if (itemData == null || itemData.data == null)
-			{
-				return;
-			}
-			shortcutController.Emulate(itemData);
-		}
-	}
-
-	private void OnKeyStayShortcut(PhotoFaceDataShortcut shortcutController, int index)
-	{
-	}
-
-	private void OnKeyUpShortcut(PhotoFaceDataShortcut shortcutController, int index)
+	public void Init(bool b)
 	{
-		if (!ControllerShortcutSettingData.config.isDirectMode)
-		{
-			if (shortcutController.itemDataList.Count <= index)
-			{
-				Debug.LogWarning("[表情ショートカット]コントローラのショートカット範囲外のインデックスが指定された。");
-				return;
-			}
-			PhotoFaceDataShortcut.ItemData itemData = shortcutController.itemDataList[index];
-			if (itemData == null || itemData.data == null)
-			{
-				Debug.Log("[表情ショートカット]コントローラのショートカット対応のキーが押されたが、表情データはnullだった。");
-				return;
-			}
-			shortcutController.Emulate(itemData);
-		}
-		else
-		{
-			foreach (PhotoFaceDataShortcut.ItemData itemData2 in shortcutController.itemDataList)
-			{
-				if (!(itemData2 == null) && itemData2.data != null)
-				{
-					shortcutController.Emulate(itemData2);
-					break;
-				}
-			}
-		}
 	}
-
-	private void OnApplicationQuit()
-	{
-		this.m_IsQuitting = true;
-	}
-
-	private void OnDestroy()
-	{
-		if (this.m_IsQuitting)
-		{
-			return;
-		}
-		if (this.handUI != null && this.handUI.gameObject != null)
-		{
-			UnityEngine.Object.Destroy(this.handUI.gameObject);
-			Debug.Log("[PhotoFaceDataShortcutParent] コントローラについているUIを破棄しました");
-		}
-		if (this.keyboardShortcut != null && this.keyboardShortcut.gameObject != null)
-		{
-			UnityEngine.Object.Destroy(this.keyboardShortcut.gameObject);
-			Debug.Log("[PhotoFaceDataShortcutParent] キーボード入力のショートカット管理クラスを破棄しました");
-		}
-	}
-
-	private bool m_IsQuitting;
 }

+ 0 - 396
Assembly-CSharp/PhotoFaceDataShortcutSetter.cs

@@ -1,375 +1,8 @@
 using System;
-using System.Collections;
-using System.Collections.Generic;
-using Kasizuki;
 using UnityEngine;
 
 public class PhotoFaceDataShortcutSetter : MonoBehaviour
 {
-	public float fadeSpeed
-	{
-		get
-		{
-			return this.m_FadeSpeed;
-		}
-		set
-		{
-			this.m_FadeSpeed = Mathf.Clamp(value, 0.001f, 1f);
-		}
-	}
-
-	private PhotoFaceDataShortcut targetControllerRight { get; set; }
-
-	private PhotoFaceDataShortcut targetControllerLeft { get; set; }
-
-	private PhotoFaceDataShortcut.ItemData nowSelectItem
-	{
-		get
-		{
-			return this.m_NowSelectItem;
-		}
-		set
-		{
-			this.m_NowSelectItem = value;
-		}
-	}
-
-	public void Init(PhotoFaceDataShortcut rightHandUI, PhotoFaceDataShortcut LeftHandUI)
-	{
-		this.m_FadeWindowShortcutButtonsRight = this.m_ButtonListShortcutRight.GetComponent<NGUIWindow>();
-		this.m_FadeWindowShortcutButtonsLeft = this.m_ButtonListShortcutLeft.GetComponent<NGUIWindow>();
-		this.m_FadeWindowFaceDataList = this.m_WindowListFaceData.GetComponent<NGUIWindow>();
-		this.targetControllerRight = rightHandUI;
-		this.targetControllerLeft = LeftHandUI;
-		PhotoFaceData.Create();
-		List<PhotoFaceData> data2 = PhotoFaceData.data;
-		ListViewerWindow windowListFaceData = this.m_WindowListFaceData;
-		windowListFaceData.Show<PhotoFaceData, UIWFTabButton>(data2, delegate(int index, PhotoFaceData data, UIWFTabButton item)
-		{
-			UILabel componentInChildren = item.GetComponentInChildren<UILabel>();
-			componentInChildren.text = data.name;
-			EventDelegate.Add(item.onClick, delegate
-			{
-				this.OnClickData(data);
-			});
-		});
-		UIWFTabPanel component = windowListFaceData.viewer.parentItemArea.GetComponent<UIWFTabPanel>();
-		if (component)
-		{
-			component.UpdateChildren();
-		}
-		this.m_ButtonListShortcutRight.Show<Transform>(this.targetControllerRight.itemDataList.Count, delegate(int index, Transform trans)
-		{
-			PhotoFaceDataShortcut.ItemData data = this.targetControllerRight.itemDataList[index];
-			UILabel componentInChildren = trans.GetComponentInChildren<UILabel>();
-			UIButton componentInChildren2 = trans.GetComponentInChildren<UIButton>();
-			componentInChildren.text = data.GetDataName();
-			EventDelegate.Add(componentInChildren2.onClick, delegate
-			{
-				this.OnClickShortcutButton(data);
-			});
-			PhotoFaceDataShortcutSetter.ItemData itemData = trans.gameObject.AddComponent<PhotoFaceDataShortcutSetter.ItemData>();
-			itemData.label = componentInChildren;
-			this.m_ItemPairDic.Add(data, itemData);
-		});
-		this.m_ButtonListShortcutLeft.Show<Transform>(this.targetControllerLeft.itemDataList.Count, delegate(int index, Transform trans)
-		{
-			PhotoFaceDataShortcut.ItemData data = this.targetControllerLeft.itemDataList[index];
-			UILabel componentInChildren = trans.GetComponentInChildren<UILabel>();
-			UIButton componentInChildren2 = trans.GetComponentInChildren<UIButton>();
-			componentInChildren.text = data.GetDataName();
-			EventDelegate.Add(componentInChildren2.onClick, delegate
-			{
-				this.OnClickShortcutButton(data);
-			});
-			PhotoFaceDataShortcutSetter.ItemData itemData = trans.gameObject.AddComponent<PhotoFaceDataShortcutSetter.ItemData>();
-			itemData.label = componentInChildren;
-			this.m_ItemPairDic.Add(data, itemData);
-		});
-		Transform transform = this.m_ParentAddFaceOptions.transform.Find("Buttons");
-		for (int i = 0; i < transform.childCount; i++)
-		{
-			WFCheckBox component2 = transform.GetChild(i).GetComponent<WFCheckBox>();
-			component2.check = false;
-			component2.enabled = true;
-			this.m_AddFaceOptionDic.Add(component2.GetComponentInChildren<UILabel>().text, component2);
-			component2.onClick.Add(new Action<WFCheckBox>(this.OnClickCheckBoxAddOption));
-		}
-		EventDelegate.Add(this.m_ButtonFaceListOK.onClick, new EventDelegate.Callback(this.OnClickFaceListOK));
-		NGUIWindow fadeWindowFaceDataList = this.m_FadeWindowFaceDataList;
-		fadeWindowFaceDataList.OnOpen = (Action)Delegate.Combine(fadeWindowFaceDataList.OnOpen, new Action(delegate
-		{
-			this.m_WindowListFaceData.Reposition();
-		}));
-	}
-
-	private void OnClickData(PhotoFaceData data)
-	{
-		TMorph.AddBlendType blendType = this.ConvertBlendType();
-		this.ApplyItemData(this.nowSelectItem, data, blendType);
-		PhotoFaceDataShortcutSetter.ItemData itemData;
-		if (this.m_ItemPairDic != null && this.m_ItemPairDic.TryGetValue(this.nowSelectItem, out itemData))
-		{
-			itemData.label.text = this.nowSelectItem.GetDataName();
-		}
-		if (this.nowSelectItem != null)
-		{
-			if (this.targetControllerRight.itemDataList.Contains(this.nowSelectItem))
-			{
-				this.targetControllerRight.Emulate(this.nowSelectItem);
-			}
-			else if (this.targetControllerLeft.itemDataList.Contains(this.nowSelectItem))
-			{
-				this.targetControllerLeft.Emulate(this.nowSelectItem);
-			}
-			else
-			{
-				Debug.LogWarning("コントローラに存在しない項目を更新しているかも");
-			}
-		}
-	}
-
-	private void OnClickShortcutButton(PhotoFaceDataShortcut.ItemData item)
-	{
-		this.nowSelectItem = item;
-		this.m_FadeWindowShortcutButtonsRight.Close(this.fadeSpeed, null);
-		this.m_FadeWindowShortcutButtonsLeft.Close(this.fadeSpeed, null);
-		this.WaitTime(this.fadeSpeed, delegate
-		{
-			this.m_FadeWindowFaceDataList.Open(this.fadeSpeed, null);
-		});
-		UIWFTabPanel component = this.m_WindowListFaceData.viewer.parentItemArea.GetComponent<UIWFTabPanel>();
-		UIWFTabButton selectButtonObject = component.GetSelectButtonObject();
-		if (selectButtonObject != null)
-		{
-			selectButtonObject.SetSelect(false);
-		}
-		component.ResetSelect();
-		component.UpdateChildren();
-		this.UpdateCheckBoxAddOption(item);
-	}
-
-	private void OnClickFaceListOK()
-	{
-		this.m_FadeWindowFaceDataList.Close(this.fadeSpeed, null);
-		this.WaitTime(this.fadeSpeed, delegate
-		{
-			this.m_FadeWindowShortcutButtonsRight.Open(this.fadeSpeed, null);
-			this.m_FadeWindowShortcutButtonsLeft.Open(this.fadeSpeed, null);
-		});
-		ControllerShortcutSettingData.config.Write();
-	}
-
-	private void ApplyItemData(PhotoFaceDataShortcut.ItemData itemData, PhotoFaceData data, TMorph.AddBlendType blendType)
-	{
-		if (itemData == null)
-		{
-			Debug.Log("コントローラの項目の参照がありませんでした");
-			return;
-		}
-		if (data == null)
-		{
-			Debug.Log("表情データがnullらしい");
-		}
-		itemData.data = data;
-		itemData.blendType = blendType;
-		itemData.isOpenMouth = this.IsOpenMouth();
-	}
-
-	private TMorph.AddBlendType ConvertBlendType()
-	{
-		TMorph.AddBlendType addBlendType = TMorph.AddBlendType.None;
-		Dictionary<string, TMorph.AddBlendType> dictionary = new Dictionary<string, TMorph.AddBlendType>
-		{
-			{
-				"頬染め1",
-				TMorph.AddBlendType.Cheek1
-			},
-			{
-				"頬染め2",
-				TMorph.AddBlendType.Cheek2
-			},
-			{
-				"頬染め3",
-				TMorph.AddBlendType.Cheek3
-			},
-			{
-				"涙1",
-				TMorph.AddBlendType.Tear1
-			},
-			{
-				"涙2",
-				TMorph.AddBlendType.Tear2
-			},
-			{
-				"涙3",
-				TMorph.AddBlendType.Tear3
-			},
-			{
-				"涙(玉)",
-				TMorph.AddBlendType.TearBig
-			},
-			{
-				"涎",
-				TMorph.AddBlendType.Yodare
-			},
-			{
-				"赤面",
-				TMorph.AddBlendType.Blush
-			},
-			{
-				"ショック",
-				TMorph.AddBlendType.Shock
-			}
-		};
-		foreach (KeyValuePair<string, TMorph.AddBlendType> keyValuePair in dictionary)
-		{
-			if (this.m_AddFaceOptionDic.ContainsKey(keyValuePair.Key) && this.m_AddFaceOptionDic[keyValuePair.Key].check)
-			{
-				addBlendType |= keyValuePair.Value;
-			}
-		}
-		return addBlendType;
-	}
-
-	private bool IsOpenMouth()
-	{
-		return this.m_AddFaceOptionDic["口を開く"].check;
-	}
-
-	private void UpdateCheckBoxAddOption(PhotoFaceDataShortcut.ItemData itemData)
-	{
-		if (itemData == null || itemData.data == null)
-		{
-			Debug.Log("表情データが空だったので、追加表情データの表示は最後の状態を引き継ぐ");
-			return;
-		}
-		Dictionary<string, TMorph.AddBlendType> dictionary = new Dictionary<string, TMorph.AddBlendType>
-		{
-			{
-				"頬染め1",
-				TMorph.AddBlendType.Cheek1
-			},
-			{
-				"頬染め2",
-				TMorph.AddBlendType.Cheek2
-			},
-			{
-				"頬染め3",
-				TMorph.AddBlendType.Cheek3
-			},
-			{
-				"涙1",
-				TMorph.AddBlendType.Tear1
-			},
-			{
-				"涙2",
-				TMorph.AddBlendType.Tear2
-			},
-			{
-				"涙3",
-				TMorph.AddBlendType.Tear3
-			},
-			{
-				"涙(玉)",
-				TMorph.AddBlendType.TearBig
-			},
-			{
-				"涎",
-				TMorph.AddBlendType.Yodare
-			},
-			{
-				"赤面",
-				TMorph.AddBlendType.Blush
-			},
-			{
-				"ショック",
-				TMorph.AddBlendType.Shock
-			}
-		};
-		foreach (KeyValuePair<string, TMorph.AddBlendType> keyValuePair in dictionary)
-		{
-			this.m_AddFaceOptionDic[keyValuePair.Key].check = ((itemData.blendType & keyValuePair.Value) != TMorph.AddBlendType.None);
-		}
-	}
-
-	private void OnClickCheckBoxAddOption(WFCheckBox check_box)
-	{
-		string[] array = new string[]
-		{
-			"頬染め1",
-			"頬染め2",
-			"頬染め3"
-		};
-		string[] array2 = new string[]
-		{
-			"涙1",
-			"涙2",
-			"涙3"
-		};
-		string[][] array3 = new string[][]
-		{
-			array,
-			array2
-		};
-		foreach (KeyValuePair<string, WFCheckBox> keyValuePair in this.m_AddFaceOptionDic)
-		{
-			if (keyValuePair.Value == check_box)
-			{
-				foreach (string array4 in array3)
-				{
-					if (0 <= Array.IndexOf<string>(array4, keyValuePair.Key))
-					{
-						for (int j = 0; j < array4.Length; j++)
-						{
-							if (!(array4[j] == keyValuePair.Key))
-							{
-								if (this.m_AddFaceOptionDic[array4[j]].check)
-								{
-									this.m_AddFaceOptionDic[array4[j]].check = false;
-								}
-							}
-						}
-					}
-				}
-			}
-		}
-		if (this.nowSelectItem != null && this.nowSelectItem.data != null)
-		{
-			this.ApplyItemData(this.nowSelectItem, this.nowSelectItem.data, this.ConvertBlendType());
-			if (this.nowSelectItem != null)
-			{
-				if (this.targetControllerRight.itemDataList.Contains(this.nowSelectItem))
-				{
-					this.targetControllerRight.Emulate(this.nowSelectItem);
-				}
-				else if (this.targetControllerLeft.itemDataList.Contains(this.nowSelectItem))
-				{
-					this.targetControllerLeft.Emulate(this.nowSelectItem);
-				}
-				else
-				{
-					Debug.LogWarning("コントローラに存在しない項目を更新しているかもしれない");
-				}
-			}
-		}
-	}
-
-	private void WaitTime(float time, Action onFinish)
-	{
-		base.StartCoroutine(this.CoWaitTime(time, onFinish));
-	}
-
-	private IEnumerator CoWaitTime(float time, Action onFinish)
-	{
-		yield return new WaitForSeconds(time);
-		if (onFinish != null)
-		{
-			onFinish();
-		}
-		yield break;
-	}
-
 	[SerializeField]
 	[Range(0.001f, 1f)]
 	private float m_FadeSpeed = 0.25f;
@@ -388,33 +21,4 @@ public class PhotoFaceDataShortcutSetter : MonoBehaviour
 
 	[SerializeField]
 	private UIButton m_ButtonFaceListOK;
-
-	private NGUIWindow m_FadeWindowShortcutButtonsRight;
-
-	private NGUIWindow m_FadeWindowShortcutButtonsLeft;
-
-	private NGUIWindow m_FadeWindowFaceDataList;
-
-	private PhotoFaceDataShortcut.ItemData m_NowSelectItem;
-
-	private Dictionary<PhotoFaceDataShortcut.ItemData, PhotoFaceDataShortcutSetter.ItemData> m_ItemPairDic = new Dictionary<PhotoFaceDataShortcut.ItemData, PhotoFaceDataShortcutSetter.ItemData>();
-
-	private Dictionary<string, WFCheckBox> m_AddFaceOptionDic = new Dictionary<string, WFCheckBox>();
-
-	public class ItemData : MonoBehaviour
-	{
-		public UILabel label
-		{
-			get
-			{
-				return this.m_Label;
-			}
-			set
-			{
-				this.m_Label = value;
-			}
-		}
-
-		private UILabel m_Label;
-	}
 }

+ 2 - 2
Assembly-CSharp/PhotoModeObjectSave.cs

@@ -24,7 +24,7 @@ public class PhotoModeObjectSave : MonoBehaviour
 		tweenAlpha.to = 1f;
 		tweenAlpha.duration = 0.3f;
 		tweenAlpha.PlayForward();
-		EventDelegate.Set(tweenAlpha.onFinished, delegate
+		EventDelegate.Set(tweenAlpha.onFinished, delegate()
 		{
 			TweenAlpha component = base.gameObject.GetComponent<TweenAlpha>();
 			if (component != null)
@@ -97,7 +97,7 @@ public class PhotoModeObjectSave : MonoBehaviour
 		tweenAlpha.to = 0f;
 		tweenAlpha.duration = 0.3f;
 		tweenAlpha.PlayForward();
-		EventDelegate.Set(tweenAlpha.onFinished, delegate
+		EventDelegate.Set(tweenAlpha.onFinished, delegate()
 		{
 			TweenAlpha component = base.gameObject.GetComponent<TweenAlpha>();
 			if (component != null)

+ 2 - 2
Assembly-CSharp/PhotoModePoseSave.cs

@@ -170,7 +170,7 @@ public class PhotoModePoseSave : MonoBehaviour
 		tweenAlpha.to = 0f;
 		tweenAlpha.duration = 0.3f;
 		tweenAlpha.PlayForward();
-		EventDelegate.Set(tweenAlpha.onFinished, delegate
+		EventDelegate.Set(tweenAlpha.onFinished, delegate()
 		{
 			TweenAlpha component = base.gameObject.GetComponent<TweenAlpha>();
 			if (component != null)
@@ -189,7 +189,7 @@ public class PhotoModePoseSave : MonoBehaviour
 		tweenAlpha.to = 1f;
 		tweenAlpha.duration = 0.3f;
 		tweenAlpha.PlayForward();
-		EventDelegate.Set(tweenAlpha.onFinished, delegate
+		EventDelegate.Set(tweenAlpha.onFinished, delegate()
 		{
 			TweenAlpha component = base.gameObject.GetComponent<TweenAlpha>();
 			if (component != null)

+ 5 - 5
Assembly-CSharp/PhotoModeSaveAndLoad.cs

@@ -47,12 +47,12 @@ public class PhotoModeSaveAndLoad : MonoBehaviour
 			this.data_unit_[j].onChangeTitle = new Action<PhotSaveLoagDataUnit>(this.OnChangeTitle);
 			this.data_unit_[j].onChangeComment = new Action<PhotSaveLoagDataUnit>(this.OnChangeComment);
 		}
-		EventDelegate.Add(UTY.GetChildObject(base.gameObject, "DisplayButtonGroup/DisplaySave", false).GetComponent<UIButton>().onClick, delegate
+		EventDelegate.Add(UTY.GetChildObject(base.gameObject, "DisplayButtonGroup/DisplaySave", false).GetComponent<UIButton>().onClick, delegate()
 		{
 			this.ChangeType((this.cur_type_ != PhotoModeSaveAndLoad.Type.Save) ? PhotoModeSaveAndLoad.Type.Save : PhotoModeSaveAndLoad.Type.Load);
 			this.UpdateDataUnit();
 		});
-		EventDelegate.Add(UTY.GetChildObject(base.gameObject, "DisplayButtonGroup/DisplayLoad", false).GetComponent<UIButton>().onClick, delegate
+		EventDelegate.Add(UTY.GetChildObject(base.gameObject, "DisplayButtonGroup/DisplayLoad", false).GetComponent<UIButton>().onClick, delegate()
 		{
 			this.ChangeType((this.cur_type_ != PhotoModeSaveAndLoad.Type.Save) ? PhotoModeSaveAndLoad.Type.Save : PhotoModeSaveAndLoad.Type.Load);
 			this.UpdateDataUnit();
@@ -88,7 +88,7 @@ public class PhotoModeSaveAndLoad : MonoBehaviour
 		tweenAlpha.to = 1f;
 		tweenAlpha.duration = 0.3f;
 		tweenAlpha.PlayForward();
-		EventDelegate.Set(tweenAlpha.onFinished, delegate
+		EventDelegate.Set(tweenAlpha.onFinished, delegate()
 		{
 			TweenAlpha component2 = base.gameObject.GetComponent<TweenAlpha>();
 			if (component2 != null)
@@ -118,7 +118,7 @@ public class PhotoModeSaveAndLoad : MonoBehaviour
 		tweenAlpha.to = 0f;
 		tweenAlpha.duration = 0.3f;
 		tweenAlpha.PlayForward();
-		EventDelegate.Set(tweenAlpha.onFinished, delegate
+		EventDelegate.Set(tweenAlpha.onFinished, delegate()
 		{
 			TweenAlpha component2 = base.gameObject.GetComponent<TweenAlpha>();
 			if (component2 != null)
@@ -450,7 +450,7 @@ public class PhotoModeSaveAndLoad : MonoBehaviour
 	private XElement CreateCommonData(string title, string comment)
 	{
 		string value = DateTime.ParseExact(DateTime.Now.ToString("yyyyMMddHHmmss"), "yyyyMMddHHmmss", null).ToString("yyyy.MM.dd HH:mm");
-		XElement xelement = new XElement("GameVersion", 1160);
+		XElement xelement = new XElement("GameVersion", 1170);
 		XElement xelement2 = new XElement("SaveTime", value);
 		XElement xelement3 = new XElement("Title", title);
 		XElement xelement4 = new XElement("Comment", comment);

+ 2 - 2
Assembly-CSharp/PhotoMotionData.cs

@@ -253,8 +253,8 @@ public class PhotoMotionData
 		}
 		if (!string.IsNullOrEmpty(this.direct_file))
 		{
-			maid.IKTargetToBone("左手", null, "無し", Vector3.zero, IKMgrData.IKAttachType.Point, false);
-			maid.IKTargetToBone("右手", null, "無し", Vector3.zero, IKMgrData.IKAttachType.Point, false);
+			maid.IKTargetToBone("左手", null, "無し", Vector3.zero, IKCtrlData.IKAttachType.Point, false, 0f, false, false);
+			maid.IKTargetToBone("右手", null, "無し", Vector3.zero, IKCtrlData.IKAttachType.Point, false, 0f, false, false);
 			if (!this.is_mod && !this.is_mypose)
 			{
 				maid.CrossFade(this.direct_file, false, this.is_loop, false, 0f, 1f);

+ 0 - 167
Assembly-CSharp/PhotoMotionDataShortcut.cs

@@ -1,175 +1,8 @@
 using System;
-using System.Collections.Generic;
 using UnityEngine;
-using UnityEngine.Events;
-using UnityEngine.UI;
 
 public class PhotoMotionDataShortcut : MonoBehaviour
 {
-	public List<PhotoMotionDataShortcut.ItemData> itemDataList
-	{
-		get
-		{
-			return this.m_ItemDataList;
-		}
-	}
-
-	private void Start()
-	{
-		CircleCommandUI circleCommandUI = this.m_CircleList.circleCommandUI;
-		circleCommandUI.onSelect.AddListener(new UnityAction<GameObject>(this.OnSelectItem));
-		circleCommandUI.onDeselect.AddListener(new UnityAction<GameObject>(this.OnDeselectItem));
-		circleCommandUI.onDecide.AddListener(new UnityAction<GameObject>(this.OnDecide));
-		this.m_CircleList.SetActiveUI(false);
-	}
-
-	public void CreateItemList(int count)
-	{
-		CircleCommandUI circleCommandUI = this.m_CircleList.circleCommandUI;
-		GameObject tempItem = circleCommandUI.listViewer.tempItem;
-		Transform transform = tempItem.transform;
-		transform.localScale = Vector3.one * 0.5f;
-		circleCommandUI.Show<Transform>(count, delegate(int index, Transform trans)
-		{
-			Text componentInChildren = trans.GetComponentInChildren<Text>();
-			PhotoMotionDataShortcut.ItemData itemData = trans.gameObject.AddComponent<PhotoMotionDataShortcut.ItemData>();
-			itemData.text = componentInChildren;
-			itemData.data = null;
-			this.m_ItemDataList.Add(itemData);
-		});
-	}
-
-	private void OnSelectItem(GameObject item)
-	{
-		if (item == null)
-		{
-			return;
-		}
-		Graphic component = item.GetComponent<Graphic>();
-		if (component != null)
-		{
-			component.color = Color.red;
-		}
-		item.transform.localScale = Vector3.one;
-		item.transform.SetAsFirstSibling();
-	}
-
-	private void OnDeselectItem(GameObject item)
-	{
-		if (item == null)
-		{
-			return;
-		}
-		Graphic component = item.GetComponent<Graphic>();
-		if (component != null)
-		{
-			Color white = Color.white;
-			white.a = 0.5f;
-			component.color = white;
-		}
-		item.transform.localScale = Vector3.one * 0.5f;
-	}
-
-	private void OnDecide(GameObject selectItem)
-	{
-		if (selectItem == null)
-		{
-			Debug.LogWarning("選択項目にnullが入った");
-			return;
-		}
-		this.OnDeselectItem(selectItem);
-		this.m_CircleList.SetActiveUI(false);
-		PhotoMotionDataShortcut.ItemData component = selectItem.GetComponent<PhotoMotionDataShortcut.ItemData>();
-		if (component != null)
-		{
-			this.ApplyMaidFace(this.GetMaid(), component);
-		}
-	}
-
-	private void ApplyMaidFace(Maid maid, PhotoMotionDataShortcut.ItemData faceData)
-	{
-		if (faceData == null)
-		{
-			Debug.Log("モーションデータにnullが指定されました。");
-			return;
-		}
-		if (maid == null)
-		{
-			Debug.Log("メイドにnullが指定されました。");
-			return;
-		}
-		Debug.Log("メイドのモーションを変更します...\u3000モーション:" + faceData.name);
-		faceData.data.Apply(maid);
-	}
-
-	public void Emulate(PhotoMotionDataShortcut.ItemData itemData)
-	{
-		if (!this.itemDataList.Contains(itemData))
-		{
-			Debug.Log("コントローラ上に存在しないデータを選んだ");
-			return;
-		}
-		this.ApplyMaidFace(this.GetMaid(), itemData);
-	}
-
-	private Maid GetMaid()
-	{
-		CharacterMgr characterMgr = GameMain.Instance.CharacterMgr;
-		return characterMgr.GetMaid(0);
-	}
-
 	[SerializeField]
 	private CircleListSelectUI m_CircleList;
-
-	private List<PhotoMotionDataShortcut.ItemData> m_ItemDataList = new List<PhotoMotionDataShortcut.ItemData>();
-
-	public class ItemData : MonoBehaviour
-	{
-		public PhotoMotionData data
-		{
-			get
-			{
-				return this.m_Data;
-			}
-			set
-			{
-				this.m_Data = value;
-				this.UpdateText();
-			}
-		}
-
-		public Text text
-		{
-			get
-			{
-				return this.m_Text;
-			}
-			set
-			{
-				this.m_Text = value;
-			}
-		}
-
-		private void UpdateText()
-		{
-			if (this.text == null)
-			{
-				return;
-			}
-			this.text.text = this.GetDataName();
-		}
-
-		public string GetDataName()
-		{
-			if (this.data == null)
-			{
-				return "無し";
-			}
-			return this.data.name;
-		}
-
-		private PhotoMotionData m_Data;
-
-		private Text m_Text;
-	}
 }

+ 0 - 224
Assembly-CSharp/PhotoMotionDataShortcutSetter.cs

@@ -1,203 +1,8 @@
 using System;
-using System.Collections;
-using System.Collections.Generic;
-using Kasizuki;
 using UnityEngine;
 
 public class PhotoMotionDataShortcutSetter : MonoBehaviour
 {
-	public float fadeSpeed
-	{
-		get
-		{
-			return this.m_FadeSpeed;
-		}
-		set
-		{
-			this.m_FadeSpeed = Mathf.Clamp(value, 0.001f, 1f);
-		}
-	}
-
-	private PhotoMotionDataShortcut targetControllerRight
-	{
-		get
-		{
-			return this.m_TargetControllerRight;
-		}
-	}
-
-	private PhotoMotionDataShortcut targetControllerLeft
-	{
-		get
-		{
-			return this.m_TargetControllerLeft;
-		}
-	}
-
-	private PhotoMotionDataShortcut.ItemData nowSelectItem
-	{
-		get
-		{
-			return this.m_NowSelectItem;
-		}
-		set
-		{
-			this.m_NowSelectItem = value;
-		}
-	}
-
-	private void Start()
-	{
-		this.m_FadeWindowShortcutButtonsRight = this.m_ButtonListShortcutRight.GetComponent<NGUIWindow>();
-		this.m_FadeWindowShortcutButtonsLeft = this.m_ButtonListShortcutLeft.GetComponent<NGUIWindow>();
-		this.m_FadeWindowMotionDataList = this.m_WindowListMotionData.GetComponent<NGUIWindow>();
-		this.targetControllerRight.CreateItemList(8);
-		this.targetControllerLeft.CreateItemList(8);
-		PhotoMotionData.Create();
-		List<PhotoMotionData> data2 = PhotoMotionData.data;
-		ListViewerWindow windowListMotionData = this.m_WindowListMotionData;
-		windowListMotionData.Show<PhotoMotionData, UIWFTabButton>(data2, delegate(int index, PhotoMotionData data, UIWFTabButton item)
-		{
-			UILabel componentInChildren = item.GetComponentInChildren<UILabel>();
-			componentInChildren.text = data.name;
-			EventDelegate.Add(item.onClick, delegate
-			{
-				this.OnClickData(data);
-			});
-		});
-		UIWFTabPanel component = windowListMotionData.viewer.parentItemArea.GetComponent<UIWFTabPanel>();
-		if (component)
-		{
-			component.UpdateChildren();
-		}
-		this.m_ButtonListShortcutRight.Show<Transform>(this.targetControllerRight.itemDataList.Count, delegate(int index, Transform trans)
-		{
-			PhotoMotionDataShortcut.ItemData data = this.targetControllerRight.itemDataList[index];
-			UILabel componentInChildren = trans.GetComponentInChildren<UILabel>();
-			UIButton componentInChildren2 = trans.GetComponentInChildren<UIButton>();
-			componentInChildren.text = data.GetDataName();
-			EventDelegate.Add(componentInChildren2.onClick, delegate
-			{
-				this.OnClickShortcutButton(data);
-			});
-			PhotoMotionDataShortcutSetter.ItemData itemData = trans.gameObject.AddComponent<PhotoMotionDataShortcutSetter.ItemData>();
-			itemData.label = componentInChildren;
-			this.m_ItemPairDic.Add(data, itemData);
-		});
-		this.m_ButtonListShortcutLeft.Show<Transform>(this.targetControllerLeft.itemDataList.Count, delegate(int index, Transform trans)
-		{
-			PhotoMotionDataShortcut.ItemData data = this.targetControllerLeft.itemDataList[index];
-			UILabel componentInChildren = trans.GetComponentInChildren<UILabel>();
-			UIButton componentInChildren2 = trans.GetComponentInChildren<UIButton>();
-			componentInChildren.text = data.GetDataName();
-			EventDelegate.Add(componentInChildren2.onClick, delegate
-			{
-				this.OnClickShortcutButton(data);
-			});
-			PhotoMotionDataShortcutSetter.ItemData itemData = trans.gameObject.AddComponent<PhotoMotionDataShortcutSetter.ItemData>();
-			itemData.label = componentInChildren;
-			this.m_ItemPairDic.Add(data, itemData);
-		});
-		EventDelegate.Add(this.m_ButtonMotionListOK.onClick, new EventDelegate.Callback(this.OnClickMotionListOK));
-	}
-
-	private void OnClickData(PhotoMotionData data)
-	{
-		Debug.Log("モーション:" + data.name);
-		if (this.nowSelectItem != null)
-		{
-			this.nowSelectItem.data = data;
-		}
-		PhotoMotionDataShortcutSetter.ItemData itemData;
-		if (this.m_ItemPairDic != null && this.m_ItemPairDic.TryGetValue(this.nowSelectItem, out itemData))
-		{
-			itemData.label.text = this.nowSelectItem.GetDataName();
-		}
-		if (this.nowSelectItem != null)
-		{
-			if (this.targetControllerRight.itemDataList.Contains(this.nowSelectItem))
-			{
-				this.targetControllerRight.Emulate(this.nowSelectItem);
-			}
-			else if (this.targetControllerLeft.itemDataList.Contains(this.nowSelectItem))
-			{
-				this.targetControllerLeft.Emulate(this.nowSelectItem);
-			}
-			else
-			{
-				Debug.LogWarning("コントローラに存在しない項目を更新しているかも");
-			}
-		}
-	}
-
-	private void OnClickShortcutButton(PhotoMotionDataShortcut.ItemData item)
-	{
-		this.nowSelectItem = item;
-		this.m_FadeWindowShortcutButtonsRight.Close(this.fadeSpeed, null);
-		this.m_FadeWindowShortcutButtonsLeft.Close(this.fadeSpeed, null);
-		this.WaitTime(this.fadeSpeed, delegate
-		{
-			this.m_FadeWindowMotionDataList.Open(this.fadeSpeed, null);
-		});
-		this.m_WindowListMotionData.Reposition();
-		UIWFTabPanel component = this.m_WindowListMotionData.viewer.parentItemArea.GetComponent<UIWFTabPanel>();
-		UIWFTabButton selectButtonObject = component.GetSelectButtonObject();
-		if (selectButtonObject != null)
-		{
-			selectButtonObject.SetSelect(false);
-		}
-		component.ResetSelect();
-		component.UpdateChildren();
-	}
-
-	private void OnClickMotionListOK()
-	{
-		this.m_FadeWindowMotionDataList.Close(this.fadeSpeed, null);
-		this.WaitTime(this.fadeSpeed, delegate
-		{
-			this.m_FadeWindowShortcutButtonsRight.Open(this.fadeSpeed, null);
-			this.m_FadeWindowShortcutButtonsLeft.Open(this.fadeSpeed, null);
-		});
-	}
-
-	private void OnApplicationQuit()
-	{
-		this.m_IsQuittingApplication = true;
-	}
-
-	private void OnDisable()
-	{
-		if (this.m_IsQuittingApplication)
-		{
-			return;
-		}
-		Debug.LogWarning("デバッグ:モーション用コントローラ無効化");
-		this.targetControllerRight.gameObject.SetActive(false);
-		this.targetControllerLeft.gameObject.SetActive(false);
-	}
-
-	private void OnEnable()
-	{
-		Debug.LogWarning("デバッグ:モーション用コントローラ有効化");
-		this.targetControllerRight.gameObject.SetActive(true);
-		this.targetControllerLeft.gameObject.SetActive(true);
-	}
-
-	private void WaitTime(float time, Action onFinish)
-	{
-		base.StartCoroutine(this.CoWaitTime(time, onFinish));
-	}
-
-	private IEnumerator CoWaitTime(float time, Action onFinish)
-	{
-		yield return new WaitForSeconds(time);
-		if (onFinish != null)
-		{
-			onFinish();
-		}
-		yield break;
-	}
-
 	[SerializeField]
 	[Range(0.001f, 1f)]
 	private float m_FadeSpeed = 0.25f;
@@ -219,33 +24,4 @@ public class PhotoMotionDataShortcutSetter : MonoBehaviour
 
 	[SerializeField]
 	private UIButton m_ButtonMotionListOK;
-
-	private NGUIWindow m_FadeWindowShortcutButtonsRight;
-
-	private NGUIWindow m_FadeWindowShortcutButtonsLeft;
-
-	private NGUIWindow m_FadeWindowMotionDataList;
-
-	private PhotoMotionDataShortcut.ItemData m_NowSelectItem;
-
-	private Dictionary<PhotoMotionDataShortcut.ItemData, PhotoMotionDataShortcutSetter.ItemData> m_ItemPairDic = new Dictionary<PhotoMotionDataShortcut.ItemData, PhotoMotionDataShortcutSetter.ItemData>();
-
-	private bool m_IsQuittingApplication;
-
-	public class ItemData : MonoBehaviour
-	{
-		public UILabel label
-		{
-			get
-			{
-				return this.m_Label;
-			}
-			set
-			{
-				this.m_Label = value;
-			}
-		}
-
-		private UILabel m_Label;
-	}
 }

+ 1 - 1
Assembly-CSharp/PlacementWindow.cs

@@ -14,7 +14,7 @@ public class PlacementWindow : BaseMaidPhotoWindow
 		EventDelegate.Add(this.DeActiveButton.onClick, new EventDelegate.Callback(this.OnClickDeActive));
 		this.VisibleCheckButton.onClick.Add(new Action<WFCheckBox>(this.OnClickVisibleCheckButton));
 		this.camera_move_support_ = base.gameObject.AddComponent<WfCameraMoveSupport>();
-		EventDelegate.Add(this.CallEditButton.onClick, delegate
+		EventDelegate.Add(this.CallEditButton.onClick, delegate()
 		{
 			base.mgr.CallEditSceneFunction(base.mgr.select_maid);
 		});

+ 1 - 1
Assembly-CSharp/PlayerStatus/Status.cs

@@ -827,7 +827,7 @@ namespace PlayerStatus
 		public void Serialize(BinaryWriter binary)
 		{
 			binary.Write("CM3D2_PLAYER_STATUS");
-			binary.Write(1160);
+			binary.Write(1170);
 			binary.Write(this.playerName_);
 			binary.Write(this.days_);
 			binary.Write(this.totalPurchasePrice_);

+ 2 - 2
Assembly-CSharp/PoseEditWindow.cs

@@ -501,8 +501,8 @@ public class PoseEditWindow : BaseMaidPhotoWindow
 				motionWindow.CheckbtnStop.check = true;
 				motionWindow.OnClickStopCheck(motionWindow.CheckbtnStop);
 			}
-			base.mgr.select_maid.IKTargetToBone("左手", null, "無し", Vector3.zero, IKMgrData.IKAttachType.Point, false);
-			base.mgr.select_maid.IKTargetToBone("右手", null, "無し", Vector3.zero, IKMgrData.IKAttachType.Point, false);
+			base.mgr.select_maid.IKTargetToBone("左手", null, "無し", Vector3.zero, IKCtrlData.IKAttachType.Point, false, 0f, false, false);
+			base.mgr.select_maid.IKTargetToBone("右手", null, "無し", Vector3.zero, IKCtrlData.IKAttachType.Point, false, 0f, false, false);
 			this.ControlSelectBtnTab.ResetSelect();
 			Dictionary<PoseEditWindow.ControlType, UIWFTabButton> dictionary = new Dictionary<PoseEditWindow.ControlType, UIWFTabButton>();
 			foreach (UIWFTabButton uiwftabButton in this.ControlSelectBtnTab.button_list)

+ 5 - 6
Assembly-CSharp/PresetCtrl.cs

@@ -1,6 +1,7 @@
 using System;
 using System.Collections;
 using System.Collections.Generic;
+using I2.Loc;
 using UnityEngine;
 
 public class PresetCtrl : MonoBehaviour
@@ -86,17 +87,17 @@ public class PresetCtrl : MonoBehaviour
 				{
 					if (ePreType == CharacterMgr.PresetType.Body)
 					{
-						component2.spriteName = "cm3d2_edit_priset_kindicon_body";
+						component2.GetComponent<Localize>().SetTerm("SceneEdit/プリセット/スプライト/種別プレート体");
 					}
 				}
 				else
 				{
-					component2.spriteName = "cm3d2_edit_priset_kindicon_clothes";
+					component2.GetComponent<Localize>().SetTerm("SceneEdit/プリセット/スプライト/種別プレート服");
 				}
 			}
 			else
 			{
-				component2.spriteName = "cm3d2_edit_priset_kindicon_clothes_body";
+				component2.GetComponent<Localize>().SetTerm("SceneEdit/プリセット/スプライト/種別プレート体と服");
 			}
 			gameObject.name = preset.strFileName;
 			UIButton component3 = gameObject.GetComponent<UIButton>();
@@ -229,7 +230,7 @@ public class PresetCtrl : MonoBehaviour
 	public void DeletePreset(string clickBtnName)
 	{
 		this.m_presetName = clickBtnName;
-		GameMain.Instance.SysDlg.Show("プリセットを削除して宜しいですか。", SystemDialog.TYPE.OK_CANCEL, new SystemDialog.OnClick(this.DeletePreset), null);
+		GameMain.Instance.SysDlg.ShowFromLanguageTerm("Dialog/プリセットを削除して宜しいですか。", SystemDialog.TYPE.OK_CANCEL, new SystemDialog.OnClick(this.DeletePreset), null);
 	}
 
 	private void DeletePreset()
@@ -283,8 +284,6 @@ public class PresetCtrl : MonoBehaviour
 
 	private const string TYPE_ICON_BODY = "cm3d2_edit_priset_kindicon_body";
 
-	private const string DIALOG_MSG_DELETE = "プリセットを削除して宜しいですか。";
-
 	public class FilterButton
 	{
 		public PresetMgr.Filter m_name { get; set; }

+ 55 - 26
Assembly-CSharp/ProfileCtrl.cs

@@ -2,6 +2,7 @@
 using System.Collections;
 using System.Collections.Generic;
 using Edit;
+using I2.Loc;
 using MaidStatus;
 using MaidStatus.CsvData;
 using UnityEngine;
@@ -39,13 +40,13 @@ public class ProfileCtrl : MonoBehaviour
 		this.m_clLastName = childObject2.GetComponent<BoxCollider>();
 		EventDelegate.Add(this.m_inLastName.onChange, new EventDelegate.Callback(BaseMgr<ProfileMgr>.Instance.OnChangeLastName));
 		this.m_buFirstName = UTY.GetChildObject(childObject, "Random", false).GetComponent<UIButton>();
-		EventDelegate.Add(this.m_buFirstName.onClick, delegate
+		EventDelegate.Add(this.m_buFirstName.onClick, delegate()
 		{
 			this.m_inFirstName.RemoveFocus();
 			this.m_inFirstName.value = MaidRandomName.GetFirstName();
 		});
 		this.m_buLastName = UTY.GetChildObject(childObject2, "Random", false).GetComponent<UIButton>();
-		EventDelegate.Add(this.m_buLastName.onClick, delegate
+		EventDelegate.Add(this.m_buLastName.onClick, delegate()
 		{
 			this.m_inLastName.RemoveFocus();
 			this.m_inLastName.value = MaidRandomName.GetLastName();
@@ -105,18 +106,17 @@ public class ProfileCtrl : MonoBehaviour
 			}
 		}
 		this.m_pPersonal.items.Clear();
+		this.m_pPersonal.isLocalized = true;
+		ProfileCtrl.m_dicPersonal = new Dictionary<string, Personal.Data>();
 		foreach (Personal.Data data2 in list)
 		{
-			this.m_pPersonal.items.Add(data2.drawName);
+			string termName = data2.termName;
+			this.m_pPersonal.items.Add(termName);
+			ProfileCtrl.m_dicPersonal.Add(termName, data2);
 		}
-		EventDelegate.Add(this.m_pPersonal.onChange, delegate
+		EventDelegate.Add(this.m_pPersonal.onChange, delegate()
 		{
 		});
-		ProfileCtrl.m_dicPersonal = new Dictionary<string, Personal.Data>();
-		foreach (Personal.Data data3 in list)
-		{
-			ProfileCtrl.m_dicPersonal.Add(data3.drawName, data3);
-		}
 		this.m_clPersonal = childObject3.GetComponent<BoxCollider>();
 		this.m_goPersonalSelectorIcon = UTY.GetChildObject(childObject3, "Symbol", false);
 		GameObject childObject4 = UTY.GetChildObject(this.m_goProfilePanel, "CharacterInfo/SexualExperience/PopupList", false);
@@ -193,12 +193,12 @@ public class ProfileCtrl : MonoBehaviour
 			}
 		};
 		this.m_dicUpperBtn = new Dictionary<ProfileMgr.UpperButtonType, ProfileCtrl.UpperButton>();
-		IEnumerator enumerator4 = Enum.GetValues(typeof(ProfileMgr.UpperButtonType)).GetEnumerator();
+		IEnumerator enumerator3 = Enum.GetValues(typeof(ProfileMgr.UpperButtonType)).GetEnumerator();
 		try
 		{
-			while (enumerator4.MoveNext())
+			while (enumerator3.MoveNext())
 			{
-				object obj = enumerator4.Current;
+				object obj = enumerator3.Current;
 				ProfileMgr.UpperButtonType upperButtonType = (ProfileMgr.UpperButtonType)obj;
 				if (upperButtonType != ProfileMgr.UpperButtonType.None)
 				{
@@ -217,7 +217,7 @@ public class ProfileCtrl : MonoBehaviour
 		finally
 		{
 			IDisposable disposable;
-			if ((disposable = (enumerator4 as IDisposable)) != null)
+			if ((disposable = (enumerator3 as IDisposable)) != null)
 			{
 				disposable.Dispose();
 			}
@@ -335,13 +335,13 @@ public class ProfileCtrl : MonoBehaviour
 	public void LoadMaidParamData()
 	{
 		this.UpdateProfileData(false);
-		this.m_lContractType.text = this.GetContractType(this.m_maidStatus.contract);
+		this.m_lContractType.GetComponent<Localize>().SetTerm(this.GetContractType(this.m_maidStatus.contract));
 		this.m_inLastName.value = this.m_maidStatus.lastName;
 		this.m_inFirstName.value = this.m_maidStatus.firstName;
 		ClassData<JobClass.Data> selectedJobClass = this.m_maidStatus.selectedJobClass;
 		if (selectedJobClass != null)
 		{
-			this.m_lMaidClassName.text = selectedJobClass.data.drawName;
+			this.m_lMaidClassName.gameObject.GetComponent<Localize>().SetTerm(selectedJobClass.data.termName);
 			this.m_lMaidClassLevel.text = selectedJobClass.level.ToString();
 			this.m_lMaidClassExp.text = selectedJobClass.cur_exp.ToString();
 			this.m_lMaidClassRequiredExp.text = selectedJobClass.next_exp.ToString();
@@ -360,8 +360,8 @@ public class ProfileCtrl : MonoBehaviour
 		this.m_lWaist.text = this.m_maidStatus.body.waist.ToString();
 		this.m_lHip.text = this.m_maidStatus.body.hip.ToString();
 		this.m_lCup.text = this.m_maidStatus.body.cup;
-		this.m_lRelation.text = this.GetCondition(this.m_maidStatus.relation);
-		this.m_lConditionText.text = this.m_maidStatus.conditionText;
+		this.m_lRelation.GetComponent<Localize>().SetTerm(this.GetCondition(this.m_maidStatus.relation));
+		this.m_lConditionText.GetComponent<Localize>().SetTerm(this.m_maidStatus.conditionTermText);
 		this.m_lYotogiPlayCount.text = this.m_maidStatus.playCountYotogi.ToString();
 		this.m_lOthersPlayCount.text = this.m_maidStatus.playCountNightWork.ToString();
 		this.m_lHp.text = this.m_maidStatus.maxHp.ToString();
@@ -382,10 +382,16 @@ public class ProfileCtrl : MonoBehaviour
 		this.m_lHentai.text = this.m_maidStatus.hentai.ToString();
 		this.m_lHousi.text = this.m_maidStatus.housi.ToString();
 		this.m_lMaidPoint.text = SceneEdit.Instance.maidPoint.ToString();
-		string drawName = this.m_maidStatus.personal.drawName;
-		this.m_pPersonal.value = drawName;
+		foreach (KeyValuePair<string, Personal.Data> keyValuePair in ProfileCtrl.m_dicPersonal)
+		{
+			if (this.m_maidStatus.personal.uniqueName == keyValuePair.Value.uniqueName)
+			{
+				this.m_pPersonal.value = keyValuePair.Key;
+				break;
+			}
+		}
 		this.m_pSexualExperience.value = this.GetSelectOptionNameFromSexualExpe(this.m_maidStatus.seikeiken);
-		this.m_lProfileComment.text = this.m_maidStatus.profileComment;
+		this.m_lProfileComment.text = string.Empty;
 		this.m_inFreeComment.value = this.m_maidStatus.freeComment;
 	}
 
@@ -422,10 +428,24 @@ public class ProfileCtrl : MonoBehaviour
 
 	public void SetSexualExperience(string selectValue)
 	{
-		Seikeiken initSeikeiken;
-		if (ProfileCtrl.m_dicSexualExperience.TryGetValue(selectValue, out initSeikeiken))
+		Seikeiken[] array = new Seikeiken[]
+		{
+			Seikeiken.No_No,
+			Seikeiken.Yes_No,
+			Seikeiken.No_Yes,
+			Seikeiken.Yes_Yes
+		};
+		foreach (Seikeiken seikeiken in array)
 		{
-			this.m_maidStatus.seikeiken = (this.m_maidStatus.initSeikeiken = initSeikeiken);
+			if (EnumConvert.GetTerm(seikeiken) == selectValue)
+			{
+				Seikeiken initSeikeiken = Seikeiken.No_No;
+				if (ProfileCtrl.m_dicSexualExperience.TryGetValue(EnumConvert.GetString(seikeiken), out initSeikeiken))
+				{
+					this.m_maidStatus.seikeiken = (this.m_maidStatus.initSeikeiken = initSeikeiken);
+				}
+				break;
+			}
 		}
 	}
 
@@ -435,7 +455,7 @@ public class ProfileCtrl : MonoBehaviour
 		{
 			if (keyValuePair.Value == sexualExperience)
 			{
-				return keyValuePair.Key;
+				return EnumConvert.GetTerm(keyValuePair.Value);
 			}
 		}
 		return null;
@@ -443,12 +463,12 @@ public class ProfileCtrl : MonoBehaviour
 
 	private string GetContractType(Contract contractType)
 	{
-		return EnumConvert.GetString(contractType);
+		return EnumConvert.GetTerm(contractType);
 	}
 
 	private string GetCondition(Relation relation)
 	{
-		return EnumConvert.GetString(relation);
+		return EnumConvert.GetTerm(relation);
 	}
 
 	private string AdjustStrLengthIfOver(string str, int length)
@@ -576,6 +596,15 @@ public class ProfileCtrl : MonoBehaviour
 				this.SetTransformInfo(gameObject2, goParent);
 				UILabel component = UTY.GetChildObject(gameObject2, "Parameter", false).GetComponent<UILabel>();
 				component.text = list[i].m_parameter;
+				Localize localize = component.gameObject.AddComponent<Localize>();
+				if (btnType == ProfileMgr.UpperButtonType.Character)
+				{
+					localize.SetTerm("MaidStatus/性癖タイプ/" + list[i].m_parameter);
+				}
+				else if (btnType == ProfileMgr.UpperButtonType.Propensity)
+				{
+					localize.SetTerm("MaidStatus/性癖タイプ/" + list[i].m_parameter);
+				}
 			}
 			this.m_goProfileLabelUnitPrefab = gameObject;
 			break;

+ 4 - 5
Assembly-CSharp/RandomPresetCtrl.cs

@@ -16,10 +16,6 @@ public class RandomPresetCtrl : MonoBehaviour
 				bool condition = csvParser.Open(afileBase);
 				NDebug.Assert(condition, text + "\nopen failed.");
 				NDebug.Assert(csvParser.max_cell_y - 1 == this.categoryTitleLabels.Length, text + "に書かれているカテゴリー数とオブジェクト数が一致していません");
-				for (int i = 1; i < csvParser.max_cell_y; i++)
-				{
-					this.categoryTitleLabels[i - 1].text = csvParser.GetCellAsString(0, i);
-				}
 			}
 		}
 		this.LoadRandomLogicParamter();
@@ -61,7 +57,6 @@ public class RandomPresetCtrl : MonoBehaviour
 						mpnmapping.m_buttonName,
 						"]が見つかりませんでした"
 					}));
-					UTY.GetChildObject(childObject, "Title", false).GetComponent<UILabel>().text = mpnmapping.m_buttonTitle;
 					UIButton component = childObject.GetComponent<UIButton>();
 					if (!flag)
 					{
@@ -109,6 +104,7 @@ public class RandomPresetCtrl : MonoBehaviour
 		foreach (KeyValuePair<string, RandomPresetButton> keyValuePair in this.m_dicRandomPresetBtn)
 		{
 			RandomPresetButton value = keyValuePair.Value;
+			EventDelegate.Add(value.m_btnButton.onClick, new EventDelegate.Callback(this.randomRandomPresetMgr.OnButtonClick));
 			if (value.m_eButtonType == SceneEditInfo.CCateNameType.EType.Item)
 			{
 				int num = maid.GetProp(value.m_mpn).nFileNameRID;
@@ -755,6 +751,9 @@ public class RandomPresetCtrl : MonoBehaviour
 	}
 
 	[SerializeField]
+	private RandomPresetMgr randomRandomPresetMgr;
+
+	[SerializeField]
 	private UILabel[] categoryTitleLabels;
 
 	private SceneEdit m_sceneEdit;

+ 0 - 1
Assembly-CSharp/RenderHeads/Media/AVProVideo/WindowsMediaPlayer.cs

@@ -793,7 +793,6 @@ namespace RenderHeads.Media.AVProVideo
 
 		private int _textureQuality = QualitySettings.masterTextureLimit;
 
-		[StructLayout(LayoutKind.Sequential, Size = 1)]
 		private struct Native
 		{
 			[DllImport("AVProVideo")]

+ 1 - 1
Assembly-CSharp/SaveAndLoadMgr.cs

@@ -124,7 +124,7 @@ public class SaveAndLoadMgr : BaseCreatePanel
 	public void ClosePanelAfterAction<T>(Func<T, bool> action, T param)
 	{
 		TweenAlpha tweenAlpha = TweenAlpha.Begin(this.fadeTargetPanel, 0.5f, 0f);
-		EventDelegate.Set(tweenAlpha.onFinished, delegate
+		EventDelegate.Set(tweenAlpha.onFinished, delegate()
 		{
 			if (action != null)
 			{

+ 40 - 16
Assembly-CSharp/ScenarioData.cs

@@ -65,12 +65,15 @@ public class ScenarioData
 				action(ScenarioData.PlayableCondition.施設, i);
 				break;
 			case 14:
-				this.IconName = csv.GetCellAsString(i, cy);
+				action(ScenarioData.PlayableCondition.NTRブロック, i);
 				break;
 			case 15:
-				this.ScenarioScript = csv.GetCellAsString(i, cy);
+				this.IconName = csv.GetCellAsString(i, cy);
 				break;
 			case 16:
+				this.ScenarioScript = csv.GetCellAsString(i, cy);
+				break;
+			case 17:
 			{
 				string cellAsString = csv.GetCellAsString(i, cy);
 				if (!string.IsNullOrEmpty(cellAsString))
@@ -79,19 +82,19 @@ public class ScenarioData
 				}
 				break;
 			}
-			case 17:
+			case 18:
 				this.EventMaidNum = ((!csv.IsCellToExistData(i, cy)) ? 0 : csv.GetCellAsInteger(i, cy));
 				break;
-			case 18:
+			case 19:
 				this.IsImportant = (csv.GetCellAsString(i, cy) == "重要");
 				break;
-			case 19:
+			case 20:
 				this.IsOncePlayOnly = !csv.IsCellToExistData(i, cy);
 				break;
-			case 20:
+			case 21:
 				this.Notification = csv.GetCellAsString(i, cy);
 				break;
-			case 21:
+			case 22:
 				this.ConditionText = csv.GetCellAsString(i, cy).Replace("\n", "&").Split(new char[]
 				{
 					'&'
@@ -296,7 +299,7 @@ public class ScenarioData
 			}
 		};
 		bool maid_check = false;
-		Action action2 = delegate
+		Action action2 = delegate()
 		{
 			if (!maid_check && maid_update)
 			{
@@ -364,12 +367,12 @@ public class ScenarioData
 								if (text == "移籍メイド")
 								{
 									add_maid(stockMaid2);
-									goto IL_427;
+									goto IL_43F;
 								}
 								if (text == "雇用移籍メイド")
 								{
 									action(stockMaid2, !stockMaid2.status.mainChara);
-									goto IL_427;
+									goto IL_43F;
 								}
 							}
 							string convertPersonal = GameMain.Instance.ScenarioSelectMgr.GetConvertPersonal(stockMaid2);
@@ -378,7 +381,7 @@ public class ScenarioData
 								this.IsFixedMaid = true;
 								if (text == "固定移籍メイド")
 								{
-									action(stockMaid2, stockMaid2.status.mainChara);
+									action(stockMaid2, stockMaid2.status.mainChara && ScenarioData.m_MainMaidList.Contains(convertPersonal));
 								}
 								else
 								{
@@ -390,7 +393,7 @@ public class ScenarioData
 								action(stockMaid2, "移籍" + convertPersonal == text);
 							}
 						}
-						IL_427:;
+						IL_43F:;
 					}
 					else if (stockMaid2.status.heroineType == HeroineType.Original)
 					{
@@ -399,12 +402,12 @@ public class ScenarioData
 							if (text == "オリジナルメイド")
 							{
 								add_maid(stockMaid2);
-								goto IL_553;
+								goto IL_57F;
 							}
 							if (text == "雇用メイド")
 							{
 								action(stockMaid2, !stockMaid2.status.mainChara);
-								goto IL_553;
+								goto IL_57F;
 							}
 						}
 						string convertPersonal2 = GameMain.Instance.ScenarioSelectMgr.GetConvertPersonal(stockMaid2);
@@ -413,7 +416,7 @@ public class ScenarioData
 							this.IsFixedMaid = true;
 							if (text == "固定メイド")
 							{
-								action(stockMaid2, stockMaid2.status.mainChara);
+								action(stockMaid2, stockMaid2.status.mainChara && ScenarioData.m_MainMaidList.Contains(convertPersonal2));
 							}
 							else
 							{
@@ -425,7 +428,7 @@ public class ScenarioData
 							action(stockMaid2, convertPersonal2 == text);
 						}
 					}
-					IL_553:;
+					IL_57F:;
 				}
 				break;
 			}
@@ -585,6 +588,16 @@ public class ScenarioData
 				}
 				break;
 			}
+			case ScenarioData.PlayableCondition.NTRブロック:
+				if (text == "○")
+				{
+					set_ok(GameMain.Instance.CharacterMgr.status.lockNTRPlay);
+				}
+				else
+				{
+					set_ok(!GameMain.Instance.CharacterMgr.status.lockNTRPlay);
+				}
+				break;
 			}
 		}
 		return isOk;
@@ -714,6 +727,16 @@ public class ScenarioData
 		this.IsOncePlayed = false;
 	}
 
+	private static string[] m_MainMaidList = new string[]
+	{
+		"無垢",
+		"真面目",
+		"凜デレ",
+		"純真",
+		"クーデレ",
+		"ツンデレ"
+	};
+
 	public readonly int ID;
 
 	public readonly Dictionary<ScenarioData.PlayableCondition, ScenarioData.PlayableData> m_PlayableData = new Dictionary<ScenarioData.PlayableCondition, ScenarioData.PlayableData>();
@@ -757,6 +780,7 @@ public class ScenarioData
 		関係,
 		アイテム,
 		施設,
+		NTRブロック,
 		MAX
 	}
 

+ 6 - 6
Assembly-CSharp/SceneCasino.cs

@@ -97,7 +97,7 @@ public class SceneCasino : KasaSceneMgr<SceneCasino>
 			{
 				SceneCasino.MenuButtonPair pair = enumerator.Current;
 				SceneCasino $this = this;
-				pair.Button.onClick.AddListener(delegate
+				pair.Button.onClick.AddListener(delegate()
 				{
 					$this.SelectMenu(pair.Menu);
 				});
@@ -125,27 +125,27 @@ public class SceneCasino : KasaSceneMgr<SceneCasino>
 	private void Start()
 	{
 		ExChangeUI instance = ExChangeUI.Instance;
-		instance.FadeInStartAction = (Action)Delegate.Combine(instance.FadeInStartAction, new Action(delegate
+		instance.FadeInStartAction = (Action)Delegate.Combine(instance.FadeInStartAction, new Action(delegate()
 		{
 			this.m_CasinoMenu.interactable = false;
 		}));
 		ExChangeUI instance2 = ExChangeUI.Instance;
-		instance2.FadeInStartAction = (Action)Delegate.Combine(instance2.FadeInStartAction, new Action(delegate
+		instance2.FadeInStartAction = (Action)Delegate.Combine(instance2.FadeInStartAction, new Action(delegate()
 		{
 			this.m_NguiEnable = false;
 		}));
 		ExChangeUI instance3 = ExChangeUI.Instance;
-		instance3.FadeOutStartAction = (Action)Delegate.Combine(instance3.FadeOutStartAction, new Action(delegate
+		instance3.FadeOutStartAction = (Action)Delegate.Combine(instance3.FadeOutStartAction, new Action(delegate()
 		{
 			this.m_CasinoMenu.interactable = true;
 		}));
 		ExChangeUI instance4 = ExChangeUI.Instance;
-		instance4.FadeOutStartAction = (Action)Delegate.Combine(instance4.FadeOutStartAction, new Action(delegate
+		instance4.FadeOutStartAction = (Action)Delegate.Combine(instance4.FadeOutStartAction, new Action(delegate()
 		{
 			this.m_NguiEnable = true;
 		}));
 		ExChangeUI instance5 = ExChangeUI.Instance;
-		instance5.FadeOutStartAction = (Action)Delegate.Combine(instance5.FadeOutStartAction, new Action(delegate
+		instance5.FadeOutStartAction = (Action)Delegate.Combine(instance5.FadeOutStartAction, new Action(delegate()
 		{
 			ExChangeUI.Instance.SetButtonState(true);
 		}));

+ 5 - 5
Assembly-CSharp/SceneCasinoShop.cs

@@ -62,12 +62,12 @@ public class SceneCasinoShop : KasaSceneMgr<SceneCasinoShop>
 		ExChangeUI instance = ExChangeUI.Instance;
 		instance.FadeOutStartAction = (Action)Delegate.Combine(instance.FadeOutStartAction, new Action(this.UpdateUIState));
 		ExChangeUI instance2 = ExChangeUI.Instance;
-		instance2.FadeInStartAction = (Action)Delegate.Combine(instance2.FadeInStartAction, new Action(delegate
+		instance2.FadeInStartAction = (Action)Delegate.Combine(instance2.FadeInStartAction, new Action(delegate()
 		{
 			this.m_NguiEnable = false;
 		}));
 		ExChangeUI instance3 = ExChangeUI.Instance;
-		instance3.FadeOutStartAction = (Action)Delegate.Combine(instance3.FadeOutStartAction, new Action(delegate
+		instance3.FadeOutStartAction = (Action)Delegate.Combine(instance3.FadeOutStartAction, new Action(delegate()
 		{
 			this.m_NguiEnable = true;
 		}));
@@ -106,7 +106,7 @@ public class SceneCasinoShop : KasaSceneMgr<SceneCasinoShop>
 		this.m_TargetPos = head_bone.position + this.m_HeadCamOffset;
 		base.SetCamera();
 		this.m_CamMoveSupport.SaveCameraPosition();
-		this.<LoadEnd>__BaseCallProxy0();
+		base.LoadEnd();
 		yield break;
 	}
 
@@ -191,7 +191,7 @@ public class SceneCasinoShop : KasaSceneMgr<SceneCasinoShop>
 		this.m_TrywearMaid.AllProcPropSeqStart();
 		if (costume_type != Facility.CostumeType.Heroine)
 		{
-			Action end_call = delegate
+			Action end_call = delegate()
 			{
 				if (costume_type != Facility.CostumeType.Default)
 				{
@@ -242,7 +242,7 @@ public class SceneCasinoShop : KasaSceneMgr<SceneCasinoShop>
 			}
 		}
 		this.m_TrywearItem = this.m_SelectTrywear;
-		Action action = delegate
+		Action action = delegate()
 		{
 			this.m_TrywearItem.TryWear(this.m_TrywearMaid);
 			this.m_TrywearMaid.AllProcPropSeqStart();

+ 51 - 19
Assembly-CSharp/SceneEdit.cs

@@ -4,6 +4,7 @@ using System.Collections.Generic;
 using System.IO;
 using System.Text;
 using System.Text.RegularExpressions;
+using I2.Loc;
 using Kasizuki;
 using MaidStatus;
 using SceneEditWindow;
@@ -460,23 +461,23 @@ public class SceneEdit : MonoBehaviour
 			Dictionary<SceneEdit.TouchType, Action> dictionary3 = new Dictionary<SceneEdit.TouchType, Action>();
 			dictionary3.Add(SceneEdit.TouchType.Head, delegate
 			{
-				this.$this.OnTouchJump(SceneEdit.TouchType.Head);
+				this.OnTouchJump(SceneEdit.TouchType.Head);
 			});
 			dictionary3.Add(SceneEdit.TouchType.Bust, delegate
 			{
-				this.$this.OnTouchJump(SceneEdit.TouchType.Bust);
+				this.OnTouchJump(SceneEdit.TouchType.Bust);
 			});
 			dictionary3.Add(SceneEdit.TouchType.UpperBody, delegate
 			{
-				this.$this.OnTouchJump(SceneEdit.TouchType.UpperBody);
+				this.OnTouchJump(SceneEdit.TouchType.UpperBody);
 			});
 			dictionary3.Add(SceneEdit.TouchType.LowerBody, delegate
 			{
-				this.$this.OnTouchJump(SceneEdit.TouchType.LowerBody);
+				this.OnTouchJump(SceneEdit.TouchType.LowerBody);
 			});
 			dictionary3.Add(SceneEdit.TouchType.Leg, delegate
 			{
-				this.$this.OnTouchJump(SceneEdit.TouchType.Leg);
+				this.OnTouchJump(SceneEdit.TouchType.Leg);
 			});
 			for (int i = 0; i < this.touchJumpColliderList.Count; i++)
 			{
@@ -526,12 +527,12 @@ public class SceneEdit : MonoBehaviour
 		this.pauseIconWindow.onSelectPauseEvent = delegate(PoseIconData.ItemData data)
 		{
 			data.ExecScript();
-			Maid maid = this.$this.m_maid;
+			Maid maid = this.m_maid;
 			Transform bone = maid.body0.GetBone(data.targetBoneName);
 			if (bone != null)
 			{
-				this.$this.m_cameraMoveSupport.SaveCameraPosition(bone.position, 3f, new Vector2(-180f, 11.5528f));
-				this.$this.CameraReset(0f);
+				this.m_cameraMoveSupport.SaveCameraPosition(bone.position, 3f, new Vector2(-180f, 11.5528f));
+				this.CameraReset(0f);
 			}
 		};
 		this.pauseIconWindow.Exec(initPoseId);
@@ -1396,7 +1397,8 @@ public class SceneEdit : MonoBehaviour
 			UnityEngine.Object @object = Resources.Load("SceneEdit/MainMenu/Prefab/ButtonCate");
 			GameObject gameObject = NGUITools.AddChild(this.m_Panel_Category.goGrid, @object as GameObject);
 			UILabel uilabel = gameObject.GetComponentsInChildren<UILabel>(true)[0];
-			uilabel.text = scategory.m_strCateName;
+			Localize localize = uilabel.gameObject.AddComponent<Localize>();
+			localize.SetTerm("SceneEdit/カテゴリー/" + scategory.m_strCateName);
 			ButtonEdit buttonEdit = gameObject.GetComponentsInChildren<ButtonEdit>(true)[0];
 			buttonEdit.m_Category = scategory;
 			UIButton uibutton = gameObject.GetComponentsInChildren<UIButton>(true)[0];
@@ -1467,7 +1469,8 @@ public class SceneEdit : MonoBehaviour
 			UnityEngine.Object @object = Resources.Load("SceneEdit/MainMenu/Prefab/ButtonCate");
 			GameObject gameObject = NGUITools.AddChild(this.m_Panel_PartsType.goGrid, @object as GameObject);
 			UILabel uilabel = gameObject.GetComponentsInChildren<UILabel>(true)[0];
-			uilabel.text = spartsType.m_strPartsTypeName;
+			Localize localize = uilabel.gameObject.AddComponent<Localize>();
+			localize.SetTerm("SceneEdit/カテゴリー/サブ/" + spartsType.m_strPartsTypeName);
 			ButtonEdit buttonEdit = gameObject.GetComponentsInChildren<ButtonEdit>(true)[0];
 			buttonEdit.m_PartsType = spartsType;
 			UIButton uibutton = gameObject.GetComponentsInChildren<UIButton>(true)[0];
@@ -2323,7 +2326,7 @@ public class SceneEdit : MonoBehaviour
 		ButtonEdit componentInChildren = UIEventTrigger.current.GetComponentInChildren<ButtonEdit>();
 		SceneEdit.SMenuItem menuItem = componentInChildren.m_MenuItem;
 		Vector3 position = UIEventTrigger.current.transform.parent.position;
-		this.m_info.Open(position, menuItem.m_texIcon, menuItem.m_strMenuName, menuItem.m_strInfo, 0);
+		this.m_info.Open(position, menuItem.m_texIcon, menuItem.menuNameCurrentLanguage, menuItem.infoTextCurrentLanguage, 0);
 	}
 
 	public void HoverOverCallbackOnGroup()
@@ -2331,7 +2334,7 @@ public class SceneEdit : MonoBehaviour
 		ButtonEdit componentInChildren = UIEventTrigger.current.GetComponentInChildren<ButtonEdit>();
 		SceneEdit.SMenuItem menuItem = componentInChildren.m_MenuItem;
 		Vector3 position = UIEventTrigger.current.transform.parent.position;
-		this.m_info.Open(position, menuItem.m_texIcon, menuItem.m_strMenuName, menuItem.m_strInfo, (menuItem.m_listMember == null) ? 0 : menuItem.m_listMember.Count);
+		this.m_info.Open(position, menuItem.m_texIcon, menuItem.menuNameCurrentLanguage, menuItem.infoTextCurrentLanguage, (menuItem.m_listMember == null) ? 0 : menuItem.m_listMember.Count);
 	}
 
 	public void HoverOutCallback()
@@ -2506,11 +2509,11 @@ public class SceneEdit : MonoBehaviour
 
 	public void CallHowToNameDialog()
 	{
-		this.m_FFNameDlg.Show("名前と苗字のどちらで呼びますか?", "苗字で呼ぶ", delegate
+		this.m_FFNameDlg.ShowFromLanguageTerm("Dialog/名前と苗字のどちらで呼びますか?", "Dialog/result/苗字で呼ぶ", delegate
 		{
 			this.m_FFNameDlg.Close();
 			this.m_maid.status.isFirstNameCall = false;
-		}, "名前で呼ぶ", delegate
+		}, "Dialog/result/名前で呼ぶ", delegate
 		{
 			this.m_FFNameDlg.Close();
 			this.m_maid.status.isFirstNameCall = true;
@@ -2543,7 +2546,7 @@ public class SceneEdit : MonoBehaviour
 			maid.body0.SetMaskMode(TBody.MaskMode.None);
 			if (this.modeType == SceneEdit.ModeType.OriginalChara || this.modeType == SceneEdit.ModeType.MainChara)
 			{
-				this.m_FFNameDlg.Show("名前と苗字のどちらで呼びますか?", "苗字で呼ぶ", new FFNameDialog.OnClick(this.OnFFNameFamily), "名前で呼ぶ", new FFNameDialog.OnClick(this.OnFFNameFirst));
+				this.m_FFNameDlg.ShowFromLanguageTerm("Dialog/名前と苗字のどちらで呼びますか?", "Dialog/result/苗字で呼ぶ", new FFNameDialog.OnClick(this.OnFFNameFamily), "Dialog/result/名前で呼ぶ", new FFNameDialog.OnClick(this.OnFFNameFirst));
 			}
 			else
 			{
@@ -2569,7 +2572,7 @@ public class SceneEdit : MonoBehaviour
 	private void Conform()
 	{
 		this.m_maid.boMabataki = false;
-		GameMain.Instance.SysDlg.Show("このメイドにしますか?", SystemDialog.TYPE.OK_CANCEL, new SystemDialog.OnClick(this.OnEndDlgOk), new SystemDialog.OnClick(this.OnEndDlgCancel));
+		GameMain.Instance.SysDlg.ShowFromLanguageTerm("Dialog/このメイドにしますか?", SystemDialog.TYPE.OK_CANCEL, new SystemDialog.OnClick(this.OnEndDlgOk), new SystemDialog.OnClick(this.OnEndDlgCancel));
 	}
 
 	private void OnEndDlgOk()
@@ -2915,8 +2918,8 @@ public class SceneEdit : MonoBehaviour
 			MaidColliderCollect.RemoveColliderAll(maid);
 			maid.body0.SetMaskMode(TBody.MaskMode.None);
 			maid.OpenMouthLookTooth(false);
-			maid.IKTargetToBone("左手", null, "無し", Vector3.zero, IKMgrData.IKAttachType.Point, false);
-			maid.IKTargetToBone("右手", null, "無し", Vector3.zero, IKMgrData.IKAttachType.Point, false);
+			maid.IKTargetToBone("左手", null, "無し", Vector3.zero, IKCtrlData.IKAttachType.Point, false, 0f, false, false);
+			maid.IKTargetToBone("右手", null, "無し", Vector3.zero, IKCtrlData.IKAttachType.Point, false, 0f, false, false);
 			maid.Visible = false;
 		}
 		this.SetCameraOffset(SceneEdit.CAM_OFFS.CENTER);
@@ -3133,6 +3136,34 @@ public class SceneEdit : MonoBehaviour
 
 	public class SMenuItem : IDisposable
 	{
+		public string menuNameCurrentLanguage
+		{
+			get
+			{
+				if (LocalizationManager.CurrentLanguageCode == "ja")
+				{
+					return this.m_strMenuName;
+				}
+				string str = "parts/" + this.m_strCateName + "/" + Path.GetFileNameWithoutExtension(this.m_strMenuFileName).ToLower();
+				string translation = LocalizationManager.GetTranslation(str + "|name", true, 0, true, false, null, null);
+				return (!string.IsNullOrEmpty(translation)) ? translation.Replace("《改行》", "\n") : this.m_strMenuName;
+			}
+		}
+
+		public string infoTextCurrentLanguage
+		{
+			get
+			{
+				if (LocalizationManager.CurrentLanguageCode == "ja")
+				{
+					return this.m_strInfo;
+				}
+				string str = "parts/" + this.m_strCateName + "/" + Path.GetFileNameWithoutExtension(this.m_strMenuFileName).ToLower();
+				string translation = LocalizationManager.GetTranslation(str + "|info", true, 0, true, false, null, null);
+				return (!string.IsNullOrEmpty(translation)) ? translation.Replace("《改行》", "\n") : this.m_strInfo;
+			}
+		}
+
 		public void Dispose()
 		{
 			UnityEngine.Object.DestroyImmediate(this.m_goButton);
@@ -3555,7 +3586,8 @@ public class SceneEdit : MonoBehaviour
 			this.gcSlider = this.goMain.GetComponentsInChildren<UISlider>(true)[0];
 			GameObject childObject = UTY.GetChildObject(this.goMain, "CategoryTitle/Name", false);
 			this.gcLabel = childObject.GetComponent<UILabel>();
-			this.gcLabel.text = f_mi.m_strMenuName;
+			Localize localize = this.gcLabel.gameObject.AddComponent<Localize>();
+			localize.SetTerm("SceneEdit/カテゴリー/スライダー/" + f_mi.m_strMenuName);
 			GameObject childObject2 = UTY.GetChildObject(this.goMain, "CategoryTitle/Number/Value", false);
 			this.gcValue = childObject2.GetComponent<UILabel>();
 			this.gcValue.text = "000";

+ 2 - 2
Assembly-CSharp/SceneEditNameSettingPanel.cs

@@ -19,12 +19,12 @@ public class SceneEditNameSettingPanel : MonoBehaviour
 		EventDelegate.Add(this.firstNameInput.onChange, new EventDelegate.Callback(this.OnInputName));
 		EventDelegate.Add(this.enterButton.onClick, new EventDelegate.Callback(this.Close));
 		EventDelegate.Add(this.cancelButton.onClick, new EventDelegate.Callback(this.Chancel));
-		EventDelegate.Add(this.lastNameRandomButton.onClick, delegate
+		EventDelegate.Add(this.lastNameRandomButton.onClick, delegate()
 		{
 			this.lastNameInput.RemoveFocus();
 			this.lastNameInput.value = MaidRandomName.GetLastName();
 		});
-		EventDelegate.Add(this.firstNameRandomButton.onClick, delegate
+		EventDelegate.Add(this.firstNameRandomButton.onClick, delegate()
 		{
 			this.firstNameInput.RemoveFocus();
 			this.firstNameInput.value = MaidRandomName.GetFirstName();

+ 1 - 1
Assembly-CSharp/SceneEditWindow/BaseIconWindow.cs

@@ -18,7 +18,7 @@ namespace SceneEditWindow
 				UIWFTabButton uiwftabButton = this.CreateItemObject(this.itemGrit.gameObject, list[i]);
 				uiwftabButton.name = list[i].ToString();
 				this.tabButtonDic.Add(list[i], uiwftabButton);
-				EventDelegate.Add(uiwftabButton.onSelect, delegate
+				EventDelegate.Add(uiwftabButton.onSelect, delegate()
 				{
 					if (!UIWFSelectButton.selected)
 					{

+ 6 - 3
Assembly-CSharp/SceneEditWindow/CustomPartsWindow.cs

@@ -403,10 +403,13 @@ namespace SceneEditWindow
 						GameMain.Instance.OvrMgr.ovr_obj.right_controller.grip_collider.ResetGrip();
 					}
 					MaidColliderCollect component = this.maid.GetComponent<MaidColliderCollect>();
-					List<CapsuleCollider> collider = component.GetCollider(MaidColliderCollect.ColliderType.Grab);
-					foreach (CapsuleCollider capsuleCollider in collider)
+					if (component != null)
 					{
-						capsuleCollider.gameObject.SetActive(value);
+						List<CapsuleCollider> collider = component.GetCollider(MaidColliderCollect.ColliderType.Grab);
+						foreach (CapsuleCollider capsuleCollider in collider)
+						{
+							capsuleCollider.gameObject.SetActive(value);
+						}
 					}
 				}
 			}

+ 11 - 15
Assembly-CSharp/SceneEditWindow/PresetSaveWindow.cs

@@ -1,5 +1,6 @@
 using System;
 using System.Collections.Generic;
+using I2.Loc;
 using UnityEngine;
 using wf;
 
@@ -19,11 +20,11 @@ namespace SceneEditWindow
 		public override void Awake()
 		{
 			base.Awake();
-			for (int i = 0; i < PresetSaveWindow.IconTexFileNames.Length; i++)
+			for (int i = 0; i < PresetSaveWindow.termNames.Length; i++)
 			{
-				UIWFTabButton uiwftabButton = this.CreateItemObject(this.itemGrit.gameObject, PresetSaveWindow.IconTexFileNames[i]);
+				UIWFTabButton uiwftabButton = this.CreateItemObject(this.itemGrit.gameObject, PresetSaveWindow.termNames[i]);
 				uiwftabButton.name = i.ToString();
-				EventDelegate.Add(uiwftabButton.onClick, delegate
+				EventDelegate.Add(uiwftabButton.onClick, delegate()
 				{
 					this.OnClickItem((PresetSaveWindow.SaveType)int.Parse(UIButton.current.name));
 				});
@@ -48,23 +49,18 @@ namespace SceneEditWindow
 			}
 		}
 
-		protected UIWFTabButton CreateItemObject(GameObject parent, string textFileName)
+		protected UIWFTabButton CreateItemObject(GameObject parent, string termName)
 		{
-			GameObject gameObject = Utility.CreatePrefab(parent, "SceneEdit/WindowParts/PoseIconItem", true);
-			if (!this.texDic.ContainsKey(textFileName))
-			{
-				this.texDic.Add(textFileName, ImportCM.CreateTexture(textFileName));
-			}
-			UITexture component = gameObject.GetComponent<UITexture>();
-			component.mainTexture = this.texDic[textFileName];
+			GameObject gameObject = Utility.CreatePrefab(parent, "SceneEdit/WindowParts/PresetSaveItem", true);
+			gameObject.GetComponentInChildren<Localize>().SetTerm(termName);
 			return gameObject.GetComponent<UIWFTabButton>();
 		}
 
-		public static readonly string[] IconTexFileNames = new string[]
+		public static readonly string[] termNames = new string[]
 		{
-			"cm3d2_edit_priset_buttom_clothes_body.tex",
-			"cm3d2_edit_priset_buttom_clothes.tex",
-			"cm3d2_edit_preset_buttom_body.tex"
+			"SceneEdit/プリセット/スプライト/体と服80",
+			"SceneEdit/プリセット/スプライト/服80",
+			"SceneEdit/プリセット/スプライト/体80"
 		};
 
 		[SerializeField]

+ 1 - 1
Assembly-CSharp/SceneEditWindow/UndressWindow.cs

@@ -23,7 +23,7 @@ namespace SceneEditWindow
 			{
 				UIWFTabButton uiwftabButton = this.CreateItemObject(this.itemGrit.gameObject, UndressWindow.IconTexFileNames[i]);
 				uiwftabButton.name = i.ToString();
-				EventDelegate.Add(uiwftabButton.onClick, delegate
+				EventDelegate.Add(uiwftabButton.onClick, delegate()
 				{
 					this.OnClickItem((UndressWindow.UndressType)int.Parse(UIButton.current.name));
 				});

+ 1 - 1
Assembly-CSharp/SceneEditWindow/VoiceIconWindow.cs

@@ -24,7 +24,7 @@ namespace SceneEditWindow
 			{
 				UIWFTabButton uiwftabButton = this.CreateItemObject(this.itemGrit.gameObject, VoiceIconData.ItemData.EmotionTexFileNames[i]);
 				uiwftabButton.name = i.ToString();
-				EventDelegate.Add(uiwftabButton.onClick, delegate
+				EventDelegate.Add(uiwftabButton.onClick, delegate()
 				{
 					this.OnClickItem((VoiceIconData.ItemData.EmotionType)int.Parse(UIButton.current.name));
 				});

+ 57 - 49
Assembly-CSharp/SceneFacilityManagement.cs

@@ -72,7 +72,7 @@ public class SceneFacilityManagement : MonoBehaviour
 	{
 		if (this.m_StartDestroyEventObject != null)
 		{
-			this.m_StartDestroyEventObject.m_EventOnStart.AddListener(delegate
+			this.m_StartDestroyEventObject.m_EventOnStart.AddListener(delegate()
 			{
 				GameMain.Instance.SoundMgr.PlayBGM(this.m_PlayBGM, 0.5f, true);
 			});
@@ -407,7 +407,7 @@ public class SceneFacilityManagement : MonoBehaviour
 		this.m_UIButtonCANCEL.gameObject.SetActive(true);
 		this.m_UIButtonCANCEL.onClick.RemoveAllListeners();
 		this.m_UIButtonCANCEL.onClick.AddListener(new UnityAction(this.OpenFacilityUIConstruction));
-		this.m_UIButtonCANCEL.onClick.AddListener(delegate
+		this.m_UIButtonCANCEL.onClick.AddListener(delegate()
 		{
 			this.m_UIMainMenu.gameObject.SetActive(true);
 		});
@@ -419,6 +419,8 @@ public class SceneFacilityManagement : MonoBehaviour
 
 	private void SetUpFacilityTypeList()
 	{
+		SceneFacilityManagement.<SetUpFacilityTypeList>c__AnonStorey4 <SetUpFacilityTypeList>c__AnonStorey = new SceneFacilityManagement.<SetUpFacilityTypeList>c__AnonStorey4();
+		<SetUpFacilityTypeList>c__AnonStorey.$this = this;
 		uGUIListViewer component = this.m_UIFacilityTypeList.GetComponent<uGUIListViewer>();
 		Facility facility;
 		if (this.FacilityMgr.GetNextDayFacilityExist(this.m_SelectingFacilityIndex))
@@ -435,7 +437,7 @@ public class SceneFacilityManagement : MonoBehaviour
 			num = facility.param.typeID;
 		}
 		Facility.FacilityStatus[] facilityStatusArray = FacilityDataTable.GetFacilityStatusArray(true);
-		List<Facility.FacilityStatus> canBePlaceFacilityDataArray = new List<Facility.FacilityStatus>();
+		<SetUpFacilityTypeList>c__AnonStorey.canBePlaceFacilityDataArray = new List<Facility.FacilityStatus>();
 		Facility value;
 		for (int j = 0; j < facilityStatusArray.Length; j++)
 		{
@@ -498,14 +500,14 @@ public class SceneFacilityManagement : MonoBehaviour
 							goto IL_280;
 						}
 					}
-					canBePlaceFacilityDataArray.Add(facilityStatusArray[j]);
+					<SetUpFacilityTypeList>c__AnonStorey.canBePlaceFacilityDataArray.Add(facilityStatusArray[j]);
 				}
 			}
 			IL_280:;
 		}
-		component.Show<Transform>(canBePlaceFacilityDataArray.Count, delegate(int i, Transform trans)
+		component.Show<Transform>(<SetUpFacilityTypeList>c__AnonStorey.canBePlaceFacilityDataArray.Count, delegate(int i, Transform trans)
 		{
-			Facility.FacilityStatus facilityStatus = canBePlaceFacilityDataArray[i];
+			Facility.FacilityStatus facilityStatus = <SetUpFacilityTypeList>c__AnonStorey.canBePlaceFacilityDataArray[i];
 			Toggle componentInChildren = trans.GetComponentInChildren<Toggle>();
 			Text componentInChildren2 = trans.GetComponentInChildren<Text>();
 			componentInChildren2.text = facilityStatus.name;
@@ -515,27 +517,27 @@ public class SceneFacilityManagement : MonoBehaviour
 				{
 					return;
 				}
-				this.m_CreatingFacility.Init(facilityStatus.typeID);
-				this.ShowFacilityPowerUpList(this.m_CreatingFacility);
-				long num2 = this.CalcNowCost();
+				<SetUpFacilityTypeList>c__AnonStorey.m_CreatingFacility.Init(facilityStatus.typeID);
+				<SetUpFacilityTypeList>c__AnonStorey.ShowFacilityPowerUpList(<SetUpFacilityTypeList>c__AnonStorey.m_CreatingFacility);
+				long num2 = <SetUpFacilityTypeList>c__AnonStorey.CalcNowCost();
 				num2 += (long)FacilityDataTable.GetFacilityDefaultCost(facilityStatus.typeID, true);
-				if (this.FacilityMgr.GetNextDayFacilityExist(this.m_SelectingFacilityIndex))
+				if (<SetUpFacilityTypeList>c__AnonStorey.FacilityMgr.GetNextDayFacilityExist(<SetUpFacilityTypeList>c__AnonStorey.m_SelectingFacilityIndex))
 				{
-					Facility nextDayFacility = this.FacilityMgr.GetNextDayFacility(this.m_SelectingFacilityIndex);
+					Facility nextDayFacility = <SetUpFacilityTypeList>c__AnonStorey.FacilityMgr.GetNextDayFacility(<SetUpFacilityTypeList>c__AnonStorey.m_SelectingFacilityIndex);
 					if (nextDayFacility)
 					{
 						num2 -= (long)FacilityDataTable.GetFacilityDefaultCost(nextDayFacility.param.typeID, true);
 					}
 				}
-				this.nowCost = num2;
-				this.m_CreatingFacility.Init(facilityStatus.typeID);
-				this.SetOKButtonEnable(this.IsOKButtonEnable());
-				if (!this.m_UIFacilityInfoMiniWindow.gameObject.activeSelf)
+				<SetUpFacilityTypeList>c__AnonStorey.nowCost = num2;
+				<SetUpFacilityTypeList>c__AnonStorey.m_CreatingFacility.Init(facilityStatus.typeID);
+				<SetUpFacilityTypeList>c__AnonStorey.SetOKButtonEnable(<SetUpFacilityTypeList>c__AnonStorey.IsOKButtonEnable());
+				if (!<SetUpFacilityTypeList>c__AnonStorey.m_UIFacilityInfoMiniWindow.gameObject.activeSelf)
 				{
-					this.m_UIFacilityInfoMiniWindow.gameObject.SetActive(true);
+					<SetUpFacilityTypeList>c__AnonStorey.m_UIFacilityInfoMiniWindow.gameObject.SetActive(true);
 				}
-				this.m_UIFacilityInfoMiniWindow.SetFacilityInfo(this.m_CreatingFacility, true);
-				this.m_UIFacilityInfoMiniWindow.viewType = FacilityInfoUI.ViewType.ConstructMode;
+				<SetUpFacilityTypeList>c__AnonStorey.m_UIFacilityInfoMiniWindow.SetFacilityInfo(<SetUpFacilityTypeList>c__AnonStorey.m_CreatingFacility, true);
+				<SetUpFacilityTypeList>c__AnonStorey.m_UIFacilityInfoMiniWindow.viewType = FacilityInfoUI.ViewType.ConstructMode;
 			});
 		});
 	}
@@ -792,6 +794,8 @@ public class SceneFacilityManagement : MonoBehaviour
 
 	public void OpenNowFacilityList(bool isOn)
 	{
+		SceneFacilityManagement.<OpenNowFacilityList>c__AnonStoreyB <OpenNowFacilityList>c__AnonStoreyB = new SceneFacilityManagement.<OpenNowFacilityList>c__AnonStoreyB();
+		<OpenNowFacilityList>c__AnonStoreyB.$this = this;
 		if (!isOn)
 		{
 			return;
@@ -814,39 +818,41 @@ public class SceneFacilityManagement : MonoBehaviour
 		this.m_UIButtonOK.onClick.AddListener(new UnityAction(this.ButtonEvent_OK_OpenMainMenu));
 		this.SetOKButtonEnable(true);
 		Facility[] facilityArray = this.FacilityMgr.GetFacilityArray();
-		List<Facility> enableFacilityArray = new List<Facility>();
+		<OpenNowFacilityList>c__AnonStoreyB.enableFacilityArray = new List<Facility>();
 		for (int j = 0; j < facilityArray.Length; j++)
 		{
 			if (facilityArray[j])
 			{
-				enableFacilityArray.Add(facilityArray[j]);
+				<OpenNowFacilityList>c__AnonStoreyB.enableFacilityArray.Add(facilityArray[j]);
 			}
 		}
 		uGUIListViewer component = this.m_UIFacilityTypeList.GetComponent<uGUIListViewer>();
-		component.Show<Transform>(enableFacilityArray.Count, delegate(int i, Transform trans)
+		component.Show<Transform>(<OpenNowFacilityList>c__AnonStoreyB.enableFacilityArray.Count, delegate(int i, Transform trans)
 		{
 			Text componentInChildren = trans.GetComponentInChildren<Text>();
 			Toggle componentInChildren2 = trans.GetComponentInChildren<Toggle>();
-			componentInChildren.text = enableFacilityArray[i].facilityName;
+			componentInChildren.text = <OpenNowFacilityList>c__AnonStoreyB.enableFacilityArray[i].facilityName;
 			componentInChildren2.onValueChanged.AddListener(delegate(bool value)
 			{
 				if (!value)
 				{
 					return;
 				}
-				this.ShowFacilityPowerUpList(enableFacilityArray[i]);
-				if (!this.m_UIFacilityInfoMiniWindow.gameObject.activeSelf)
+				<OpenNowFacilityList>c__AnonStoreyB.ShowFacilityPowerUpList(<OpenNowFacilityList>c__AnonStoreyB.enableFacilityArray[i]);
+				if (!<OpenNowFacilityList>c__AnonStoreyB.m_UIFacilityInfoMiniWindow.gameObject.activeSelf)
 				{
-					this.m_UIFacilityInfoMiniWindow.gameObject.SetActive(true);
+					<OpenNowFacilityList>c__AnonStoreyB.m_UIFacilityInfoMiniWindow.gameObject.SetActive(true);
 				}
-				this.m_UIFacilityInfoMiniWindow.SetFacilityInfo(enableFacilityArray[i], true);
-				this.m_UIFacilityInfoMiniWindow.viewType = FacilityInfoUI.ViewType.DefaultMode;
+				<OpenNowFacilityList>c__AnonStoreyB.m_UIFacilityInfoMiniWindow.SetFacilityInfo(<OpenNowFacilityList>c__AnonStoreyB.enableFacilityArray[i], true);
+				<OpenNowFacilityList>c__AnonStoreyB.m_UIFacilityInfoMiniWindow.viewType = FacilityInfoUI.ViewType.DefaultMode;
 			});
 		});
 	}
 
 	public void OpenFacilityInfoList(bool isOn)
 	{
+		SceneFacilityManagement.<OpenFacilityInfoList>c__AnonStoreyD <OpenFacilityInfoList>c__AnonStoreyD = new SceneFacilityManagement.<OpenFacilityInfoList>c__AnonStoreyD();
+		<OpenFacilityInfoList>c__AnonStoreyD.$this = this;
 		if (!isOn)
 		{
 			return;
@@ -869,7 +875,7 @@ public class SceneFacilityManagement : MonoBehaviour
 		this.m_UIButtonOK.onClick.AddListener(new UnityAction(this.ButtonEvent_OK_OpenMainMenu));
 		this.SetOKButtonEnable(true);
 		Facility.FacilityStatus[] facilityStatusArray = FacilityDataTable.GetFacilityStatusArray(true);
-		List<Facility.FacilityStatus> enableFacilityArray = new List<Facility.FacilityStatus>();
+		<OpenFacilityInfoList>c__AnonStoreyD.enableFacilityArray = new List<Facility.FacilityStatus>();
 		for (int j = 0; j < facilityStatusArray.Length; j++)
 		{
 			FacilityDataTable.FacilityDefaultData facilityDefaultData = FacilityDataTable.GetFacilityDefaultData(facilityStatusArray[j].typeID, true);
@@ -886,30 +892,30 @@ public class SceneFacilityManagement : MonoBehaviour
 				{
 					goto IL_18C;
 				}
-				enableFacilityArray.Add(facilityStatusArray[j]);
+				<OpenFacilityInfoList>c__AnonStoreyD.enableFacilityArray.Add(facilityStatusArray[j]);
 			}
 			IL_18C:;
 		}
 		uGUIListViewer component = this.m_UIFacilityTypeList.GetComponent<uGUIListViewer>();
-		component.Show<Transform>(enableFacilityArray.Count, delegate(int i, Transform trans)
+		component.Show<Transform>(<OpenFacilityInfoList>c__AnonStoreyD.enableFacilityArray.Count, delegate(int i, Transform trans)
 		{
 			Text componentInChildren = trans.GetComponentInChildren<Text>();
 			Toggle componentInChildren2 = trans.GetComponentInChildren<Toggle>();
-			componentInChildren.text = enableFacilityArray[i].name;
+			componentInChildren.text = <OpenFacilityInfoList>c__AnonStoreyD.enableFacilityArray[i].name;
 			componentInChildren2.onValueChanged.AddListener(delegate(bool value)
 			{
 				if (!value)
 				{
 					return;
 				}
-				this.m_CreatingFacility.Init(enableFacilityArray[i].typeID);
-				this.ShowFacilityPowerUpList(this.m_CreatingFacility);
-				if (!this.m_UIFacilityInfoMiniWindow.gameObject.activeSelf)
+				<OpenFacilityInfoList>c__AnonStoreyD.m_CreatingFacility.Init(<OpenFacilityInfoList>c__AnonStoreyD.enableFacilityArray[i].typeID);
+				<OpenFacilityInfoList>c__AnonStoreyD.ShowFacilityPowerUpList(<OpenFacilityInfoList>c__AnonStoreyD.m_CreatingFacility);
+				if (!<OpenFacilityInfoList>c__AnonStoreyD.m_UIFacilityInfoMiniWindow.gameObject.activeSelf)
 				{
-					this.m_UIFacilityInfoMiniWindow.gameObject.SetActive(true);
+					<OpenFacilityInfoList>c__AnonStoreyD.m_UIFacilityInfoMiniWindow.gameObject.SetActive(true);
 				}
-				this.m_UIFacilityInfoMiniWindow.SetFacilityInfo(this.m_CreatingFacility, true);
-				this.m_UIFacilityInfoMiniWindow.viewType = FacilityInfoUI.ViewType.ConstructMode;
+				<OpenFacilityInfoList>c__AnonStoreyD.m_UIFacilityInfoMiniWindow.SetFacilityInfo(<OpenFacilityInfoList>c__AnonStoreyD.m_CreatingFacility, true);
+				<OpenFacilityInfoList>c__AnonStoreyD.m_UIFacilityInfoMiniWindow.viewType = FacilityInfoUI.ViewType.ConstructMode;
 			});
 		});
 	}
@@ -925,6 +931,8 @@ public class SceneFacilityManagement : MonoBehaviour
 
 	public void OpenFacilityCostumeSettingWindow()
 	{
+		SceneFacilityManagement.<OpenFacilityCostumeSettingWindow>c__AnonStoreyF <OpenFacilityCostumeSettingWindow>c__AnonStoreyF = new SceneFacilityManagement.<OpenFacilityCostumeSettingWindow>c__AnonStoreyF();
+		<OpenFacilityCostumeSettingWindow>c__AnonStoreyF.$this = this;
 		this.nowCost = this.CalcNowCost();
 		this.m_UIFacilityDetails.gameObject.SetActive(false);
 		this.m_UIFacilityPowerUpList.gameObject.SetActive(false);
@@ -943,7 +951,7 @@ public class SceneFacilityManagement : MonoBehaviour
 		this.m_UIButtonOK.onClick.AddListener(new UnityAction(this.ButtonEvent_OK_OpenMainMenu));
 		this.SetOKButtonEnable(true);
 		Facility[] facilityArray = this.FacilityMgr.GetFacilityArray();
-		List<Facility> enableFacilityArray = new List<Facility>();
+		<OpenFacilityCostumeSettingWindow>c__AnonStoreyF.enableFacilityArray = new List<Facility>();
 		for (int j = 0; j < facilityArray.Length; j++)
 		{
 			Facility facility = null;
@@ -957,31 +965,31 @@ public class SceneFacilityManagement : MonoBehaviour
 			}
 			if (facility != null)
 			{
-				enableFacilityArray.Add(facility);
+				<OpenFacilityCostumeSettingWindow>c__AnonStoreyF.enableFacilityArray.Add(facility);
 			}
 		}
 		uGUIListViewer component = this.m_UIFacilityTypeList.GetComponent<uGUIListViewer>();
-		Facility tempSelectFacility = GameMain.Instance.FacilityMgr.tempSelectFacility;
-		component.Show<Transform>(enableFacilityArray.Count, delegate(int i, Transform trans)
+		<OpenFacilityCostumeSettingWindow>c__AnonStoreyF.tempSelectFacility = GameMain.Instance.FacilityMgr.tempSelectFacility;
+		component.Show<Transform>(<OpenFacilityCostumeSettingWindow>c__AnonStoreyF.enableFacilityArray.Count, delegate(int i, Transform trans)
 		{
 			Text componentInChildren = trans.GetComponentInChildren<Text>();
 			Toggle componentInChildren2 = trans.GetComponentInChildren<Toggle>();
-			componentInChildren.text = enableFacilityArray[i].facilityName;
+			componentInChildren.text = <OpenFacilityCostumeSettingWindow>c__AnonStoreyF.enableFacilityArray[i].facilityName;
 			componentInChildren2.onValueChanged.AddListener(delegate(bool value)
 			{
 				if (!value)
 				{
 					return;
 				}
-				this.OpenCostumeSettingWindow(enableFacilityArray[i]);
-				if (!this.m_UIFacilityInfoMiniWindow.gameObject.activeSelf)
+				<OpenFacilityCostumeSettingWindow>c__AnonStoreyF.OpenCostumeSettingWindow(<OpenFacilityCostumeSettingWindow>c__AnonStoreyF.enableFacilityArray[i]);
+				if (!<OpenFacilityCostumeSettingWindow>c__AnonStoreyF.m_UIFacilityInfoMiniWindow.gameObject.activeSelf)
 				{
-					this.m_UIFacilityInfoMiniWindow.gameObject.SetActive(true);
+					<OpenFacilityCostumeSettingWindow>c__AnonStoreyF.m_UIFacilityInfoMiniWindow.gameObject.SetActive(true);
 				}
-				this.m_UIFacilityInfoMiniWindow.SetFacilityInfo(enableFacilityArray[i], true);
-				this.m_UIFacilityInfoMiniWindow.viewType = FacilityInfoUI.ViewType.DefaultMode;
+				<OpenFacilityCostumeSettingWindow>c__AnonStoreyF.m_UIFacilityInfoMiniWindow.SetFacilityInfo(<OpenFacilityCostumeSettingWindow>c__AnonStoreyF.enableFacilityArray[i], true);
+				<OpenFacilityCostumeSettingWindow>c__AnonStoreyF.m_UIFacilityInfoMiniWindow.viewType = FacilityInfoUI.ViewType.DefaultMode;
 			});
-			if (tempSelectFacility != null && enableFacilityArray[i] == tempSelectFacility)
+			if (<OpenFacilityCostumeSettingWindow>c__AnonStoreyF.tempSelectFacility != null && <OpenFacilityCostumeSettingWindow>c__AnonStoreyF.enableFacilityArray[i] == <OpenFacilityCostumeSettingWindow>c__AnonStoreyF.tempSelectFacility)
 			{
 				componentInChildren2.isOn = true;
 			}
@@ -1358,7 +1366,7 @@ public class SceneFacilityManagement : MonoBehaviour
 				facility.facilityName = value;
 				facilityNameUI.enabled = false;
 			});
-			this.m_Button.onClick.AddListener(delegate
+			this.m_Button.onClick.AddListener(delegate()
 			{
 				facilityNameUI.enabled = true;
 				facilityNameUI.interactable = true;

+ 1 - 1
Assembly-CSharp/SceneUserEditMain.cs

@@ -19,7 +19,7 @@ public class SceneUserEditMain : WfScreenChildren
 		{
 			EventDelegate.Add(uislider.onChange, new EventDelegate.Callback(this.OnChangeSingleBodyColor));
 		}
-		EventDelegate.Add(this.playerNameRandomButton.onClick, delegate
+		EventDelegate.Add(this.playerNameRandomButton.onClick, delegate()
 		{
 			this.playerNameInput.RemoveFocus();
 			this.playerNameInput.value = MaidRandomName.GetPlayerName();

+ 4 - 4
Assembly-CSharp/SceneVRCommunication.cs

@@ -256,8 +256,8 @@ public class SceneVRCommunication : MonoBehaviour
 						{
 							stockMaid.body0.MuneYureL(1f);
 							stockMaid.body0.MuneYureR(1f);
-							stockMaid.IKTargetToBone("左手", null, "無し", Vector3.zero, IKMgrData.IKAttachType.Point, false);
-							stockMaid.IKTargetToBone("右手", null, "無し", Vector3.zero, IKMgrData.IKAttachType.Point, false);
+							stockMaid.IKTargetToBone("左手", null, "無し", Vector3.zero, IKCtrlData.IKAttachType.Point, false, 0f, false, false);
+							stockMaid.IKTargetToBone("右手", null, "無し", Vector3.zero, IKCtrlData.IKAttachType.Point, false, 0f, false, false);
 							stockMaid.transform.localScale = Vector3.one;
 							stockMaid.StopKuchipakuPattern();
 							stockMaid.EyeToCamera(Maid.EyeMoveType.目と顔を向ける, 0f);
@@ -269,8 +269,8 @@ public class SceneVRCommunication : MonoBehaviour
 						Maid stockMan = characterMgr.GetStockMan(j);
 						if (stockMan != null && stockMan.body0 != null && stockMan.body0.isLoadedBody)
 						{
-							stockMan.IKTargetToBone("左手", null, "無し", Vector3.zero, IKMgrData.IKAttachType.Point, false);
-							stockMan.IKTargetToBone("右手", null, "無し", Vector3.zero, IKMgrData.IKAttachType.Point, false);
+							stockMan.IKTargetToBone("左手", null, "無し", Vector3.zero, IKCtrlData.IKAttachType.Point, false, 0f, false, false);
+							stockMan.IKTargetToBone("右手", null, "無し", Vector3.zero, IKCtrlData.IKAttachType.Point, false, 0f, false, false);
 							stockMan.DelPrefabAll();
 						}
 					}

+ 3 - 7
Assembly-CSharp/SceneWarning.cs

@@ -5,13 +5,9 @@ public class SceneWarning : MonoBehaviour
 {
 	private void Awake()
 	{
-		GameObject gameObject = GameObject.Find("UI Root/Warning");
-		GameObject gameObject2 = GameObject.Find("UI Root/Warning_tr");
-		GameObject gameObject3 = GameObject.Find("UI Root/Warning_cbl_tr");
-		gameObject.gameObject.SetActive(false);
-		gameObject2.gameObject.SetActive(false);
-		gameObject3.gameObject.SetActive(false);
-		gameObject.gameObject.SetActive(true);
+		string name = "Warning_eng_try";
+		GameObject gameObject = GameObject.Find("UI Root");
+		gameObject.transform.Find(name).gameObject.SetActive(true);
 	}
 
 	private void Start()

+ 1 - 1
Assembly-CSharp/ScheduleTaskViewer.cs

@@ -206,7 +206,7 @@ public class ScheduleTaskViewer : MonoBehaviour
 
 	private void AddButtonEvent(Button button, int num)
 	{
-		button.onClick.AddListener(delegate
+		button.onClick.AddListener(delegate()
 		{
 			this.DoSomething(num);
 		});

+ 33 - 1
Assembly-CSharp/ScriptManager.cs

@@ -2732,6 +2732,22 @@ public class ScriptManager : IDisposable
 		{
 			integer = kasizukiMgr.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男1, true);
 		}
+		else if (nowManType == ManDataType.傅き男2)
+		{
+			integer = kasizukiMgr.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男2, true);
+		}
+		else if (nowManType == ManDataType.傅き男3)
+		{
+			integer = kasizukiMgr.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男3, true);
+		}
+		else if (nowManType == ManDataType.傅き男4)
+		{
+			integer = kasizukiMgr.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男4, true);
+		}
+		else if (nowManType == ManDataType.傅き男5)
+		{
+			integer = kasizukiMgr.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男5, true);
+		}
 		result.SetInteger(integer);
 	}
 
@@ -2753,6 +2769,22 @@ public class ScriptManager : IDisposable
 		{
 			likability = kasizukiMgr.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男1, true);
 		}
+		else if (nowManType == ManDataType.傅き男2)
+		{
+			likability = kasizukiMgr.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男2, true);
+		}
+		else if (nowManType == ManDataType.傅き男3)
+		{
+			likability = kasizukiMgr.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男3, true);
+		}
+		else if (nowManType == ManDataType.傅き男4)
+		{
+			likability = kasizukiMgr.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男4, true);
+		}
+		else if (nowManType == ManDataType.傅き男5)
+		{
+			likability = kasizukiMgr.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男5, true);
+		}
 		string likabilityName = LikabilityReplace.GetLikabilityName(likability);
 		result.SetString(likabilityName);
 	}
@@ -2920,7 +2952,7 @@ public class ScriptManager : IDisposable
 	public void Serialize(BinaryWriter binary)
 	{
 		binary.Write("CM3D2_SCRIPT");
-		binary.Write(1160);
+		binary.Write(1170);
 		this.adv_kag_.Serialize(binary);
 	}
 

+ 96 - 14
Assembly-CSharp/SelectButtonCtrl.cs

@@ -2,6 +2,7 @@
 using System.Collections;
 using System.Collections.Generic;
 using UnityEngine;
+using wf;
 
 public class SelectButtonCtrl : MonoBehaviour
 {
@@ -11,10 +12,13 @@ public class SelectButtonCtrl : MonoBehaviour
 		{
 			this.Panel = base.transform.parent.gameObject.GetComponent<UIPanel>();
 		}
+		this.grid = base.GetComponent<UIGrid>();
+		this.scrollView = base.transform.parent.GetComponent<UIScrollView>();
 	}
 
 	public void CreateSelectButtons(List<KeyValuePair<string, KeyValuePair<string, bool>>> listSelectBtn, Action<string, string> onClickCallBack, UnityEngine.Object selectBtnPrefab)
 	{
+		this.grid.cellHeight = 0f;
 		this.m_OnClickCallBack = null;
 		this.m_OnClickCallEvent = null;
 		this.ClearExistSelectButton();
@@ -24,27 +28,59 @@ public class SelectButtonCtrl : MonoBehaviour
 		foreach (KeyValuePair<string, KeyValuePair<string, bool>> keyValuePair in listSelectBtn)
 		{
 			GameObject gameObject = UnityEngine.Object.Instantiate(selectBtnPrefab) as GameObject;
-			UIButton component = gameObject.GetComponent<UIButton>();
-			EventDelegate.Add(component.onClick, new EventDelegate.Callback(this.ClickSelectButton));
+			for (int i = 0; i < gameObject.transform.childCount; i++)
+			{
+				UIButton component = gameObject.transform.GetChild(i).GetComponent<UIButton>();
+				EventDelegate.Add(component.onClick, new EventDelegate.Callback(this.ClickSelectButton));
+				component.isEnabled = keyValuePair.Value.Value;
+			}
 			gameObject.name = "selectButton_" + num;
 			gameObject.transform.parent = base.transform;
 			gameObject.transform.localScale = Vector3.one;
 			gameObject.transform.localPosition = Vector3.zero;
 			gameObject.transform.rotation = Quaternion.identity;
-			EventDelegate.Set(gameObject.GetComponent<TweenAlpha>().onFinished, new EventDelegate.Callback(this.OnFinished));
-			UILabel component2 = UTY.GetChildObject(gameObject, "Option", false).GetComponent<UILabel>();
-			component2.text = keyValuePair.Key;
+			SubtitleDisplayManager component2 = gameObject.GetComponent<SubtitleDisplayManager>();
+			if (component2 != null)
+			{
+				component2.SetTextFromScriptStyle(keyValuePair.Key);
+			}
+			else
+			{
+				UILabel component3 = UTY.GetChildObject(gameObject, "Single/Option", false).GetComponent<UILabel>();
+				component3.text = keyValuePair.Key;
+			}
 			SelectButtonCtrl.SelectButton selectButton = new SelectButtonCtrl.SelectButton();
 			selectButton.m_btnName = gameObject.name;
 			selectButton.m_goSelectBtn = gameObject;
 			selectButton.m_msg = keyValuePair.Key;
 			selectButton.m_tag = keyValuePair.Value.Key;
-			component.isEnabled = keyValuePair.Value.Value;
+			if (GameMain.Instance.VRMode)
+			{
+				UIButton[] componentsInChildren = gameObject.GetComponentsInChildren<UIButton>(true);
+				foreach (UIButton uibutton in componentsInChildren)
+				{
+					uibutton.defaultColor = new Color(0.8f, 0.8f, 0.8f, 1f);
+				}
+			}
 			this.m_listSelectBtn.Add(new KeyValuePair<string, SelectButtonCtrl.SelectButton>(selectButton.m_btnName, selectButton));
 			num++;
 		}
-		base.GetComponent<UIGrid>().Reposition();
+		Utility.ResetNGUI(this.grid);
+		this.scrollView.verticalScrollBar.gameObject.SetActive(true);
+		Utility.ResetNGUI(this.scrollView);
+		this.scrollView.verticalScrollBar.value = 0f;
+		this.scrollView.verticalScrollBar.alpha = 0f;
 		this.m_EffectStat = SelectButtonCtrl.EffectStat.Null;
+		base.StartCoroutine("FadeIn");
+	}
+
+	private IEnumerator FadeIn()
+	{
+		this.scrollView.GetComponent<UIPanel>().alpha = 0f;
+		yield return null;
+		yield return null;
+		this.scrollView.GetComponent<UIPanel>().alpha = 1f;
+		yield break;
 	}
 
 	public void SetPanelAlpha(float value)
@@ -83,26 +119,28 @@ public class SelectButtonCtrl : MonoBehaviour
 	public void ClickSelectButton()
 	{
 		string b = string.Empty;
-		b = UIButton.current.name;
+		b = UIButton.current.transform.parent.name;
 		foreach (KeyValuePair<string, SelectButtonCtrl.SelectButton> keyValuePair in this.m_listSelectBtn)
 		{
 			GameObject goSelectBtn = keyValuePair.Value.m_goSelectBtn;
 			if (keyValuePair.Key == b)
 			{
+				TweenAlpha tweenAlpha;
 				if (GameMain.Instance.ScriptMgr.adv_kag.skip_mode)
 				{
-					TweenAlpha.Begin(goSelectBtn, 0.01f, 0f);
+					tweenAlpha = TweenAlpha.Begin(goSelectBtn, 0.01f, 0f);
 				}
 				else
 				{
-					TweenAlpha.Begin(keyValuePair.Value.m_goSelectBtn, 1f * GameMain.Instance.CMSystem.FadeSpeedRate, 0f);
+					tweenAlpha = TweenAlpha.Begin(keyValuePair.Value.m_goSelectBtn, 1f * GameMain.Instance.CMSystem.FadeSpeedRate, 0f);
 				}
+				EventDelegate.Set(tweenAlpha.onFinished, new EventDelegate.Callback(this.OnFinished));
 				if (this.m_OnClickCallBack != null)
 				{
 					string text = keyValuePair.Value.m_msg;
 					string tag = keyValuePair.Value.m_tag;
 					Action<string, string> tmp = this.m_OnClickCallBack;
-					this.m_OnClickCallEvent = delegate
+					this.m_OnClickCallEvent = delegate()
 					{
 						tmp(text, tag);
 					};
@@ -111,7 +149,11 @@ public class SelectButtonCtrl : MonoBehaviour
 			}
 			else
 			{
-				goSelectBtn.GetComponent<TweenAlpha>().onFinished = null;
+				for (int i = 0; i < goSelectBtn.transform.childCount; i++)
+				{
+					TweenAlpha component = goSelectBtn.transform.GetChild(i).GetComponent<TweenAlpha>();
+					component.onFinished = null;
+				}
 				if (GameMain.Instance.ScriptMgr.adv_kag.skip_mode)
 				{
 					TweenAlpha.Begin(goSelectBtn, 0.01f, 0f);
@@ -121,8 +163,14 @@ public class SelectButtonCtrl : MonoBehaviour
 					TweenAlpha.Begin(goSelectBtn, 0.3f * GameMain.Instance.CMSystem.FadeSpeedRate, 0f);
 				}
 			}
-			goSelectBtn.GetComponent<BoxCollider>().enabled = false;
+			BoxCollider[] componentsInChildren = goSelectBtn.GetComponentsInChildren<BoxCollider>();
+			foreach (BoxCollider boxCollider in componentsInChildren)
+			{
+				boxCollider.enabled = false;
+			}
 		}
+		this.scrollView.verticalScrollBar.alpha = 0f;
+		this.scrollView.verticalScrollBar.gameObject.SetActive(false);
 		this.m_EffectStat = SelectButtonCtrl.EffectStat.EndOut;
 	}
 
@@ -134,7 +182,11 @@ public class SelectButtonCtrl : MonoBehaviour
 		}
 		this.dragMat.SetActive(false);
 		this.ClearExistSelectButton();
-		base.transform.parent.GetComponent<UIScrollView>().ResetPosition();
+		this.grid.cellHeight = 93f;
+		Utility.ResetNGUI(this.scrollView);
+		this.scrollView.verticalScrollBar.alpha = 0f;
+		this.scrollView.verticalScrollBar.value = 0f;
+		this.scrollView.verticalScrollBar.gameObject.SetActive(false);
 		this.m_EffectStat = SelectButtonCtrl.EffectStat.Null;
 		if (this.m_OnClickCallEvent != null)
 		{
@@ -143,6 +195,30 @@ public class SelectButtonCtrl : MonoBehaviour
 		this.m_OnClickCallEvent = null;
 	}
 
+	private void Update()
+	{
+		if (this.scrollRest)
+		{
+			Utility.ResetNGUI(this.scrollView);
+			this.scrollView.verticalScrollBar.value = 0f;
+			this.scrollView.verticalScrollBar.alpha = 0f;
+			this.scrollView.verticalScrollBar.ForceUpdate();
+			this.scrollRest = false;
+		}
+		if (GameMain.Instance.CMSystem.SubtitleType == SubtitleDisplayManager.DisplayType.OriginalAndSubtitle && this.grid.cellHeight != 110f)
+		{
+			this.grid.cellHeight = 110f;
+			Utility.ResetNGUI(this.grid);
+			this.scrollRest = true;
+		}
+		else if (GameMain.Instance.CMSystem.SubtitleType != SubtitleDisplayManager.DisplayType.OriginalAndSubtitle && this.grid.cellHeight != 93f)
+		{
+			this.grid.cellHeight = 93f;
+			Utility.ResetNGUI(this.grid);
+			this.scrollRest = true;
+		}
+	}
+
 	[SerializeField]
 	private GameObject dragMat;
 
@@ -156,6 +232,12 @@ public class SelectButtonCtrl : MonoBehaviour
 
 	private SelectButtonCtrl.EffectStat m_EffectStat;
 
+	private UIGrid grid;
+
+	private UIScrollView scrollView;
+
+	private bool scrollRest;
+
 	private enum EffectStat
 	{
 		Null,

+ 1 - 1
Assembly-CSharp/SlotManager.cs

@@ -54,7 +54,7 @@ public class SlotManager : MonoBehaviour
 		}
 		this.GetCsv();
 		ExChangeUI instance = ExChangeUI.Instance;
-		instance.FadeOutStartAction = (Action)Delegate.Combine(instance.FadeOutStartAction, new Action(delegate
+		instance.FadeOutStartAction = (Action)Delegate.Combine(instance.FadeOutStartAction, new Action(delegate()
 		{
 			this.credit = GameMain.Instance.CharacterMgr.status.casinoCoin;
 			this.CreditUpdate();

+ 1 - 1
Assembly-CSharp/SlotUImgr.cs

@@ -21,7 +21,7 @@ public class SlotUImgr : MonoBehaviour
 	private void Start()
 	{
 		ExChangeUI instance = ExChangeUI.Instance;
-		instance.FadeInStartAction = (Action)Delegate.Combine(instance.FadeInStartAction, new Action(delegate
+		instance.FadeInStartAction = (Action)Delegate.Combine(instance.FadeInStartAction, new Action(delegate()
 		{
 			this.m_ButtonGroup.interactable = false;
 		}));

+ 2 - 2
Assembly-CSharp/StaffRollCtrl.cs

@@ -81,7 +81,7 @@ public class StaffRollCtrl : MonoBehaviour
 	{
 		this.ChangeTextureState(StaffRollCtrl.TxetureState.RunnigFade);
 		this.m_tweenTexture = TweenAlpha.Begin(this.m_goTexture, this.fadeInTimeTexure, 1f);
-		EventDelegate.Set(this.m_tweenTexture.onFinished, delegate
+		EventDelegate.Set(this.m_tweenTexture.onFinished, delegate()
 		{
 			this.ChangeTextureState(StaffRollCtrl.TxetureState.Display);
 			this.m_updateTime = Time.time + this.m_dispTextureTime;
@@ -100,7 +100,7 @@ public class StaffRollCtrl : MonoBehaviour
 	{
 		this.ChangeTextureState(StaffRollCtrl.TxetureState.RunnigFade);
 		TweenAlpha tweenAlpha = TweenAlpha.Begin(this.m_goTexture, this.fadeOutTimeTexure, 0f);
-		EventDelegate.Set(tweenAlpha.onFinished, delegate
+		EventDelegate.Set(tweenAlpha.onFinished, delegate()
 		{
 			this.ChangeTextureState(StaffRollCtrl.TxetureState.Next);
 		});

+ 2 - 2
Assembly-CSharp/StatusViewer.cs

@@ -142,7 +142,7 @@ public class StatusViewer : MonoBehaviour
 		tweenAlpha.to = 1f;
 		tweenAlpha.duration = 0.3f;
 		tweenAlpha.PlayForward();
-		EventDelegate.Set(tweenAlpha.onFinished, delegate
+		EventDelegate.Set(tweenAlpha.onFinished, delegate()
 		{
 			TweenAlpha component = this.clubNameInputPanel.gameObject.GetComponent<TweenAlpha>();
 			if (component != null)
@@ -168,7 +168,7 @@ public class StatusViewer : MonoBehaviour
 		tweenAlpha.to = 0f;
 		tweenAlpha.duration = 0.3f;
 		tweenAlpha.PlayForward();
-		EventDelegate.Set(tweenAlpha.onFinished, delegate
+		EventDelegate.Set(tweenAlpha.onFinished, delegate()
 		{
 			TweenAlpha component = this.clubNameInputPanel.gameObject.GetComponent<TweenAlpha>();
 			if (component != null)

+ 3 - 0
Assembly-CSharp/SteamVR_GazeTracker.cs

@@ -1,10 +1,13 @@
 using System;
+using System.Diagnostics;
 using UnityEngine;
 
 public class SteamVR_GazeTracker : MonoBehaviour
 {
+	[DebuggerBrowsable(DebuggerBrowsableState.Never)]
 	public event GazeEventHandler GazeOn;
 
+	[DebuggerBrowsable(DebuggerBrowsableState.Never)]
 	public event GazeEventHandler GazeOff;
 
 	private void Start()

+ 3 - 0
Assembly-CSharp/SteamVR_LaserPointer.cs

@@ -1,10 +1,13 @@
 using System;
+using System.Diagnostics;
 using UnityEngine;
 
 public class SteamVR_LaserPointer : MonoBehaviour
 {
+	[DebuggerBrowsable(DebuggerBrowsableState.Never)]
 	public event PointerEventHandler PointerIn;
 
+	[DebuggerBrowsable(DebuggerBrowsableState.Never)]
 	public event PointerEventHandler PointerOut;
 
 	private void Start()

+ 12 - 0
Assembly-CSharp/SteamVR_TrackedController.cs

@@ -1,29 +1,41 @@
 using System;
+using System.Diagnostics;
 using UnityEngine;
 using Valve.VR;
 
 public class SteamVR_TrackedController : MonoBehaviour
 {
+	[DebuggerBrowsable(DebuggerBrowsableState.Never)]
 	public event ClickedEventHandler MenuButtonClicked;
 
+	[DebuggerBrowsable(DebuggerBrowsableState.Never)]
 	public event ClickedEventHandler MenuButtonUnclicked;
 
+	[DebuggerBrowsable(DebuggerBrowsableState.Never)]
 	public event ClickedEventHandler TriggerClicked;
 
+	[DebuggerBrowsable(DebuggerBrowsableState.Never)]
 	public event ClickedEventHandler TriggerUnclicked;
 
+	[DebuggerBrowsable(DebuggerBrowsableState.Never)]
 	public event ClickedEventHandler SteamClicked;
 
+	[DebuggerBrowsable(DebuggerBrowsableState.Never)]
 	public event ClickedEventHandler PadClicked;
 
+	[DebuggerBrowsable(DebuggerBrowsableState.Never)]
 	public event ClickedEventHandler PadUnclicked;
 
+	[DebuggerBrowsable(DebuggerBrowsableState.Never)]
 	public event ClickedEventHandler PadTouched;
 
+	[DebuggerBrowsable(DebuggerBrowsableState.Never)]
 	public event ClickedEventHandler PadUntouched;
 
+	[DebuggerBrowsable(DebuggerBrowsableState.Never)]
 	public event ClickedEventHandler Gripped;
 
+	[DebuggerBrowsable(DebuggerBrowsableState.Never)]
 	public event ClickedEventHandler Ungripped;
 
 	private void Start()

+ 7 - 2
Assembly-CSharp/SubtitleDisplayManager.cs

@@ -65,7 +65,7 @@ public class SubtitleDisplayManager : MonoBehaviour
 				return;
 			}
 			this.originalUILabel.text = (this.originalText_ = ((!string.IsNullOrEmpty(value)) ? MessageClass.GetWrapString(this.originalUILabel, value) : string.Empty));
-			if (this.displayType_ == SubtitleDisplayManager.DisplayType.Original)
+			if (this.displayType_ == SubtitleDisplayManager.DisplayType.Original || (this.displayType_ == SubtitleDisplayManager.DisplayType.None && this.hideTypeOverRide == SubtitleDisplayManager.DisplayType.Original))
 			{
 				this.singleUILabel.text = this.originalText_;
 			}
@@ -86,7 +86,7 @@ public class SubtitleDisplayManager : MonoBehaviour
 				return;
 			}
 			this.subtitlesUILabel.text = (this.subtitlesText_ = ((!string.IsNullOrEmpty(value)) ? value : string.Empty));
-			if (this.displayType_ == SubtitleDisplayManager.DisplayType.Subtitle)
+			if (this.displayType_ == SubtitleDisplayManager.DisplayType.Subtitle || (this.displayType_ == SubtitleDisplayManager.DisplayType.None && this.hideTypeOverRide == SubtitleDisplayManager.DisplayType.Subtitle))
 			{
 				this.singleUILabel.text = this.subtitlesText_;
 			}
@@ -295,5 +295,10 @@ public class SubtitleDisplayManager : MonoBehaviour
 			}
 			return result;
 		}
+
+		public static string GetTerm(SubtitleDisplayManager.DisplayType displayType)
+		{
+			return "Config/字幕タイプ/" + SubtitleDisplayManager.EnumConvert.GetString(displayType);
+		}
 	}
 }

+ 10 - 0
Assembly-CSharp/SystemDialog.cs

@@ -1,4 +1,5 @@
 using System;
+using I2.Loc;
 using UnityEngine;
 
 public class SystemDialog : MonoBehaviour
@@ -47,6 +48,10 @@ public class SystemDialog : MonoBehaviour
 		{
 			NDebug.Assert("ダイアログの二重呼出しはできません。", false);
 		}
+		if (string.IsNullOrEmpty(f_strMsg))
+		{
+			f_strMsg = string.Empty;
+		}
 		this.m_uiMsg.text = f_strMsg.Replace('|', '\n');
 		this.m_goOk.SetActive(true);
 		if (f_eType == SystemDialog.TYPE.OK_CANCEL || f_eType == SystemDialog.TYPE.YES_NO)
@@ -104,6 +109,11 @@ public class SystemDialog : MonoBehaviour
 		this.m_bDecided = false;
 	}
 
+	public void ShowFromLanguageTerm(string messageTerm, SystemDialog.TYPE f_eType, SystemDialog.OnClick f_dgOk = null, SystemDialog.OnClick f_dgCancel = null)
+	{
+		this.Show(LocalizationManager.GetTranslation(messageTerm, true, 0, true, false, null, null), f_eType, f_dgOk, f_dgCancel);
+	}
+
 	public void UpdateAlpha(float f_fNewValue)
 	{
 		this.m_uiPanel.alpha = f_fNewValue;

+ 32 - 56
Assembly-CSharp/SystemShortcut.cs

@@ -1,5 +1,6 @@
 using System;
 using System.Collections.Generic;
+using I2.Loc;
 using UnityEngine;
 using UnityEngine.SceneManagement;
 
@@ -30,17 +31,17 @@ public class SystemShortcut : MonoBehaviour
 		this.m_aryDgOnClick[9] = new EventDelegate(new EventDelegate.Callback(this.OnClick_Help));
 		this.m_aryDgOnClick[10] = new EventDelegate(new EventDelegate.Callback(this.OnClick_VRAvatar));
 		Dictionary<int, string> dictionary = new Dictionary<int, string>();
-		dictionary.Add(0, "コンフィグ");
-		dictionary.Add(3, "UI無し スクリーンショット(Alt+PrtScr)");
-		dictionary.Add(4, "UI有り スクリーンショット(Shift+PrtScr)");
-		dictionary.Add(6, "ショップ");
-		dictionary.Add(5, "タイトルへ");
-		dictionary.Add(2, "ゲーム情報");
-		dictionary.Add(1, "終了");
-		dictionary.Add(7, "エンパイアクラブに帰る");
-		dictionary.Add(8, "VRヘルプ");
-		dictionary.Add(9, "シーンのヘルプ");
-		dictionary.Add(10, "バーチャル アバター スタジオ");
+		dictionary.Add(0, "System/ショートカット/コンフィグ");
+		dictionary.Add(3, "System/ショートカット/UI無し スクリーンショット");
+		dictionary.Add(4, "System/ショートカット/UI有り スクリーンショット");
+		dictionary.Add(6, "System/ショートカット/ショップ");
+		dictionary.Add(5, "System/ショートカット/タイトルへ");
+		dictionary.Add(2, "System/ショートカット/ゲーム情報");
+		dictionary.Add(1, "System/ショートカット/終了");
+		dictionary.Add(7, "System/ショートカット/エンパイアクラブに帰る");
+		dictionary.Add(8, "System/ショートカット/VRヘルプ");
+		dictionary.Add(9, "System/ショートカット/シーンのヘルプ");
+		dictionary.Add(10, "System/ショートカット/バーチャル アバター スタジオ");
 		for (int i = 0; i < this.m_aryObjPath.Length; i++)
 		{
 			this.m_goBtn[i] = UTY.GetChildObject(base.gameObject, this.m_aryObjPath[i], false);
@@ -50,15 +51,15 @@ public class SystemShortcut : MonoBehaviour
 			{
 				UIEventTrigger component = this.m_goBtn[i].GetComponent<UIEventTrigger>();
 				string text = dictionary[i];
-				EventDelegate.Add(component.onHoverOver, delegate
+				EventDelegate.Add(component.onHoverOver, delegate()
 				{
 					this.VisibleExplanation(text, true);
 				});
-				EventDelegate.Add(component.onHoverOut, delegate
+				EventDelegate.Add(component.onHoverOut, delegate()
 				{
 					this.VisibleExplanation(text, false);
 				});
-				EventDelegate.Add(component.onDragStart, delegate
+				EventDelegate.Add(component.onDragStart, delegate()
 				{
 					this.VisibleExplanation(text, false);
 				});
@@ -74,17 +75,9 @@ public class SystemShortcut : MonoBehaviour
 		this.m_spriteExplanation.gameObject.SetActive(false);
 		this.dicBGSizeType.Add(SystemShortcut.BGSizeType.Long, 380);
 		this.dicBGSizeType.Add(SystemShortcut.BGSizeType.Short, 340);
-		int width;
-		if (GameMain.Instance.CMSystem.NetUse)
-		{
-			width = this.dicBGSizeType[SystemShortcut.BGSizeType.Long];
-		}
-		else
-		{
-			width = this.dicBGSizeType[SystemShortcut.BGSizeType.Short];
-			GameObject childObject = UTY.GetChildObject(base.gameObject, this.m_aryObjPath[6], false);
-			childObject.SetActive(false);
-		}
+		int width = this.dicBGSizeType[SystemShortcut.BGSizeType.Short];
+		GameObject childObject = UTY.GetChildObject(base.gameObject, this.m_aryObjPath[6], false);
+		childObject.SetActive(false);
 		this.m_uiBase.width = width;
 		Vector2 vector = new Vector2(700f, 110f);
 		this.m_hitArea.size = new Vector3((float)this.m_uiBase.width + vector.x, (float)this.m_uiBase.height + vector.y, 0f);
@@ -220,7 +213,7 @@ public class SystemShortcut : MonoBehaviour
 		{
 			return;
 		}
-		GameMain.Instance.SysDlg.Show("終了しますか?", SystemDialog.TYPE.OK_CANCEL, new SystemDialog.OnClick(this.OnToEnd), new SystemDialog.OnClick(this.OnCancel));
+		GameMain.Instance.SysDlg.ShowFromLanguageTerm("Dialog/終了しますか?", SystemDialog.TYPE.OK_CANCEL, new SystemDialog.OnClick(this.OnToEnd), new SystemDialog.OnClick(this.OnCancel));
 		this.BaseClose();
 	}
 
@@ -230,11 +223,11 @@ public class SystemShortcut : MonoBehaviour
 		{
 			return;
 		}
-		string text = "カスタムオーダーメイド3D 2";
-		string text2 = "カスタムメイド3D 2";
-		string text3 = string.Concat(new string[]
+		string text = "カスタムメイド3D 2";
+		string translation = LocalizationManager.GetTranslation("System/カスタムオーダーメイド3D 2", true, 0, true, false, null, null);
+		string text2 = string.Concat(new string[]
 		{
-			text,
+			translation,
 			"\nVersion ",
 			GameUty.GetGameVersionText(),
 			" (BuildVersion : ",
@@ -243,17 +236,17 @@ public class SystemShortcut : MonoBehaviour
 		});
 		if (!string.IsNullOrEmpty(GameMain.Instance.CMSystem.CM3D2Path))
 		{
-			string text4 = text3;
-			text3 = string.Concat(new string[]
+			string text3 = text2;
+			text2 = string.Concat(new string[]
 			{
-				text4,
+				text3,
 				"\n",
-				text2,
+				text,
 				"\nVersion ",
 				GameUty.GetLegacyGameVersionText()
 			});
 		}
-		GameMain.Instance.SysDlg.Show(text3, SystemDialog.TYPE.OK, new SystemDialog.OnClick(this.OnCancel), null);
+		GameMain.Instance.SysDlg.Show(text2, SystemDialog.TYPE.OK, new SystemDialog.OnClick(this.OnCancel), null);
 		this.BaseClose();
 	}
 
@@ -276,11 +269,11 @@ public class SystemShortcut : MonoBehaviour
 		}
 		if (Application.loadedLevelName != "SceneTitle")
 		{
-			GameMain.Instance.SysDlg.Show("タイトルに戻りますか?", SystemDialog.TYPE.OK_CANCEL, new SystemDialog.OnClick(this.OnToTitle), new SystemDialog.OnClick(this.OnCancel));
+			GameMain.Instance.SysDlg.ShowFromLanguageTerm("Dialog/タイトルに戻りますか?", SystemDialog.TYPE.OK_CANCEL, new SystemDialog.OnClick(this.OnToTitle), new SystemDialog.OnClick(this.OnCancel));
 		}
 		else
 		{
-			GameMain.Instance.SysDlg.Show("現在タイトルに戻れません。", SystemDialog.TYPE.OK, new SystemDialog.OnClick(this.OnCancel), null);
+			GameMain.Instance.SysDlg.ShowFromLanguageTerm("Dialog/現在タイトルに戻れません。", SystemDialog.TYPE.OK, new SystemDialog.OnClick(this.OnCancel), null);
 		}
 		this.BaseClose();
 	}
@@ -336,9 +329,6 @@ public class SystemShortcut : MonoBehaviour
 
 	private void OnClick_VRAvatar()
 	{
-		ControllerShortcutWindow controllerShortcutWindow = OvrIK.CreateUI();
-		controllerShortcutWindow.Open();
-		this.BaseClose();
 	}
 
 	private void OnClick_VRConfig()
@@ -450,7 +440,7 @@ public class SystemShortcut : MonoBehaviour
 	{
 		if (visible)
 		{
-			this.m_labelExplanation.text = text;
+			this.m_labelExplanation.text = LocalizationManager.GetTranslation(text, true, 0, true, false, null, null);
 			this.m_labelExplanation.width = 0;
 			this.m_labelExplanation.MakePixelPerfect();
 			UISprite component = this.m_spriteExplanation.GetComponent<UISprite>();
@@ -547,21 +537,7 @@ public class SystemShortcut : MonoBehaviour
 		{
 			return;
 		}
-		GameMain.VRDeviceType vrdeviceTypeID = GameMain.Instance.VRDeviceTypeID;
-		if (vrdeviceTypeID != GameMain.VRDeviceType.VIVE && vrdeviceTypeID != GameMain.VRDeviceType.RIFT_TOUCH)
-		{
-			childObject.SetActive(false);
-			return;
-		}
-		string nowSceneName = GameMain.Instance.GetNowSceneName();
-		if (string.IsNullOrEmpty(nowSceneName) || GameMain.Instance.CMSystem.SConfig.OvrIkAllSceneEnable || nowSceneName == "SceneEdit" || nowSceneName == "ScenePhotoMode" || nowSceneName.IndexOf("SceneDance_") == 0)
-		{
-			childObject.SetActive(true);
-		}
-		else
-		{
-			childObject.SetActive(false);
-		}
+		childObject.SetActive(false);
 	}
 
 	private string[] m_aryObjPath = new string[]

+ 35 - 65
Assembly-CSharp/TBody.cs

@@ -31,11 +31,11 @@ public class TBody : MonoBehaviour
 		}
 	}
 
-	public bool IKExecLate
+	public FullBodyIKCtrl IKCtrl
 	{
 		get
 		{
-			return this.IKHandL.IsExecLate || this.IKHandR.IsExecLate || this.IKMuneL.IsExecLate || this.IKMuneR.IsExecLate;
+			return this.m_IKCtrl;
 		}
 	}
 
@@ -83,6 +83,7 @@ public class TBody : MonoBehaviour
 		this.maid = maid_;
 		this.boMAN = boMAN_;
 		this.boMaid = !this.boMAN;
+		this.m_IKCtrl = base.gameObject.AddComponent<FullBodyIKCtrl>();
 		this.m_strSlotName = new string[TBody.m_strDefSlotName.Length];
 		TBody.m_strDefSlotName.CopyTo(this.m_strSlotName, 0);
 		if (this.boMAN)
@@ -300,18 +301,6 @@ public class TBody : MonoBehaviour
 		{
 			Debug.LogError("HandL null");
 		}
-		this.IKHandL.SetKinematicTgt(this.HandL, this, 3);
-		this.IKHandL.IkCmoInit(this);
-		if (!this.StrIKDataPair.ContainsKey("左手"))
-		{
-			this.StrIKDataPair.Add("左手", this.IKHandL);
-		}
-		this.IKHandR.SetKinematicTgt(this.HandR, this, 3);
-		this.IKHandR.IkCmoInit(this);
-		if (!this.StrIKDataPair.ContainsKey("右手"))
-		{
-			this.StrIKDataPair.Add("右手", this.IKHandR);
-		}
 		this.CenterBone = CMT.SearchObjName(this.m_trBones, "center", true);
 		this.ToeR = CMT.SearchObjName(this.m_trBones, text + " R Toe2Nub", true);
 		this.ToeL = CMT.SearchObjName(this.m_trBones, text + " L Toe2Nub", true);
@@ -407,6 +396,7 @@ public class TBody : MonoBehaviour
 		this.Hip_R = CMT.SearchObjName(this.m_trBones, "Hip_R", true);
 		this.Hip_L_MR = CMT.SearchObjName(this.m_trBones2, "Hip_L", true);
 		this.Hip_R_MR = CMT.SearchObjName(this.m_trBones2, "Hip_R", true);
+		this.m_IKCtrl.Init();
 		if (this.boMAN)
 		{
 			return;
@@ -456,20 +446,6 @@ public class TBody : MonoBehaviour
 			this.m_trHitChildR.localPosition = this.m_trsMuneRsub.localPosition;
 			this.m_HitChildColliderR = gameObject6.GetComponent<SphereCollider>();
 		}
-		Transform transform = (!this.m_trsMuneLsub) ? CMT.SearchObjName(this.m_trBones, "Mune_L_sub", true) : this.m_trsMuneLsub;
-		Transform transform2 = (!this.m_trsMuneRsub) ? CMT.SearchObjName(this.m_trBones, "Mune_R_sub", true) : this.m_trsMuneRsub;
-		this.IKMuneL.CreateAttachPointObj("_IK_nippleL", transform, this, "body", "乳首左");
-		this.IKMuneR.CreateAttachPointObj("_IK_nippleR", transform2, this, "body", "乳首右");
-		this.IKMuneL.SetKinematicTgt(transform, this, 2);
-		this.IKMuneR.SetKinematicTgt(transform2, this, 2);
-		if (!this.StrIKDataPair.ContainsKey("左胸"))
-		{
-			this.StrIKDataPair.Add("左胸", this.IKMuneL);
-		}
-		if (!this.StrIKDataPair.ContainsKey("右胸"))
-		{
-			this.StrIKDataPair.Add("右胸", this.IKMuneR);
-		}
 		for (int i = 0; i < this.goSlot.Count; i++)
 		{
 			int rot = 270;
@@ -2552,38 +2528,20 @@ public class TBody : MonoBehaviour
 		{
 			return;
 		}
-		this.IKHandL.IsExecLate = (this.IKHandR.IsExecLate = false);
-		this.IKMuneL.IsExecLate = (this.IKMuneR.IsExecLate = false);
 		this.MoveHeadAndEye();
-		this.IKHandL.IKExec();
-		this.IKHandR.IKExec();
 		this.MoveMomoniku();
-		if (!this.IKExecLate)
-		{
-			this.AutoTwist();
-		}
 		if (!this.boMAN)
 		{
-			this.IKMuneL.SyncAttachPoint();
-			this.IKMuneR.SyncAttachPoint();
 			this.jbMuneL.LateUpdateSelf();
 			this.jbMuneR.LateUpdateSelf();
-			this.IKMuneL.IKExec();
-			this.IKMuneR.IKExec();
 		}
 		if (this.boMAN && this.trManChinko != null)
 		{
 			this.trManChinko.localPosition = this.vecChinkoOffset;
 		}
-		if (!this.IKExecLate)
+		if (this.OnLateUpdate != null)
 		{
-			for (int i = 0; i < this.goSlot.Count; i++)
-			{
-				if (this.goSlot[i].obj != null)
-				{
-					this.goSlot[i].CopyTrans();
-				}
-			}
+			this.OnLateUpdate();
 		}
 		if (!this.boMAN)
 		{
@@ -2594,13 +2552,6 @@ public class TBody : MonoBehaviour
 			this.JumpDis = (this.JumpDis + this.JumpDis_old) * 0.5f;
 			this.JumpDis_old = this.JumpDis;
 		}
-		if (!this.IKExecLate)
-		{
-			for (int j = 0; j < this.goSlot.Count; j++)
-			{
-				this.goSlot[j].Update();
-			}
-		}
 		if (!this.boMAN)
 		{
 			this.Calf_L_pos_old = this.Calf_L.position;
@@ -2608,12 +2559,25 @@ public class TBody : MonoBehaviour
 			this.Thigh_L_pos_old = this.Thigh_L.position;
 			this.Thigh_R_pos_old = this.Thigh_R.position;
 		}
+		this.m_IKCtrl.IKUpdate();
 		this.LateUpdateEnd = true;
 		if (this.OnLateUpdateEnd != null)
 		{
 			this.OnLateUpdateEnd();
 		}
 		this.OnLateUpdateEnd = null;
+		if (!this.m_IKCtrl.IsUpdateLate)
+		{
+			this.AutoTwist();
+			for (int i = 0; i < this.goSlot.Count; i++)
+			{
+				if (this.goSlot[i].obj != null)
+				{
+					this.goSlot[i].CopyTrans();
+				}
+				this.goSlot[i].Update();
+			}
+		}
 	}
 
 	public float DegPer(float r, float per)
@@ -2963,20 +2927,15 @@ public class TBody : MonoBehaviour
 
 	public bool boMAN;
 
-	public IKMgrData IKHandL = new IKMgrData();
-
-	public IKMgrData IKHandR = new IKMgrData();
-
-	public IKMgrData IKMuneL = new IKMgrData();
-
-	public IKMgrData IKMuneR = new IKMgrData();
-
-	public Dictionary<string, IKMgrData> StrIKDataPair = new Dictionary<string, IKMgrData>();
+	[SerializeField]
+	private FullBodyIKCtrl m_IKCtrl;
 
 	public Action OnLateUpdateEnd;
 
 	public bool LateUpdateEnd;
 
+	public Action OnLateUpdate;
+
 	private Transform m_SMbody;
 
 	public Transform trsHead;
@@ -3515,9 +3474,20 @@ public class TBody : MonoBehaviour
 			this.vechand = Vector3.zero;
 		}
 
-		public void Porc(Transform hip, Transform knee, Transform ankle, Vector3 tgt, Vector3 vechand_offset)
+		public void Porc(Transform hip, Transform knee, Transform ankle, Vector3 tgt, Vector3 vechand_offset, IKCtrlData ik_data)
 		{
 			tgt += this.vechand;
+			if (ik_data.PointIK.BlendNow)
+			{
+				if (ik_data.PointIK.BlendType == IKCtrlData.IKBlendType.IK_To_Detach)
+				{
+					tgt = Vector3.Lerp(tgt, ik_data.IKTarget.position, ik_data.PointIK.BlendWeight);
+				}
+				else
+				{
+					tgt = Vector3.Lerp(ik_data.BlendPosRot.pos, tgt, ik_data.PointIK.BlendWeight);
+				}
+			}
 			if ((knee.position - this.knee_old).sqrMagnitude > 1f)
 			{
 				this.knee_old = knee.position;

+ 11 - 2
Assembly-CSharp/TatooAlphaWindow.cs

@@ -1,5 +1,7 @@
 using System;
 using System.Collections.Generic;
+using System.IO;
+using I2.Loc;
 using UnityEngine;
 
 public class TatooAlphaWindow : BasePhotoWindow
@@ -72,7 +74,7 @@ public class TatooAlphaWindow : BasePhotoWindow
 			}
 			if (flag)
 			{
-				this.SetWindowTitle((SceneEdit.Instance.NowMPN != MPN.acctatoo) ? ((SceneEdit.Instance.NowMPN != MPN.hokuro) ? "透明度" : "ほくろ透明度") : "タトゥー透明度");
+				this.SetWindowTitleFromLocalizeTerm((SceneEdit.Instance.NowMPN != MPN.acctatoo) ? ((SceneEdit.Instance.NowMPN != MPN.hokuro) ? "SceneEdit/window/透明度/透明度" : "SceneEdit/window/透明度/ほくろ透明度") : "SceneEdit/window/透明度/タトゥー透明度");
 				this.ClearSliders();
 				SceneEdit.SCategory scategory = SceneEdit.Instance.CategoryList.Find((SceneEdit.SCategory a) => a.m_eCategory == ((SceneEdit.Instance.NowMPN != MPN.acctatoo) ? SceneEditInfo.EMenuCategory.頭 : SceneEditInfo.EMenuCategory.身体));
 				SceneEdit.SPartsType spartsType = scategory.m_listPartsType.Find((SceneEdit.SPartsType a) => a.m_mpn == SceneEdit.Instance.NowMPN);
@@ -100,7 +102,14 @@ public class TatooAlphaWindow : BasePhotoWindow
 									sb.fTexMulAlpha = rids.alpha;
 								}
 							}
-							this.m_listSliders.Add(new TatooAlphaWindow.EditAlpha(gameObject, SceneEdit.Instance.NowMPN, j, smenuItem.m_strMenuName, sb.fTexMulAlpha, SceneEdit.Instance.maid));
+							string f_name = smenuItem.m_strMenuName;
+							if (LocalizationManager.CurrentLanguageCode != "ja")
+							{
+								string str = "parts/" + smenuItem.m_strCateName + "/" + Path.GetFileNameWithoutExtension(smenuItem.m_strMenuFileName).ToLower();
+								string translation = LocalizationManager.GetTranslation(str + "|name", true, 0, true, false, null, null);
+								f_name = ((!string.IsNullOrEmpty(translation)) ? translation.Replace("《改行》", "\n") : smenuItem.m_strMenuName);
+							}
+							this.m_listSliders.Add(new TatooAlphaWindow.EditAlpha(gameObject, SceneEdit.Instance.NowMPN, j, f_name, sb.fTexMulAlpha, SceneEdit.Instance.maid));
 						}
 					}
 				}

+ 38 - 27
Assembly-CSharp/TitleCtrl.cs

@@ -26,24 +26,32 @@ public class TitleCtrl : MonoBehaviour
 				GameObject childObject = UTY.GetChildObject(goTitlePanel, "ButtonGroup/" + text + "Group/" + text, false);
 				if (buttonType == TitleMgr.ButtonType.Shop)
 				{
-					if (!GameMain.Instance.CMSystem.NetUse)
-					{
-						childObject.SetActive(false);
-						continue;
-					}
-					childObject.SetActive(true);
+					childObject.SetActive(false);
+				}
+				else if (buttonType == TitleMgr.ButtonType.Guest)
+				{
+					num += -61;
+					childObject.SetActive(false);
+				}
+				else if (buttonType == TitleMgr.ButtonType.Continue)
+				{
+					num += -61;
+					childObject.SetActive(false);
+				}
+				else
+				{
+					Vector3 localPosition = childObject.transform.localPosition;
+					childObject.transform.localPosition = new Vector3(localPosition.x, localPosition.y - (float)num, localPosition.z);
+					childObject.AddComponent<TitleMouseOver>();
+					UIButton component = childObject.GetComponent<UIButton>();
+					EventDelegate.Add(component.onClick, new EventDelegate.Callback(BaseMgr<TitleMgr>.Instance.ClickButton));
+					GameObject childObject2 = UTY.GetChildObject(childObject, "SelectCursor", false);
+					titleButton.selectCursor = childObject2;
+					titleButton.name = buttonType;
+					titleButton.active = false;
+					this.m_dicTitleButton.Add(titleButton.name, titleButton);
+					this.m_listButton.Add(UTY.GetChildObject(goTitlePanel, "ButtonGroup/" + text + "Group", false));
 				}
-				Vector3 localPosition = childObject.transform.localPosition;
-				childObject.transform.localPosition = new Vector3(localPosition.x, localPosition.y - (float)num, localPosition.z);
-				childObject.AddComponent<TitleMouseOver>();
-				UIButton component = childObject.GetComponent<UIButton>();
-				EventDelegate.Add(component.onClick, new EventDelegate.Callback(BaseMgr<TitleMgr>.Instance.ClickButton));
-				GameObject childObject2 = UTY.GetChildObject(childObject, "SelectCursor", false);
-				titleButton.selectCursor = childObject2;
-				titleButton.name = buttonType;
-				titleButton.active = false;
-				this.m_dicTitleButton.Add(titleButton.name, titleButton);
-				this.m_listButton.Add(UTY.GetChildObject(goTitlePanel, "ButtonGroup/" + text + "Group", false));
 			}
 		}
 		finally
@@ -67,18 +75,21 @@ public class TitleCtrl : MonoBehaviour
 			{
 				object obj = enumerator.Current;
 				TitleMgr.ButtonType buttonType = (TitleMgr.ButtonType)obj;
-				if (buttonType != TitleMgr.ButtonType.Shop || GameMain.Instance.CMSystem.NetUse)
+				if (buttonType != TitleMgr.ButtonType.Continue && buttonType != TitleMgr.ButtonType.Shop && buttonType != TitleMgr.ButtonType.Guest)
 				{
-					if (activeButton == buttonType)
-					{
-						this.m_dicTitleButton[buttonType].active = true;
-						this.m_dicTitleButton[buttonType].selectCursor.SetActive(true);
-						BaseMgr<TitleMgr>.Instance.m_currentActiveButton = activeButton;
-					}
-					else
+					if (buttonType != TitleMgr.ButtonType.Shop || GameMain.Instance.CMSystem.NetUse)
 					{
-						this.m_dicTitleButton[buttonType].active = false;
-						this.m_dicTitleButton[buttonType].selectCursor.SetActive(false);
+						if (activeButton == buttonType)
+						{
+							this.m_dicTitleButton[buttonType].active = true;
+							this.m_dicTitleButton[buttonType].selectCursor.SetActive(true);
+							BaseMgr<TitleMgr>.Instance.m_currentActiveButton = activeButton;
+						}
+						else
+						{
+							this.m_dicTitleButton[buttonType].active = false;
+							this.m_dicTitleButton[buttonType].selectCursor.SetActive(false);
+						}
 					}
 				}
 			}

+ 6 - 6
Assembly-CSharp/TitleMgr.cs

@@ -90,7 +90,7 @@ public class TitleMgr : BaseMgr<TitleMgr>
 			return;
 		}
 		SaveAndLoadMgr saveAndLoadMgr = this.m_saveAndLoadMgr;
-		saveAndLoadMgr.OnOpenLoadPanelKasizukiLocal = (Action)Delegate.Combine(saveAndLoadMgr.OnOpenLoadPanelKasizukiLocal, new Action(delegate
+		saveAndLoadMgr.OnOpenLoadPanelKasizukiLocal = (Action)Delegate.Combine(saveAndLoadMgr.OnOpenLoadPanelKasizukiLocal, new Action(delegate()
 		{
 			this.m_saveAndLoadMgr.CloseSaveAndLoadPanel();
 			this.m_KasizukiSaveAndLoadCtrl.Open(0.25f, null);
@@ -98,7 +98,7 @@ public class TitleMgr : BaseMgr<TitleMgr>
 			this.m_KasizukiSaveAndLoadCtrl.GetChildObject("DisplayButtonGroup/DisplaySave").SetActive(false);
 		}));
 		KasizukiSaveAndLoadCtrl kasizukiSaveAndLoadCtrl = this.m_KasizukiSaveAndLoadCtrl;
-		kasizukiSaveAndLoadCtrl.onClickCancel = (Action)Delegate.Combine(kasizukiSaveAndLoadCtrl.onClickCancel, new Action(delegate
+		kasizukiSaveAndLoadCtrl.onClickCancel = (Action)Delegate.Combine(kasizukiSaveAndLoadCtrl.onClickCancel, new Action(delegate()
 		{
 			this.m_KasizukiSaveAndLoadCtrl.Close(0.25f, delegate
 			{
@@ -108,7 +108,7 @@ public class TitleMgr : BaseMgr<TitleMgr>
 			});
 		}));
 		KasizukiSaveAndLoadCtrl kasizukiSaveAndLoadCtrl2 = this.m_KasizukiSaveAndLoadCtrl;
-		kasizukiSaveAndLoadCtrl2.onLoad = (Action)Delegate.Combine(kasizukiSaveAndLoadCtrl2.onLoad, new Action(delegate
+		kasizukiSaveAndLoadCtrl2.onLoad = (Action)Delegate.Combine(kasizukiSaveAndLoadCtrl2.onLoad, new Action(delegate()
 		{
 			this.m_KasizukiSaveAndLoadCtrl.Close(0.5f, delegate
 			{
@@ -117,7 +117,7 @@ public class TitleMgr : BaseMgr<TitleMgr>
 			});
 		}));
 		KasizukiSaveAndLoadCtrl kasizukiSaveAndLoadCtrl3 = this.m_KasizukiSaveAndLoadCtrl;
-		kasizukiSaveAndLoadCtrl3.onClickNewGame = (Action)Delegate.Combine(kasizukiSaveAndLoadCtrl3.onClickNewGame, new Action(delegate
+		kasizukiSaveAndLoadCtrl3.onClickNewGame = (Action)Delegate.Combine(kasizukiSaveAndLoadCtrl3.onClickNewGame, new Action(delegate()
 		{
 			this.m_KasizukiSaveAndLoadCtrl.Close(0.5f, delegate
 			{
@@ -126,7 +126,7 @@ public class TitleMgr : BaseMgr<TitleMgr>
 			});
 		}));
 		KasizukiSaveAndLoadCtrl kasizukiSaveAndLoadCtrl4 = this.m_KasizukiSaveAndLoadCtrl;
-		kasizukiSaveAndLoadCtrl4.onDelete = (Action)Delegate.Combine(kasizukiSaveAndLoadCtrl4.onDelete, new Action(delegate
+		kasizukiSaveAndLoadCtrl4.onDelete = (Action)Delegate.Combine(kasizukiSaveAndLoadCtrl4.onDelete, new Action(delegate()
 		{
 			int nowOriginSaveDataNumber = GameMain.Instance.KasizukiMgr.NowOriginSaveDataNumber;
 			if (GameMain.Instance.GetSaveDataHeader(nowOriginSaveDataNumber) == null)
@@ -228,7 +228,7 @@ public class TitleMgr : BaseMgr<TitleMgr>
 	protected void FadeOutPanel(Action OnFinished = null)
 	{
 		TweenAlpha tweenAlpha = TweenAlpha.Begin(this.m_goTitlePanel, 0.5f, 0f);
-		EventDelegate.Set(tweenAlpha.onFinished, delegate
+		EventDelegate.Set(tweenAlpha.onFinished, delegate()
 		{
 			this.m_goTitlePanel.SetActive(false);
 			if (OnFinished != null)

+ 8 - 0
Assembly-CSharp/TriLib/AssetLoader.cs

@@ -1,5 +1,6 @@
 using System;
 using System.Collections.Generic;
+using System.Diagnostics;
 using System.IO;
 using UnityEngine;
 
@@ -20,18 +21,25 @@ namespace TriLib
 			}
 		}
 
+		[DebuggerBrowsable(DebuggerBrowsableState.Never)]
 		public event MeshCreatedHandle OnMeshCreated;
 
+		[DebuggerBrowsable(DebuggerBrowsableState.Never)]
 		public event MaterialCreatedHandle OnMaterialCreated;
 
+		[DebuggerBrowsable(DebuggerBrowsableState.Never)]
 		public event TextureLoadHandle OnTextureLoaded;
 
+		[DebuggerBrowsable(DebuggerBrowsableState.Never)]
 		public event TexturePreLoadHandle OnTexturePreLoad;
 
+		[DebuggerBrowsable(DebuggerBrowsableState.Never)]
 		public event AnimationClipCreatedHandle OnAnimationClipCreated;
 
+		[DebuggerBrowsable(DebuggerBrowsableState.Never)]
 		public event ObjectLoadedHandle OnObjectLoaded;
 
+		[DebuggerBrowsable(DebuggerBrowsableState.Never)]
 		public event MetadataProcessedHandle OnMetadataProcessed;
 
 		public static bool IsExtensionSupported(string extension)

+ 2 - 0
Assembly-CSharp/TriLib/Samples/FileOpenDialog.cs

@@ -1,5 +1,6 @@
 using System;
 using System.Collections;
+using System.Diagnostics;
 using System.IO;
 using System.Linq;
 using UnityEngine;
@@ -24,6 +25,7 @@ namespace TriLib.Samples
 			}
 		}
 
+		[DebuggerBrowsable(DebuggerBrowsableState.Never)]
 		private event FileOpenEventHandle OnFileOpen;
 
 		public void ShowFileOpenDialog(FileOpenEventHandle onFileOpen)

+ 1 - 1
Assembly-CSharp/TriLib/Samples/URIDialog.cs

@@ -43,7 +43,7 @@ namespace TriLib.Samples
 		public void ShowDialog(Action<string, string> onOk)
 		{
 			this._okButton.onClick.RemoveAllListeners();
-			this._okButton.onClick.AddListener(delegate
+			this._okButton.onClick.AddListener(delegate()
 			{
 				if (onOk != null)
 				{

+ 11 - 2
Assembly-CSharp/UICamera.cs

@@ -1,6 +1,7 @@
 using System;
 using System.Collections;
 using System.Collections.Generic;
+using System.Linq;
 using System.Runtime.CompilerServices;
 using UnityEngine;
 
@@ -926,7 +927,13 @@ public class UICamera : MonoBehaviour
 
 	private void VRUpdateCamDepth()
 	{
-		UICamera[] array = UnityEngine.Object.FindObjectsOfType<UICamera>();
+		if (this.VRExclusionUI)
+		{
+			return;
+		}
+		UICamera[] array = (from a in UnityEngine.Object.FindObjectsOfType<UICamera>()
+		where !a.VRExclusionUI
+		select a).ToArray<UICamera>();
 		if (array.Length == 0)
 		{
 			return;
@@ -1733,9 +1740,9 @@ public class UICamera : MonoBehaviour
 		UICamera.currentTouch = mouseOrTouch;
 	}
 
+	// Note: this type is marked as 'beforefieldinit'.
 	static UICamera()
 	{
-		// Note: this type is marked as 'beforefieldinit'.
 		if (UICamera.<>f__mg$cache1 == null)
 		{
 			UICamera.<>f__mg$cache1 = new UICamera.GetKeyStateFunc(Input.GetKeyDown);
@@ -1948,6 +1955,8 @@ public class UICamera : MonoBehaviour
 
 	private bool m_bProcessEnable = true;
 
+	public bool VRExclusionUI;
+
 	private Vector3[] m_vVirtualMousePos = new Vector3[2];
 
 	private GameObject[] m_goVirtualCursor = new GameObject[2];

+ 14 - 1
Assembly-CSharp/UILabel.cs

@@ -1,6 +1,7 @@
 using System;
 using System.Collections.Generic;
 using System.Runtime.CompilerServices;
+using I2.Loc;
 using UnityEngine;
 
 [ExecuteInEditMode]
@@ -1451,7 +1452,19 @@ public class UILabel : UIWidget
 	{
 		if (UIPopupList.current != null)
 		{
-			this.text = ((!UIPopupList.current.isLocalized) ? UIPopupList.current.value : Localization.Get(UIPopupList.current.value));
+			if (UIPopupList.current.isLocalized)
+			{
+				Localize localize = base.gameObject.GetComponent<Localize>();
+				if (localize == null)
+				{
+					localize = base.gameObject.AddComponent<Localize>();
+				}
+				localize.SetTerm(UIPopupList.current.value.Replace("\r", string.Empty));
+			}
+			else
+			{
+				this.text = UIPopupList.current.value;
+			}
 		}
 	}
 

+ 6 - 1
Assembly-CSharp/UIPopupList.cs

@@ -1,6 +1,7 @@
 using System;
 using System.Collections;
 using System.Collections.Generic;
+using I2.Loc;
 using UnityEngine;
 
 [ExecuteInEditMode]
@@ -613,7 +614,11 @@ public class UIPopupList : UIWidgetContainer
 				uilabel.trueTypeFont = this.trueTypeFont;
 				uilabel.fontSize = this.fontSize;
 				uilabel.fontStyle = this.fontStyle;
-				uilabel.text = ((!this.isLocalized) ? text : Localization.Get(text));
+				uilabel.text = text;
+				if (this.isLocalized)
+				{
+					uilabel.gameObject.AddComponent<Localize>().SetTerm(text.Replace("\r", string.Empty));
+				}
 				uilabel.color = this.textColor;
 				uilabel.cachedTransform.localPosition = new Vector3(border.x + this.padding.x - uilabel.pivotOffset.x, num5, -1f);
 				uilabel.overflowMethod = UILabel.Overflow.ResizeFreely;

+ 3 - 3
Assembly-CSharp/UIStates.cs

@@ -24,13 +24,13 @@ public class UIStates : MonoBehaviour
 	{
 		this.m_ResultUI.SetActive(false);
 		ExChangeUI instance = ExChangeUI.Instance;
-		instance.FadeInStartAction = (Action)Delegate.Combine(instance.FadeInStartAction, new Action(delegate
+		instance.FadeInStartAction = (Action)Delegate.Combine(instance.FadeInStartAction, new Action(delegate()
 		{
 			this.EnableButton(this.m_StartButton, false);
 			this.EnableButton(this.m_EndButton, false);
 		}));
 		BetSetUI instance2 = BetSetUI.Instance;
-		instance2.CancelCall = (Action)Delegate.Combine(instance2.CancelCall, new Action(delegate
+		instance2.CancelCall = (Action)Delegate.Combine(instance2.CancelCall, new Action(delegate()
 		{
 			this.EnableButton(this.m_StartButton, true);
 			this.EnableButton(this.m_EndButton, true);
@@ -280,7 +280,7 @@ public class UIStates : MonoBehaviour
 		else
 		{
 			ChipManager instance = ChipManager.Instance;
-			instance.StackEndCallBack = (Action)Delegate.Combine(instance.StackEndCallBack, new Action(delegate
+			instance.StackEndCallBack = (Action)Delegate.Combine(instance.StackEndCallBack, new Action(delegate()
 			{
 				this.StartCoroutine(this.TextFluctuation(orijin_coin));
 			}));

+ 9 - 5
Assembly-CSharp/UndressDance_Mgr.cs

@@ -60,6 +60,10 @@ public class UndressDance_Mgr : PartsMgrBase
 			this.m_ControllerInputFlag.Add(controller_buttons, false);
 			this.m_ControllerInputFlag.Add(controller_buttons2, false);
 		}
+		if (GameMain.Instance.VRMode)
+		{
+			this.ShowItemWindow();
+		}
 	}
 
 	private void ReadPartsData(CsvParser csv, int cx, int cy)
@@ -415,13 +419,13 @@ public class UndressDance_Mgr : PartsMgrBase
 								bool flag5 = false;
 								if (is_right)
 								{
-									flag5 |= (left_input.GetAxis().x > 0.5f && !this.$this.m_ControllerInputFlag[left_input] && left_controller.HandDanceMode);
-									flag5 |= (right_input.GetAxis().x > 0.5f && !this.$this.m_ControllerInputFlag[right_input] && right_controller.HandDanceMode);
+									flag5 |= (left_input.GetAxis().x > 0.5f && !this.m_ControllerInputFlag[left_input] && left_controller.HandDanceMode);
+									flag5 |= (right_input.GetAxis().x > 0.5f && !this.m_ControllerInputFlag[right_input] && right_controller.HandDanceMode);
 								}
 								else
 								{
-									flag5 |= (left_input.GetAxis().x < -0.5f && !this.$this.m_ControllerInputFlag[left_input] && left_controller.HandDanceMode);
-									flag5 |= (right_input.GetAxis().x < -0.5f && !this.$this.m_ControllerInputFlag[right_input] && right_controller.HandDanceMode);
+									flag5 |= (left_input.GetAxis().x < -0.5f && !this.m_ControllerInputFlag[left_input] && left_controller.HandDanceMode);
+									flag5 |= (right_input.GetAxis().x < -0.5f && !this.m_ControllerInputFlag[right_input] && right_controller.HandDanceMode);
 								}
 								return flag5;
 							};
@@ -482,7 +486,7 @@ public class UndressDance_Mgr : PartsMgrBase
 					}
 				}
 			}
-			if (this.m_IsWindowActive)
+			if (this.m_IsWindowActive && !GameMain.Instance.VRMode)
 			{
 				bool flag4 = UICamera.hoveredObject && this.m_HoverCheckObj.Contains(UICamera.hoveredObject);
 				if (!flag4 && this.m_WaitCoroutine == null)

+ 4 - 2
Assembly-CSharp/UnityEngine/UI/uGUIScrollRect.cs

@@ -507,14 +507,16 @@ namespace UnityEngine.UI
 					}
 					else if (this.m_Inertia)
 					{
+						ref Vector2 ptr = ref this.m_Velocity;
 						int index;
-						this.m_Velocity[index = i] = this.m_Velocity[index] * Mathf.Pow(this.m_DecelerationRate, unscaledDeltaTime);
+						this.m_Velocity[index = i] = ptr[index] * Mathf.Pow(this.m_DecelerationRate, unscaledDeltaTime);
 						if (Mathf.Abs(this.m_Velocity[i]) < 1f)
 						{
 							this.m_Velocity[i] = 0f;
 						}
+						ptr = ref vector2;
 						int index2;
-						vector2[index2 = i] = vector2[index2] + this.m_Velocity[i] * unscaledDeltaTime;
+						vector2[index2 = i] = ptr[index2] + this.m_Velocity[i] * unscaledDeltaTime;
 					}
 					else
 					{

+ 3 - 3
Assembly-CSharp/VRCanvasManager.cs

@@ -285,7 +285,7 @@ public class VRCanvasManager : MonoBehaviour
 			{
 				float fadeTime = list[0].fadeTime;
 				bool isTimeScaling = list[0].isTimeScaling;
-				list[0].FadeOut(fadeTime, isTimeScaling, delegate
+				list[0].FadeOut(fadeTime, isTimeScaling, delegate()
 				{
 					if (MainCanvas)
 					{
@@ -361,9 +361,9 @@ public class VRCanvasManager : MonoBehaviour
 		UICanvasFade fade = canvas.GetComponent<UICanvasFade>();
 		this.m_CallbackCloseVRConfig = callback;
 		button.onClick.RemoveAllListeners();
-		button.onClick.AddListener(delegate
+		button.onClick.AddListener(delegate()
 		{
-			fade.FadeOut(fade.fadeTime, fade.isTimeScaling, delegate
+			fade.FadeOut(fade.fadeTime, fade.isTimeScaling, delegate()
 			{
 				if (this.m_CallbackCloseVRConfig != null)
 				{

+ 1 - 1
Assembly-CSharp/VRCanvasManagerMini.cs

@@ -249,7 +249,7 @@ public class VRCanvasManagerMini : VRCanvasManager
 			}
 			UICanvasFade component = gameObject2.GetComponent<UICanvasFade>();
 			VRTutorialMenu tutorial = gameObject2.GetComponent<VRTutorialMenu>();
-			callback = (UnityAction)Delegate.Combine(callback, new UnityAction(delegate
+			callback = (UnityAction)Delegate.Combine(callback, new UnityAction(delegate()
 			{
 				this.RemoveCanvas(canvasTutorial);
 				UnityEngine.Object.Destroy(tutorial.gameObject);

+ 2 - 2
Assembly-CSharp/VRChangeBackGroundMenu.cs

@@ -85,12 +85,12 @@ public class VRChangeBackGroundMenu : MonoBehaviour, InterfaceVRCanvas
 				image.sprite = (req.asset as Sprite);
 			}));
 			button.onClick.RemoveAllListeners();
-			button.onClick.AddListener(delegate
+			button.onClick.AddListener(delegate()
 			{
 				buttonData.isPointerStay = false;
 				VRExternalFileLoader.Event_CloseMovie();
 				UICanvasFade component2 = this.GetComponent<UICanvasFade>();
-				component2.FadeOut(component2.fadeTime, component2.isTimeScaling, delegate
+				component2.FadeOut(component2.fadeTime, component2.isTimeScaling, delegate()
 				{
 					VRCanvasManager.Instance.OpenBeforeVRCanvas();
 				});

+ 17 - 17
Assembly-CSharp/VRConfigMenu.cs

@@ -154,88 +154,88 @@ public class VRConfigMenu : MonoBehaviour
 		});
 		GameObject 2DMouseRotInverse = this.m_2DMouseRotInverse;
 		UnityAction[] array = new UnityAction[2];
-		array[0] = delegate
+		array[0] = delegate()
 		{
 			GameMain.Instance.CMSystem.VRCamRotDownUp = true;
 		};
-		array[1] = delegate
+		array[1] = delegate()
 		{
 			GameMain.Instance.CMSystem.VRCamRotDownUp = false;
 		};
 		VRConfigMenu.SetEvent_ToggleButton(2DMouseRotInverse, array);
 		GameObject 2DPlaneMovement = this.m_2DPlaneMovement;
 		UnityAction[] array2 = new UnityAction[2];
-		array2[0] = delegate
+		array2[0] = delegate()
 		{
 			GameMain.Instance.CMSystem.VRCameraPlaneMove = true;
 		};
-		array2[1] = delegate
+		array2[1] = delegate()
 		{
 			GameMain.Instance.CMSystem.VRCameraPlaneMove = false;
 		};
 		VRConfigMenu.SetEvent_ToggleButton(2DPlaneMovement, array2);
 		GameObject 2DShowMan = this.m_2DShowMan;
 		UnityAction[] array3 = new UnityAction[2];
-		array3[0] = delegate
+		array3[0] = delegate()
 		{
 			GameMain.Instance.CMSystem.VRManShow = true;
 		};
-		array3[1] = delegate
+		array3[1] = delegate()
 		{
 			GameMain.Instance.CMSystem.VRManShow = false;
 		};
 		VRConfigMenu.SetEvent_ToggleButton(2DShowMan, array3);
 		GameObject viveUseSnapRotate = this.m_ViveUseSnapRotate;
 		UnityAction[] array4 = new UnityAction[2];
-		array4[0] = delegate
+		array4[0] = delegate()
 		{
 			GameMain.Instance.CMSystem.OvrUseSnapRotate = true;
 		};
-		array4[1] = delegate
+		array4[1] = delegate()
 		{
 			GameMain.Instance.CMSystem.OvrUseSnapRotate = false;
 		};
 		VRConfigMenu.SetEvent_ToggleButton(viveUseSnapRotate, array4);
 		GameObject touchUseSnapRotate = this.m_TouchUseSnapRotate;
 		UnityAction[] array5 = new UnityAction[2];
-		array5[0] = delegate
+		array5[0] = delegate()
 		{
 			GameMain.Instance.CMSystem.OvrUseSnapRotate = true;
 		};
-		array5[1] = delegate
+		array5[1] = delegate()
 		{
 			GameMain.Instance.CMSystem.OvrUseSnapRotate = false;
 		};
 		VRConfigMenu.SetEvent_ToggleButton(touchUseSnapRotate, array5);
 		GameObject nonTouchPlaneMovement = this.m_NonTouchPlaneMovement;
 		UnityAction[] array6 = new UnityAction[2];
-		array6[0] = delegate
+		array6[0] = delegate()
 		{
 			GameMain.Instance.CMSystem.VRCameraPlaneMove = true;
 		};
-		array6[1] = delegate
+		array6[1] = delegate()
 		{
 			GameMain.Instance.CMSystem.VRCameraPlaneMove = false;
 		};
 		VRConfigMenu.SetEvent_ToggleButton(nonTouchPlaneMovement, array6);
 		GameObject nonTouchMouseRotEnable = this.m_NonTouchMouseRotEnable;
 		UnityAction[] array7 = new UnityAction[2];
-		array7[0] = delegate
+		array7[0] = delegate()
 		{
 			GameMain.Instance.CMSystem.OvrMouseRot = true;
 		};
-		array7[1] = delegate
+		array7[1] = delegate()
 		{
 			GameMain.Instance.CMSystem.OvrMouseRot = false;
 		};
 		VRConfigMenu.SetEvent_ToggleButton(nonTouchMouseRotEnable, array7);
 		GameObject viveFloorHeight = this.m_ViveFloorHeight;
 		UnityAction[] array8 = new UnityAction[2];
-		array8[0] = delegate
+		array8[0] = delegate()
 		{
 			GameMain.Instance.CMSystem.OvrCameraHeightType = CMSystem.OVR_CAM_HEIGHT_TYPE.REAL;
 		};
-		array8[1] = delegate
+		array8[1] = delegate()
 		{
 			GameMain.Instance.CMSystem.OvrCameraHeightType = CMSystem.OVR_CAM_HEIGHT_TYPE.VR;
 		};
@@ -265,7 +265,7 @@ public class VRConfigMenu : MonoBehaviour
 				Debug.LogWarning("[VRConfig]フラグの数がイベントの数より少ない");
 			}
 			button.onClick.RemoveAllListeners();
-			button.onClick.AddListener(delegate
+			button.onClick.AddListener(delegate()
 			{
 				ColorBlock colors;
 				for (int j = 0; j < buttons.Length; j++)

+ 1 - 1
Assembly-CSharp/VRCultivationSeedInventory.cs

@@ -10,7 +10,7 @@ public class VRCultivationSeedInventory : MonoBehaviour
 		for (int i = 0; i < this.m_UIButtonPlantSeeds.Length; i++)
 		{
 			Button button = this.m_UIButtonPlantSeeds[i];
-			button.onClick.AddListener(delegate
+			button.onClick.AddListener(delegate()
 			{
 				this.ButtonEvent_Selected(button);
 				if (this.m_OnEventButtonSelected != null)

+ 6 - 6
Assembly-CSharp/VRDialogMenu.cs

@@ -100,42 +100,42 @@ public class VRDialogMenu : MonoBehaviour
 		List<VRDialogMenu.DialogButton> list = new List<VRDialogMenu.DialogButton>();
 		if ((style & VRDialogMenu.TYPE_STYLE.NO) != (VRDialogMenu.TYPE_STYLE)0)
 		{
-			list.Add(new VRDialogMenu.DialogButton(true, "vr_dialog_no", delegate
+			list.Add(new VRDialogMenu.DialogButton(true, "vr_dialog_no", delegate()
 			{
 				callback(VRDialogMenu.TYPE_STYLE.NO);
 			}));
 		}
 		if ((style & VRDialogMenu.TYPE_STYLE.YES) != (VRDialogMenu.TYPE_STYLE)0)
 		{
-			list.Add(new VRDialogMenu.DialogButton(true, "vr_dialog_yes", delegate
+			list.Add(new VRDialogMenu.DialogButton(true, "vr_dialog_yes", delegate()
 			{
 				callback(VRDialogMenu.TYPE_STYLE.YES);
 			}));
 		}
 		if ((style & VRDialogMenu.TYPE_STYLE.CANCEL) != (VRDialogMenu.TYPE_STYLE)0)
 		{
-			list.Add(new VRDialogMenu.DialogButton(true, "vr_dialog_cancel", delegate
+			list.Add(new VRDialogMenu.DialogButton(true, "vr_dialog_cancel", delegate()
 			{
 				callback(VRDialogMenu.TYPE_STYLE.CANCEL);
 			}));
 		}
 		if ((style & VRDialogMenu.TYPE_STYLE.OK) != (VRDialogMenu.TYPE_STYLE)0)
 		{
-			list.Add(new VRDialogMenu.DialogButton(true, "vr_dialog_ok", delegate
+			list.Add(new VRDialogMenu.DialogButton(true, "vr_dialog_ok", delegate()
 			{
 				callback(VRDialogMenu.TYPE_STYLE.OK);
 			}));
 		}
 		if ((style & VRDialogMenu.TYPE_STYLE.TV) != (VRDialogMenu.TYPE_STYLE)0)
 		{
-			list.Add(new VRDialogMenu.DialogButton(true, "vr_dialog_tv", delegate
+			list.Add(new VRDialogMenu.DialogButton(true, "vr_dialog_tv", delegate()
 			{
 				callback(VRDialogMenu.TYPE_STYLE.TV);
 			}));
 		}
 		if ((style & VRDialogMenu.TYPE_STYLE.CD) != (VRDialogMenu.TYPE_STYLE)0)
 		{
-			list.Add(new VRDialogMenu.DialogButton(true, "vr_dialog_cd", delegate
+			list.Add(new VRDialogMenu.DialogButton(true, "vr_dialog_cd", delegate()
 			{
 				callback(VRDialogMenu.TYPE_STYLE.CD);
 			}));

+ 24 - 24
Assembly-CSharp/VRExternalFileLoader.cs

@@ -518,7 +518,7 @@ public class VRExternalFileLoader : MonoBehaviour
 				element.buttonFaces[k].gameObject.SetActive(true);
 			}
 			element.buttonStart.onClick.RemoveAllListeners();
-			element.buttonStart.onClick.AddListener(delegate
+			element.buttonStart.onClick.AddListener(delegate()
 			{
 				if (VRExternalFileLoader.m_LoadingCount > 0)
 				{
@@ -528,7 +528,7 @@ public class VRExternalFileLoader : MonoBehaviour
 				{
 					return;
 				}
-				if (this.m_MediaPlayer == null)
+				if (<CreateMediaInfoButton>c__AnonStoreyA.m_MediaPlayer == null)
 				{
 					if (VRExternalFileLoader.m_PtrMediaPlayerObject == null)
 					{
@@ -537,26 +537,26 @@ public class VRExternalFileLoader : MonoBehaviour
 					GameObject[] array = GameObject.FindGameObjectsWithTag("MediaPlayerObj");
 					for (int l = 0; l < array.Length; l++)
 					{
-						if (this.m_MediaPlayer != null && this.m_MovieOutputer != null)
+						if (<CreateMediaInfoButton>c__AnonStoreyA.m_MediaPlayer != null && <CreateMediaInfoButton>c__AnonStoreyA.m_MovieOutputer != null)
 						{
 							break;
 						}
-						if (this.m_MediaPlayer == null)
+						if (<CreateMediaInfoButton>c__AnonStoreyA.m_MediaPlayer == null)
 						{
-							this.m_MediaPlayer = array[l].GetComponent<MediaPlayer>();
+							<CreateMediaInfoButton>c__AnonStoreyA.m_MediaPlayer = array[l].GetComponent<MediaPlayer>();
 						}
-						if (this.m_MovieOutputer == null)
+						if (<CreateMediaInfoButton>c__AnonStoreyA.m_MovieOutputer == null)
 						{
-							this.m_MovieOutputer = array[l].GetComponent<ApplyToMaterial>();
+							<CreateMediaInfoButton>c__AnonStoreyA.m_MovieOutputer = array[l].GetComponent<ApplyToMaterial>();
 						}
 					}
 				}
 				GameMain.Instance.SoundMgr.StopBGM(0.5f);
-				this.m_MediaPlayer.CloseVideo();
-				this.m_MediaPlayer.OpenVideoFromFile(MediaPlayer.FileLocation.AbsolutePathOrURL, mediaPath, true);
+				<CreateMediaInfoButton>c__AnonStoreyA.m_MediaPlayer.CloseVideo();
+				<CreateMediaInfoButton>c__AnonStoreyA.m_MediaPlayer.OpenVideoFromFile(MediaPlayer.FileLocation.AbsolutePathOrURL, mediaPath, true);
 				if (element.imageThumbnail)
 				{
-					this.m_MovieOutputer.GetComponent<MeshRenderer>().enabled = true;
+					<CreateMediaInfoButton>c__AnonStoreyA.m_MovieOutputer.GetComponent<MeshRenderer>().enabled = true;
 				}
 				string text3 = "*鑑賞_";
 				if (element.faceIndex == 0)
@@ -646,7 +646,7 @@ public class VRExternalFileLoader : MonoBehaviour
 				}
 			}
 			element.buttonStart.onClick.RemoveAllListeners();
-			element.buttonStart.onClick.AddListener(delegate
+			element.buttonStart.onClick.AddListener(delegate()
 			{
 				if (VRExternalFileLoader.m_LoadingCount > 0)
 				{
@@ -656,7 +656,7 @@ public class VRExternalFileLoader : MonoBehaviour
 				{
 					return;
 				}
-				if (this.m_MediaPlayer == null)
+				if (<CreateMediaInfoButton3>c__AnonStoreyC.m_MediaPlayer == null)
 				{
 					if (VRExternalFileLoader.m_PtrMediaPlayerObject == null)
 					{
@@ -665,26 +665,26 @@ public class VRExternalFileLoader : MonoBehaviour
 					GameObject[] array = GameObject.FindGameObjectsWithTag("MediaPlayerObj");
 					for (int l = 0; l < array.Length; l++)
 					{
-						if (this.m_MediaPlayer != null && this.m_MovieOutputer != null)
+						if (<CreateMediaInfoButton3>c__AnonStoreyC.m_MediaPlayer != null && <CreateMediaInfoButton3>c__AnonStoreyC.m_MovieOutputer != null)
 						{
 							break;
 						}
-						if (this.m_MediaPlayer == null)
+						if (<CreateMediaInfoButton3>c__AnonStoreyC.m_MediaPlayer == null)
 						{
-							this.m_MediaPlayer = array[l].GetComponent<MediaPlayer>();
+							<CreateMediaInfoButton3>c__AnonStoreyC.m_MediaPlayer = array[l].GetComponent<MediaPlayer>();
 						}
-						if (this.m_MovieOutputer == null)
+						if (<CreateMediaInfoButton3>c__AnonStoreyC.m_MovieOutputer == null)
 						{
-							this.m_MovieOutputer = array[l].GetComponent<ApplyToMaterial>();
+							<CreateMediaInfoButton3>c__AnonStoreyC.m_MovieOutputer = array[l].GetComponent<ApplyToMaterial>();
 						}
 					}
 				}
 				GameMain.Instance.SoundMgr.StopBGM(0.5f);
-				this.m_MediaPlayer.CloseVideo();
-				this.m_MediaPlayer.OpenVideoFromFile(MediaPlayer.FileLocation.AbsolutePathOrURL, mediaPath, true);
+				<CreateMediaInfoButton3>c__AnonStoreyC.m_MediaPlayer.CloseVideo();
+				<CreateMediaInfoButton3>c__AnonStoreyC.m_MediaPlayer.OpenVideoFromFile(MediaPlayer.FileLocation.AbsolutePathOrURL, mediaPath, true);
 				if (element.imageThumbnail)
 				{
-					this.m_MovieOutputer.GetComponent<MeshRenderer>().enabled = true;
+					<CreateMediaInfoButton3>c__AnonStoreyC.m_MovieOutputer.GetComponent<MeshRenderer>().enabled = true;
 				}
 				string text2 = "*鑑賞_";
 				if (element.faceIndex == 0)
@@ -756,7 +756,7 @@ public class VRExternalFileLoader : MonoBehaviour
 		if (buttonStart)
 		{
 			buttonStart.onClick.RemoveAllListeners();
-			buttonStart.onClick.AddListener(delegate
+			buttonStart.onClick.AddListener(delegate()
 			{
 				if (this.m_MovieOutputer)
 				{
@@ -915,17 +915,17 @@ public class VRExternalFileLoader : MonoBehaviour
 		VRCanvasManager.Instance.ClearCanvasStack();
 		VRDialogMenu vrdialogMenu = VRDialogMenu.CreateDialog();
 		List<VRDialogMenu.DialogButton> list = new List<VRDialogMenu.DialogButton>();
-		list.Add(new VRDialogMenu.DialogButton(true, "vr_dialog_cd", delegate
+		list.Add(new VRDialogMenu.DialogButton(true, "vr_dialog_cd", delegate()
 		{
 			VRExternalFileLoader.m_MediaNowType = VRExternalFileLoader.TYPE_MEDIA.Music;
 			VRCanvasManager.Instance.OpenVRCanvas(VRCanvasManager.VRCanvasType.MusicPlayer);
 		}, new Vector3(250f, -270f, 0f), new Vector2(300f, 300f)));
-		list.Add(new VRDialogMenu.DialogButton(true, "vr_dialog_tv", delegate
+		list.Add(new VRDialogMenu.DialogButton(true, "vr_dialog_tv", delegate()
 		{
 			VRExternalFileLoader.m_MediaNowType = VRExternalFileLoader.TYPE_MEDIA.Movie;
 			VRCanvasManager.Instance.OpenVRCanvas(VRCanvasManager.VRCanvasType.MoviePlayer);
 		}, new Vector3(-250f, -270f, 0f), new Vector2(300f, 300f)));
-		list.Add(new VRDialogMenu.DialogButton(true, "vr_bottom_system_return", delegate
+		list.Add(new VRDialogMenu.DialogButton(true, "vr_bottom_system_return", delegate()
 		{
 			string label_name = "*鑑賞_終了";
 			Maid maid = GameMain.Instance.CharacterMgr.GetMaid(0);

+ 0 - 451
Assembly-CSharp/VRFaceShortcutConfig.cs

@@ -1,224 +1,9 @@
 using System;
-using System.Collections.Generic;
 using Kasizuki;
 using UnityEngine;
 
 public class VRFaceShortcutConfig : MonoBehaviour
 {
-	public void CacheItemTemplate<T>(string path) where T : VRFaceShortcutConfig.Item
-	{
-		Transform childObject = VRFaceShortcutConfig.GetChildObject<Transform>(this.m_Grid.gameObject, path);
-		T t = childObject.gameObject.AddComponent<T>();
-		Type typeFromHandle = typeof(T);
-		this.m_ItemTemplateList.Add(typeFromHandle, t);
-		childObject.gameObject.SetActive(false);
-	}
-
-	public T CreateItem<T>(string itemLabel) where T : VRFaceShortcutConfig.Item
-	{
-		if (this.m_ItemDic.ContainsKey(itemLabel))
-		{
-			string message = "[VRFaceShortcutConfig] 既に「" + itemLabel + "」という項目が存在しています";
-			Debug.LogError(message);
-			NDebug.Assert(message, false);
-		}
-		VRFaceShortcutConfig.Item item;
-		if (!this.m_ItemTemplateList.TryGetValue(typeof(T), out item))
-		{
-			string message2 = "[VRFaceShortcutConfig] " + typeof(T).ToString() + "型のUI項目はキャッシュされていません";
-			Debug.LogError(message2);
-			NDebug.Assert(message2, false);
-		}
-		GameObject gameObject = UnityEngine.Object.Instantiate<GameObject>(item.gameObject);
-		gameObject.transform.SetParent(this.m_Grid.transform, false);
-		T component = gameObject.GetComponent<T>();
-		component.gameObject.SetActive(true);
-		component.label.text = itemLabel;
-		this.m_ItemDic.Add(itemLabel, component);
-		return component;
-	}
-
-	private void Awake()
-	{
-		this.CacheItemTemplate<VRFaceShortcutConfig.ItemSlider>("temp slider");
-		this.CacheItemTemplate<VRFaceShortcutConfig.ItemSelectButton>("temp select");
-		this.CreateDefaultItems();
-		this.CreateViveItems();
-		NGUIWindow fadeWindowThis = this.m_FadeWindowThis;
-		fadeWindowThis.OnClose = (Action)Delegate.Combine(fadeWindowThis.OnClose, new Action(delegate
-		{
-			ControllerShortcutSettingData.config.Write();
-		}));
-	}
-
-	private void CreateDefaultItems()
-	{
-		OVRLipSync.VariableData variable = GameMain.Instance.LipSyncMgr.Variable;
-		VRFaceShortcutConfig.ItemSlider itemSlider = this.CreateItem<VRFaceShortcutConfig.ItemSlider>("リップシンク:マイク感度");
-		itemSlider.min = 0f;
-		itemSlider.max = 10f;
-		itemSlider.Set(variable.MicSensitivity);
-		itemSlider.onValueChanged = delegate(float value)
-		{
-			GameMain.Instance.LipSyncMgr.Variable.MicSensitivity = value;
-		};
-		itemSlider = this.CreateItem<VRFaceShortcutConfig.ItemSlider>("リップシンク:自分の声の大きさ");
-		itemSlider.min = 0f;
-		itemSlider.max = 10f;
-		itemSlider.Set(variable.MicVolume);
-		itemSlider.onValueChanged = delegate(float value)
-		{
-			GameMain.Instance.LipSyncMgr.Variable.MicVolume = value;
-		};
-		VRFaceShortcutConfig.ItemSelectButton itemSelectButton = this.CreateItem<VRFaceShortcutConfig.ItemSelectButton>("リップシンク:ミュートにする");
-		itemSelectButton.textLeft.text = "ON";
-		itemSelectButton.textRight.text = "OFF";
-		itemSelectButton.Set(variable.Mute);
-		itemSelectButton.onClickIsLeft = delegate(bool isLeft)
-		{
-			variable.Mute = isLeft;
-		};
-		itemSelectButton = this.CreateItem<VRFaceShortcutConfig.ItemSelectButton>("手元ショートカット:表情の変化");
-		itemSelectButton.textLeft.text = "即座に変更する";
-		itemSelectButton.textRight.text = "選択して決定する";
-		itemSelectButton.Set(ControllerShortcutSettingData.config.isDirectMode);
-		itemSelectButton.onClickIsLeft = delegate(bool isLeft)
-		{
-			ControllerShortcutSettingData.config.isDirectMode = isLeft;
-		};
-		itemSelectButton = this.CreateItem<VRFaceShortcutConfig.ItemSelectButton>("手元ショートカット:手元のUI");
-		itemSelectButton.textLeft.text = "常に表示する";
-		itemSelectButton.textRight.text = "決定時に隠す";
-		itemSelectButton.Set(ControllerShortcutSettingData.config.isEveryShowMode);
-		itemSelectButton.onClickIsLeft = delegate(bool isLeft)
-		{
-			ControllerShortcutSettingData.config.isEveryShowMode = isLeft;
-		};
-		itemSlider = this.CreateItem<VRFaceShortcutConfig.ItemSlider>("体向きの頭への追従");
-		itemSlider.min = 0f;
-		itemSlider.max = 1f;
-		itemSlider.Set(ControllerShortcutSettingData.config.maintainPelvisPosition);
-		itemSlider.onValueChanged = delegate(float value)
-		{
-			ControllerShortcutSettingData.config.maintainPelvisPosition = value;
-		};
-		itemSlider = this.CreateItem<VRFaceShortcutConfig.ItemSlider>("体位置の頭への追従");
-		itemSlider.min = 0f;
-		itemSlider.max = 1f;
-		itemSlider.Set(ControllerShortcutSettingData.config.bodyPosStiffness);
-		itemSlider.onValueChanged = delegate(float value)
-		{
-			ControllerShortcutSettingData.config.bodyPosStiffness = value;
-		};
-		itemSlider = this.CreateItem<VRFaceShortcutConfig.ItemSlider>("体回転の頭への追従");
-		itemSlider.min = 0f;
-		itemSlider.max = 1f;
-		itemSlider.Set(ControllerShortcutSettingData.config.bodyRotStiffness);
-		itemSlider.onValueChanged = delegate(float value)
-		{
-			ControllerShortcutSettingData.config.bodyRotStiffness = value;
-		};
-		itemSlider = this.CreateItem<VRFaceShortcutConfig.ItemSlider>("胸部回転の頭への追従");
-		itemSlider.min = 0f;
-		itemSlider.max = 1f;
-		itemSlider.Set(ControllerShortcutSettingData.config.chestRotationWeight);
-		itemSlider.onValueChanged = delegate(float value)
-		{
-			ControllerShortcutSettingData.config.chestRotationWeight = value;
-		};
-		itemSlider = this.CreateItem<VRFaceShortcutConfig.ItemSlider>("カメラの画角");
-		itemSlider.min = 0f;
-		itemSlider.max = 1f;
-		itemSlider.Set(ControllerShortcutSettingData.config.selfCameraFOV);
-		itemSlider.onValueChanged = delegate(float value)
-		{
-			ControllerShortcutSettingData.config.selfCameraFOV = value;
-		};
-	}
-
-	private void CreateViveItems()
-	{
-		if (GameMain.Instance.VRDeviceTypeID != GameMain.VRDeviceType.VIVE)
-		{
-			return;
-		}
-		VRFaceShortcutConfig.ItemSelectButton itemSelectButton = this.CreateItem<VRFaceShortcutConfig.ItemSelectButton>("一番上にあるトラッカーを\n頭トラッキングに利用");
-		itemSelectButton.textLeft.text = "ON";
-		itemSelectButton.textRight.text = "OFF";
-		itemSelectButton.Set(ControllerShortcutSettingData.config.use1TrackerForHead);
-		itemSelectButton.onClickIsLeft = delegate(bool isLeft)
-		{
-			ControllerShortcutSettingData.config.use1TrackerForHead = isLeft;
-			this.SetActiveItem("2つめと3つめのトラッカーを\n足トラッキングに利用", isLeft, false);
-			this.SetActiveItem("1つめと2つめのトラッカーを\n足トラッキングに利用", !isLeft, false);
-		};
-	}
-
-	private void SetActiveItem(string itemKey, bool isActive, bool isEnableError = true)
-	{
-		VRFaceShortcutConfig.Item item;
-		if (!this.m_ItemDic.TryGetValue(itemKey, out item))
-		{
-			if (isEnableError)
-			{
-				string message = "[VRFaceShortcutConfig] コンフィグ項目に「" + itemKey + "」は存在しません";
-				Debug.LogError(message);
-				NDebug.Assert(message, false);
-			}
-			return;
-		}
-		if (item.gameObject.activeSelf != isActive)
-		{
-			item.gameObject.SetActive(isActive);
-			this.m_IsUpdateReposition = true;
-		}
-	}
-
-	private void LateUpdate()
-	{
-		if (this.m_IsUpdateReposition)
-		{
-			this.m_IsUpdateReposition = false;
-			this.m_Grid.Reposition();
-			this.m_ScrollView.UpdatePosition();
-		}
-	}
-
-	private static T GetChildObject<T>(GameObject gameObject, string path)
-	{
-		GameObject childObject = UTY.GetChildObject(gameObject, path, false);
-		if (childObject == null)
-		{
-			string message = string.Concat(new string[]
-			{
-				"[VRFaceShortcutConfig] ",
-				gameObject.name,
-				"/",
-				path,
-				"が見つかりませんでした"
-			});
-			NDebug.Assert(message, false);
-			Debug.LogError(message);
-		}
-		T component = childObject.GetComponent<T>();
-		if (component == null)
-		{
-			string message2 = string.Concat(new object[]
-			{
-				"[VRFaceShortcutConfig] ",
-				gameObject.name,
-				"/",
-				path,
-				"に、\n",
-				typeof(T),
-				"のコンポーネントがありませんでした"
-			});
-			NDebug.Assert(message2, false);
-			Debug.LogError(message2);
-		}
-		return component;
-	}
-
 	[SerializeField]
 	[Range(0.001f, 1f)]
 	private float m_FadeSpeed = 0.25f;
@@ -231,240 +16,4 @@ public class VRFaceShortcutConfig : MonoBehaviour
 
 	[SerializeField]
 	private UIGrid m_Grid;
-
-	private Dictionary<Type, VRFaceShortcutConfig.Item> m_ItemTemplateList = new Dictionary<Type, VRFaceShortcutConfig.Item>();
-
-	private Dictionary<string, VRFaceShortcutConfig.Item> m_ItemDic = new Dictionary<string, VRFaceShortcutConfig.Item>();
-
-	private bool m_IsUpdateReposition;
-
-	public abstract class Item : MonoBehaviour
-	{
-		public UILabel label
-		{
-			get
-			{
-				return this.m_Label;
-			}
-			set
-			{
-				this.m_Label = value;
-			}
-		}
-
-		protected virtual void Awake()
-		{
-			this.m_Label = VRFaceShortcutConfig.GetChildObject<UILabel>(base.gameObject, "name");
-		}
-
-		public abstract void Set(object value);
-
-		private UILabel m_Label;
-	}
-
-	public class ItemSlider : VRFaceShortcutConfig.Item
-	{
-		public UISlider slider
-		{
-			get
-			{
-				return this.m_Slider;
-			}
-			private set
-			{
-				this.m_Slider = value;
-			}
-		}
-
-		public float normalizedValue
-		{
-			get
-			{
-				return this.slider.value;
-			}
-			set
-			{
-				this.slider.value = value;
-			}
-		}
-
-		public float min
-		{
-			get
-			{
-				return this.m_Min;
-			}
-			set
-			{
-				this.m_Min = value;
-			}
-		}
-
-		public float max
-		{
-			get
-			{
-				return this.m_Max;
-			}
-			set
-			{
-				this.m_Max = value;
-			}
-		}
-
-		public float value
-		{
-			get
-			{
-				return Mathf.Lerp(this.min, this.max, this.normalizedValue);
-			}
-			set
-			{
-				this.normalizedValue = Mathf.InverseLerp(this.min, this.max, value);
-			}
-		}
-
-		public Action<float> onValueChanged { get; set; }
-
-		public Action onDragFinished { get; set; }
-
-		protected override void Awake()
-		{
-			base.Awake();
-			this.slider = VRFaceShortcutConfig.GetChildObject<UISlider>(base.gameObject, "slider");
-			EventDelegate.Add(this.slider.onChange, delegate
-			{
-				if (this.onValueChanged != null)
-				{
-					this.onValueChanged(this.value);
-				}
-			});
-			UISlider slider = this.slider;
-			slider.onDragFinished = (UIProgressBar.OnDragFinished)Delegate.Combine(slider.onDragFinished, new UIProgressBar.OnDragFinished(delegate
-			{
-				if (this.onDragFinished != null)
-				{
-					this.onDragFinished();
-				}
-			}));
-		}
-
-		public override void Set(object value)
-		{
-			this.value = (float)value;
-		}
-
-		private UISlider m_Slider;
-
-		private float m_Min;
-
-		private float m_Max = 1f;
-	}
-
-	public class ItemSelectButton : VRFaceShortcutConfig.Item
-	{
-		public UIButton buttonRight
-		{
-			get
-			{
-				return this.m_ButtonRight;
-			}
-			private set
-			{
-				this.m_ButtonRight = value;
-			}
-		}
-
-		public UIButton buttonLeft
-		{
-			get
-			{
-				return this.m_ButtonLeft;
-			}
-			private set
-			{
-				this.m_ButtonLeft = value;
-			}
-		}
-
-		public UILabel textRight
-		{
-			get
-			{
-				return this.m_TextRight;
-			}
-			private set
-			{
-				this.m_TextRight = value;
-			}
-		}
-
-		public UILabel textLeft
-		{
-			get
-			{
-				return this.m_TextLeft;
-			}
-			private set
-			{
-				this.m_TextLeft = value;
-			}
-		}
-
-		public Action<bool> onClickIsLeft { get; set; }
-
-		protected override void Awake()
-		{
-			base.Awake();
-			this.buttonRight = VRFaceShortcutConfig.GetChildObject<UIButton>(base.gameObject, "button right");
-			this.buttonLeft = VRFaceShortcutConfig.GetChildObject<UIButton>(base.gameObject, "button left");
-			this.textRight = this.buttonRight.GetComponentInChildren<UILabel>();
-			this.textLeft = this.buttonLeft.GetComponentInChildren<UILabel>();
-			EventDelegate.Add(this.buttonRight.onClick, delegate
-			{
-				if (this.onClickIsLeft != null)
-				{
-					this.onClickIsLeft(false);
-				}
-				this.OnClickButton(false);
-			});
-			EventDelegate.Add(this.buttonLeft.onClick, delegate
-			{
-				if (this.onClickIsLeft != null)
-				{
-					this.onClickIsLeft(true);
-				}
-				this.OnClickButton(true);
-			});
-		}
-
-		private void OnClickButton(bool isLeft)
-		{
-			this.buttonLeft.defaultColor = ((!isLeft) ? VRFaceShortcutConfig.ItemSelectButton.ButtonDefaultColor : VRFaceShortcutConfig.ItemSelectButton.ButtonClickedColor);
-			this.buttonRight.defaultColor = (isLeft ? VRFaceShortcutConfig.ItemSelectButton.ButtonDefaultColor : VRFaceShortcutConfig.ItemSelectButton.ButtonClickedColor);
-		}
-
-		public void Emulate(bool isLeft)
-		{
-			UIButton uibutton = (!isLeft) ? this.buttonRight : this.buttonLeft;
-			EventDelegate.Execute(uibutton.onClick);
-		}
-
-		public override void Set(object value)
-		{
-			this.Emulate((bool)value);
-		}
-
-		private static Color ButtonDefaultColor = new Color(1f, 1f, 1f, 0.5f);
-
-		private static Color ButtonClickedColor = Color.white;
-
-		private UIButton m_ButtonRight;
-
-		private UIButton m_ButtonLeft;
-
-		private UILabel m_TextRight;
-
-		private UILabel m_TextLeft;
-	}
 }

+ 1 - 1
Assembly-CSharp/VRIKGeneralObjectSetter.cs

@@ -39,7 +39,7 @@ public class VRIKGeneralObjectSetter : MonoBehaviour
 			{
 				componentInChildren.text = Path.GetFileName(path);
 			}
-			EventDelegate.Add(button.onClick, delegate
+			EventDelegate.Add(button.onClick, delegate()
 			{
 				OvrIK.LoadGeneralModelFile(path);
 			});

+ 3 - 3
Assembly-CSharp/VRManualMenu.cs

@@ -75,7 +75,7 @@ public class VRManualMenu : MonoBehaviour
 				this.m_ManualDataArray.Add(data);
 				gameObject.GetComponentInChildren<Text>().text = data.ButtonName;
 				gameObject.GetComponent<Button>().onClick.RemoveAllListeners();
-				gameObject.GetComponent<Button>().onClick.AddListener(delegate
+				gameObject.GetComponent<Button>().onClick.AddListener(delegate()
 				{
 					this.ChangeManualImage(data.ImageName);
 					this.ButtonClickEvent(data);
@@ -97,7 +97,7 @@ public class VRManualMenu : MonoBehaviour
 		if (beforeButton != null)
 		{
 			this.m_LeftButton.interactable = true;
-			this.m_LeftButton.onClick.AddListener(delegate
+			this.m_LeftButton.onClick.AddListener(delegate()
 			{
 				this.ChangeManualImage(beforeButton.ImageName);
 				this.ButtonClickEvent(beforeButton);
@@ -109,7 +109,7 @@ public class VRManualMenu : MonoBehaviour
 		if (nextButton != null)
 		{
 			this.m_RightButton.interactable = true;
-			this.m_RightButton.onClick.AddListener(delegate
+			this.m_RightButton.onClick.AddListener(delegate()
 			{
 				this.ChangeManualImage(nextButton.ImageName);
 				this.ButtonClickEvent(nextButton);

+ 2 - 2
Assembly-CSharp/VRMiniGameManager.cs

@@ -136,7 +136,7 @@ public class VRMiniGameManager : MonoBehaviour
 			this.ClearQueueVoice();
 			this.m_MiniGameState = VRMiniGameManager.VRMiniGameState.Playing;
 			UICanvasFade component = ui.GetComponent<UICanvasFade>();
-			component.FadeOut(0.5f, false, delegate
+			component.FadeOut(0.5f, false, delegate()
 			{
 				UnityEngine.Object.Destroy(ui.gameObject);
 			});
@@ -327,7 +327,7 @@ public class VRMiniGameManager : MonoBehaviour
 				}
 			}
 		}
-		callback = (UnityAction)Delegate.Combine(callback, new UnityAction(delegate
+		callback = (UnityAction)Delegate.Combine(callback, new UnityAction(delegate()
 		{
 			this.AddQueueVoice(voiceType);
 			this.FinishMiniGame();

+ 2 - 2
Assembly-CSharp/VRMiniGameScoreBoard.cs

@@ -94,9 +94,9 @@ public class VRMiniGameScoreBoard : MonoBehaviour
 		this.m_TextResultMessage.text = message;
 		UICanvasFade fade = base.GetComponent<UICanvasFade>();
 		this.m_ButtonExit.onClick.RemoveAllListeners();
-		this.m_ButtonExit.onClick.AddListener(delegate
+		this.m_ButtonExit.onClick.AddListener(delegate()
 		{
-			fade.FadeOut(fade.fadeTime, fade.isTimeScaling, delegate
+			fade.FadeOut(fade.fadeTime, fade.isTimeScaling, delegate()
 			{
 				callback();
 			});

+ 6 - 6
Assembly-CSharp/VRMiniGameSetup.cs

@@ -109,18 +109,18 @@ public class VRMiniGameSetup : MonoBehaviour
 			{
 				if (hand != null)
 				{
-					this.$this.m_Controller = hand.VRControllerButtons;
+					this.m_Controller = hand.VRControllerButtons;
 				}
 				else
 				{
-					VRMiniGameManager.Instance.VRController = this.$this.m_Controller;
+					VRMiniGameManager.Instance.VRController = this.m_Controller;
 				}
-				VRMiniGameManager.Instance.CreateScoreBoard(this.$this.m_ScoreBoardUIPosition.position, this.$this.m_ScoreBoardUIPosition.rotation);
-				for (int i = 0; i < this.$this.m_GoEnableObjects.Length; i++)
+				VRMiniGameManager.Instance.CreateScoreBoard(this.m_ScoreBoardUIPosition.position, this.m_ScoreBoardUIPosition.rotation);
+				for (int i = 0; i < this.m_GoEnableObjects.Length; i++)
 				{
-					if (this.$this.m_GoEnableObjects[i] != null)
+					if (this.m_GoEnableObjects[i] != null)
 					{
-						this.$this.m_GoEnableObjects[i].SetActive(true);
+						this.m_GoEnableObjects[i].SetActive(true);
 					}
 				}
 			});

+ 1 - 1
Assembly-CSharp/VRNeiLetterMenu.cs

@@ -51,7 +51,7 @@ public class VRNeiLetterMenu : MonoBehaviour
 						gameObject.gameObject.SetActive(true);
 						gameObject.transform.SetParent(this.m_ScrollArea, false);
 						gameObject.GetComponentInChildren<Text>().text = cellAsString3;
-						gameObject.GetComponent<Button>().onClick.AddListener(delegate
+						gameObject.GetComponent<Button>().onClick.AddListener(delegate()
 						{
 							string path = this.m_uGUIAtlasPath + imageName;
 							this.StartCoroutine(this.Coroutine_Load<Sprite>(path, delegate(ResourceRequest req)

+ 3 - 3
Assembly-CSharp/VRRentalMaidMenu.cs

@@ -9,7 +9,7 @@ public class VRRentalMaidMenu : MonoBehaviour
 	{
 		Status status = GameMain.Instance.CharacterMgr.status;
 		this.m_ButtonMaid01.onClick.RemoveAllListeners();
-		this.m_ButtonMaid01.onClick.AddListener(delegate
+		this.m_ButtonMaid01.onClick.AddListener(delegate()
 		{
 			this.m_NowFlagName = "バケーションレンタルお掃除大作戦_1";
 			this.m_VoiceFileName = "N21_00540";
@@ -17,7 +17,7 @@ public class VRRentalMaidMenu : MonoBehaviour
 			this.m_ImageTargetFrame.SetParent(this.m_ButtonMaid01.transform, true);
 		});
 		this.m_ButtonMaid02.onClick.RemoveAllListeners();
-		this.m_ButtonMaid02.onClick.AddListener(delegate
+		this.m_ButtonMaid02.onClick.AddListener(delegate()
 		{
 			this.m_NowFlagName = "バケーションレンタルお掃除大作戦_2";
 			this.m_VoiceFileName = "N22_00543";
@@ -25,7 +25,7 @@ public class VRRentalMaidMenu : MonoBehaviour
 			this.m_ImageTargetFrame.SetParent(this.m_ButtonMaid02.transform, true);
 		});
 		this.m_ButtonMaid03.onClick.RemoveAllListeners();
-		this.m_ButtonMaid03.onClick.AddListener(delegate
+		this.m_ButtonMaid03.onClick.AddListener(delegate()
 		{
 			this.m_NowFlagName = "バケーションレンタルお掃除大作戦_3";
 			this.m_VoiceFileName = "N23_00301";

+ 1 - 1
Assembly-CSharp/VRSelectorMenu.cs

@@ -65,7 +65,7 @@ public class VRSelectorMenu : MonoBehaviour
 			componentInChildren.text = choice.strText;
 			if (callback != null)
 			{
-				component.onClick.AddListener(delegate
+				component.onClick.AddListener(delegate()
 				{
 					callback(choice);
 				});

+ 1 - 1
Assembly-CSharp/VRTutorialMenu.cs

@@ -50,7 +50,7 @@ public class VRTutorialMenu : MonoBehaviour
 		{
 			this.m_ButtonReturn.onClick.AddListener(callback);
 		}
-		this.m_ButtonReturn.onClick.AddListener(delegate
+		this.m_ButtonReturn.onClick.AddListener(delegate()
 		{
 			VRCanvasManager.Instance.OpenVRCanvas(VRCanvasManager.VRCanvasType.MainMenu);
 		});

+ 5 - 5
Assembly-CSharp/VRVIPMenu.cs

@@ -133,29 +133,29 @@ public class VRVIPMenu : MonoBehaviour
 							{
 								VRVIPMenuElement component = data.Element.GetComponent<VRVIPMenuElement>();
 								VRVIPMenuElement vrvipmenuElement = component;
-								vrvipmenuElement.m_CallbackPointerClick = (UnityAction)Delegate.Combine(vrvipmenuElement.m_CallbackPointerClick, new UnityAction(delegate
+								vrvipmenuElement.m_CallbackPointerClick = (UnityAction)Delegate.Combine(vrvipmenuElement.m_CallbackPointerClick, new UnityAction(delegate()
 								{
 									this.EventElementClick(data, scriptName);
 									GameMain.Instance.SoundMgr.PlaySystem(SoundMgr.SeType.Click);
 								}));
 								VRVIPMenuElement vrvipmenuElement2 = component;
-								vrvipmenuElement2.m_CallbackPointerDown = (UnityAction)Delegate.Combine(vrvipmenuElement2.m_CallbackPointerDown, new UnityAction(delegate
+								vrvipmenuElement2.m_CallbackPointerDown = (UnityAction)Delegate.Combine(vrvipmenuElement2.m_CallbackPointerDown, new UnityAction(delegate()
 								{
 									data.isPointerDown = true;
 								}));
 								VRVIPMenuElement vrvipmenuElement3 = component;
-								vrvipmenuElement3.m_CallbackPointerUp = (UnityAction)Delegate.Combine(vrvipmenuElement3.m_CallbackPointerUp, new UnityAction(delegate
+								vrvipmenuElement3.m_CallbackPointerUp = (UnityAction)Delegate.Combine(vrvipmenuElement3.m_CallbackPointerUp, new UnityAction(delegate()
 								{
 									data.isPointerDown = false;
 								}));
 								VRVIPMenuElement vrvipmenuElement4 = component;
-								vrvipmenuElement4.m_CallbackPointerEnter = (UnityAction)Delegate.Combine(vrvipmenuElement4.m_CallbackPointerEnter, new UnityAction(delegate
+								vrvipmenuElement4.m_CallbackPointerEnter = (UnityAction)Delegate.Combine(vrvipmenuElement4.m_CallbackPointerEnter, new UnityAction(delegate()
 								{
 									data.isPointerStay = true;
 									GameMain.Instance.SoundMgr.PlaySystem(SoundMgr.SeType.Hover);
 								}));
 								VRVIPMenuElement vrvipmenuElement5 = component;
-								vrvipmenuElement5.m_CallbackPointerExit = (UnityAction)Delegate.Combine(vrvipmenuElement5.m_CallbackPointerExit, new UnityAction(delegate
+								vrvipmenuElement5.m_CallbackPointerExit = (UnityAction)Delegate.Combine(vrvipmenuElement5.m_CallbackPointerExit, new UnityAction(delegate()
 								{
 									data.isPointerStay = false;
 									data.isPointerDown = false;

+ 1 - 1
Assembly-CSharp/WindowPartsFingerPreset.cs

@@ -182,7 +182,7 @@ public class WindowPartsFingerPreset : MonoBehaviour
 	{
 		WindowPartsFingerBlend.Type blendType = tareget_blend.BlendType;
 		FingerBlend.BaseFinger baseFingerClass = tareget_blend.GetBaseFingerClass(tareget_blend.mgr.select_maid, blendType);
-		XElement xelement = new XElement("GameVersion", 1160);
+		XElement xelement = new XElement("GameVersion", 1170);
 		XElement xelement2 = new XElement("RightData", blendType == WindowPartsFingerBlend.Type.RightArm || blendType == WindowPartsFingerBlend.Type.RightLeg);
 		XElement xelement3 = new XElement("BinaryData", Convert.ToBase64String(baseFingerClass.GetBinary()));
 		XNode[] contents = new XNode[]

+ 1 - 1
Assembly-CSharp/WindowPartsPopUpList.cs

@@ -6,7 +6,7 @@ public class WindowPartsPopUpList : MonoBehaviour
 {
 	public virtual void Awake()
 	{
-		EventDelegate.Add(this.PopupList.onChange, delegate
+		EventDelegate.Add(this.PopupList.onChange, delegate()
 		{
 			if (this.onChangePopUpListValue == null || this.onChangePopUpListValue.Count <= 0)
 			{

+ 3 - 3
Assembly-CSharp/WindowPartsTransform.cs

@@ -13,7 +13,7 @@ public class WindowPartsTransform : MonoBehaviour
 			if (this.PosInput != null)
 			{
 				this.visible_setting_btn_dic_.Add("move", UTY.GetChildObject(this.VisibleSettingTab.gameObject, "MoveBtn/Btn", false).GetComponent<UIWFTabButton>());
-				EventDelegate.Add(this.visible_setting_btn_dic_["move"].onClick, delegate
+				EventDelegate.Add(this.visible_setting_btn_dic_["move"].onClick, delegate()
 				{
 					this.axis_visible_type_ = WindowPartsTransform.AxisVisibleType.Position;
 					this.OnChangeAxisVisibleType();
@@ -26,7 +26,7 @@ public class WindowPartsTransform : MonoBehaviour
 			if (this.RotateInput != null)
 			{
 				this.visible_setting_btn_dic_.Add("rotate", UTY.GetChildObject(this.VisibleSettingTab.gameObject, "RotateBtn/Btn", false).GetComponent<UIWFTabButton>());
-				EventDelegate.Add(this.visible_setting_btn_dic_["rotate"].onClick, delegate
+				EventDelegate.Add(this.visible_setting_btn_dic_["rotate"].onClick, delegate()
 				{
 					this.axis_visible_type_ = WindowPartsTransform.AxisVisibleType.Rotate;
 					this.OnChangeAxisVisibleType();
@@ -39,7 +39,7 @@ public class WindowPartsTransform : MonoBehaviour
 			if (this.PosInput != null || this.RotateInput != null)
 			{
 				this.visible_setting_btn_dic_.Add("unvisible", UTY.GetChildObject(this.VisibleSettingTab.gameObject, "UnVisibleBtn/Btn", false).GetComponent<UIWFTabButton>());
-				EventDelegate.Add(this.visible_setting_btn_dic_["unvisible"].onClick, delegate
+				EventDelegate.Add(this.visible_setting_btn_dic_["unvisible"].onClick, delegate()
 				{
 					this.axis_visible_type_ = WindowPartsTransform.AxisVisibleType.UnVisible;
 					this.OnChangeAxisVisibleType();

+ 92 - 0
Assembly-CSharp/XVI/AniLipSync/LowLatencyLipSyncContext.cs

@@ -0,0 +1,92 @@
+using System;
+using UnityEngine;
+
+namespace XVI.AniLipSync
+{
+	public class LowLatencyLipSyncContext : OVRLipSyncContextBase
+	{
+		private OVRLipSync.VariableData m_Variable
+		{
+			get
+			{
+				return GameMain.Instance.LipSyncMgr.Variable;
+			}
+		}
+
+		public override void Init()
+		{
+			base.Init();
+			this.m_MicInput = base.GetComponent<OVRLipSyncMicInput>();
+			this.processBuffer = new float[OVRLipSync.BuffSize];
+			this.microphoneBuffer = new float[OVRLipSync.SamplingRate * 10];
+		}
+
+		private void Update()
+		{
+			if (!this.audioSource.clip)
+			{
+				return;
+			}
+			int position = Microphone.GetPosition(this.m_MicInput.selectedDevice);
+			if (position < 0 || this.head == position)
+			{
+				return;
+			}
+			this.audioSource.clip.GetData(this.microphoneBuffer, 0);
+			while (LowLatencyLipSyncContext.GetDataLength(this.microphoneBuffer.Length, this.head, position) > this.processBuffer.Length)
+			{
+				int num = this.microphoneBuffer.Length - this.head;
+				if (num < this.processBuffer.Length)
+				{
+					Array.Copy(this.microphoneBuffer, this.head, this.processBuffer, 0, num);
+					Array.Copy(this.microphoneBuffer, 0, this.processBuffer, num, this.processBuffer.Length - num);
+				}
+				else
+				{
+					Array.Copy(this.microphoneBuffer, this.head, this.processBuffer, 0, this.processBuffer.Length);
+				}
+				float[] array = new float[this.processBuffer.Length];
+				Array.Copy(this.processBuffer, array, array.Length);
+				for (int i = 0; i < array.Length; i++)
+				{
+					array[i] *= this.m_Variable.MicSensitivity;
+				}
+				OVRLipSync.ProcessFrame(base.Context, array, OVRLipSync.Flags.None, base.Frame);
+				this.head += this.processBuffer.Length;
+				if (this.head > this.microphoneBuffer.Length)
+				{
+					this.head -= this.microphoneBuffer.Length;
+				}
+			}
+		}
+
+		public float GetMicVolume()
+		{
+			float num = 0f;
+			foreach (float f in this.processBuffer)
+			{
+				num += Mathf.Abs(f);
+			}
+			return num / (float)this.processBuffer.Length;
+		}
+
+		private static int GetDataLength(int bufferLength, int head, int tail)
+		{
+			if (head < tail)
+			{
+				return tail - head;
+			}
+			return bufferLength - head + tail;
+		}
+
+		private AudioClip clip;
+
+		private int head;
+
+		private float[] processBuffer = new float[512];
+
+		private float[] microphoneBuffer = new float[441000];
+
+		private OVRLipSyncMicInput m_MicInput;
+	}
+}

+ 23 - 20
Assembly-CSharp/YotogiCommandFactory.cs

@@ -1,6 +1,7 @@
 using System;
 using System.Collections.Generic;
 using System.Runtime.CompilerServices;
+using I2.Loc;
 using UnityEngine;
 using wf;
 using Yotogis;
@@ -93,11 +94,11 @@ public class YotogiCommandFactory : MonoBehaviour
 		List<KeyValuePair<string, List<Skill.Data.Command.Data>>> list = new List<KeyValuePair<string, List<Skill.Data.Command.Data>>>();
 		for (int i = 0; i < skill_command.data.Length; i++)
 		{
-			string group_name = skill_command.data[i].basic.group_name;
+			string groupName = this.GetGroupName(skill_command.data[i].basic);
 			bool flag = true;
 			for (int j = 0; j < list.Count; j++)
 			{
-				if (list[j].Key == group_name)
+				if (list[j].Key == groupName)
 				{
 					list[j].Value.Add(skill_command.data[i]);
 					flag = false;
@@ -106,7 +107,7 @@ public class YotogiCommandFactory : MonoBehaviour
 			}
 			if (flag)
 			{
-				list.Add(new KeyValuePair<string, List<Skill.Data.Command.Data>>(group_name, new List<Skill.Data.Command.Data>()));
+				list.Add(new KeyValuePair<string, List<Skill.Data.Command.Data>>(groupName, new List<Skill.Data.Command.Data>()));
 				list[list.Count - 1].Value.Add(skill_command.data[i]);
 			}
 		}
@@ -127,22 +128,22 @@ public class YotogiCommandFactory : MonoBehaviour
 					children.data = list[k].Value[l];
 					children.id = num;
 					children.visible = false;
-					children.this_object = this.CreateCommand(children.data.basic.name, children.id, false);
+					children.this_object = this.CreateCommand(this.GetCommandName(children.data.basic), children.id, false);
 					children.button = children.this_object.GetComponent<UIButton>();
 					children.nameLabel = children.this_object.GetComponentInChildren<UILabel>();
 					children.eventCollider = children.this_object.GetComponentInChildren<UIEventTrigger>().GetComponent<BoxCollider>();
 					children.transform = children.this_object.transform;
 					UIEventTrigger component = children.eventCollider.GetComponent<UIEventTrigger>();
 					YotogiCommandFactory.Command.Children data = children;
-					EventDelegate.Add(component.onHoverOver, delegate
+					EventDelegate.Add(component.onHoverOver, delegate()
 					{
 						this.OnHoverOver(data);
 					});
-					EventDelegate.Add(component.onHoverOut, delegate
+					EventDelegate.Add(component.onHoverOut, delegate()
 					{
 						this.OnHoverOut(data);
 					});
-					EventDelegate.Add(component.onDragStart, delegate
+					EventDelegate.Add(component.onDragStart, delegate()
 					{
 						this.OnHoverOut(data);
 					});
@@ -157,18 +158,10 @@ public class YotogiCommandFactory : MonoBehaviour
 
 	private void OnHoverOver(YotogiCommandFactory.Command.Children data)
 	{
-		if (this.exec_condition_call_back_ != null)
-		{
-			this.exec_condition_call_back_(data.this_object, data.data, true);
-		}
 	}
 
 	private void OnHoverOut(YotogiCommandFactory.Command.Children data)
 	{
-		if (this.exec_condition_call_back_ != null)
-		{
-			this.exec_condition_call_back_(data.this_object, data.data, false);
-		}
 	}
 
 	public void ClearSkillCommand()
@@ -184,7 +177,7 @@ public class YotogiCommandFactory : MonoBehaviour
 
 	public void AddCommand(Skill.Data.Command.Data command_data)
 	{
-		YotogiCommandFactory.Command command = this.command_dic_[command_data.basic.group_name];
+		YotogiCommandFactory.Command command = this.command_dic_[this.GetGroupName(command_data.basic)];
 		for (int i = 0; i < command.children.Length; i++)
 		{
 			if (command.children[i].data == command_data)
@@ -219,7 +212,7 @@ public class YotogiCommandFactory : MonoBehaviour
 
 	public void RemoveCommand(Skill.Data.Command.Data command_data)
 	{
-		YotogiCommandFactory.Command command = this.command_dic_[command_data.basic.group_name];
+		YotogiCommandFactory.Command command = this.command_dic_[this.GetGroupName(command_data.basic)];
 		for (int i = 0; i < command.children.Length; i++)
 		{
 			if (command.children[i].data == command_data)
@@ -248,7 +241,7 @@ public class YotogiCommandFactory : MonoBehaviour
 
 	public GameObject GetCommandGameObject(Skill.Data.Command.Data command_data)
 	{
-		YotogiCommandFactory.Command command = this.command_dic_[command_data.basic.group_name];
+		YotogiCommandFactory.Command command = this.command_dic_[this.GetGroupName(command_data.basic)];
 		for (int i = 0; i < command.children.Length; i++)
 		{
 			if (command.children[i].data == command_data)
@@ -297,7 +290,7 @@ public class YotogiCommandFactory : MonoBehaviour
 			name = string.Empty;
 		}
 		GameObject gameObject = Utility.CreatePrefab(this.HiddenTree, "SceneYotogi/Yotogi/Prefab/CommandCategoryTitle", true);
-		gameObject.GetComponent<UILabel>().text = name;
+		gameObject.GetComponent<Localize>().SetTerm(name);
 		gameObject.name = "-" + name;
 		Vector3 localPosition = gameObject.transform.localPosition;
 		localPosition.z = (float)id;
@@ -312,7 +305,7 @@ public class YotogiCommandFactory : MonoBehaviour
 			name = string.Empty;
 		}
 		GameObject gameObject = Utility.CreatePrefab(this.HiddenTree, "SceneYotogi/Yotogi/Prefab/Command", true);
-		UTY.GetChildObject(gameObject, "Name", false).GetComponent<UILabel>().text = name;
+		UTY.GetChildObject(gameObject, "Name", false).GetComponent<Localize>().SetTerm(name);
 		gameObject.name = "cm:" + name;
 		Vector3 localPosition = gameObject.transform.localPosition;
 		localPosition.z = (float)id;
@@ -349,6 +342,16 @@ public class YotogiCommandFactory : MonoBehaviour
 		}
 	}
 
+	private string GetGroupName(Skill.Data.Command.Data.Basic commandDataBasic)
+	{
+		return commandDataBasic.termGroupName;
+	}
+
+	private string GetCommandName(Skill.Data.Command.Data.Basic commandDataBasic)
+	{
+		return commandDataBasic.termName;
+	}
+
 	public GameObject HiddenTree;
 
 	private UIGrid grid_;

+ 2 - 0
Assembly-CSharp/YotogiCommandMenuOVR.cs

@@ -1,6 +1,7 @@
 using System;
 using System.Collections;
 using System.Collections.Generic;
+using I2.Loc;
 using UnityEngine;
 using UnityEngine.UI;
 using wf;
@@ -71,6 +72,7 @@ public class YotogiCommandMenuOVR : MonoBehaviour
 			RectTransform rectTransform = UnityEngine.Object.Instantiate<RectTransform>(this.clone_src_);
 			rectTransform.SetParent(this.command_panel_, false);
 			rectTransform.GetComponent<Text>().text = data.basic.name;
+			rectTransform.GetComponent<Localize>().SetTerm(data.basic.termName);
 			rectTransform.gameObject.SetActive(false);
 			this.command_dic_.Add(data, rectTransform);
 		}

+ 4 - 10
Assembly-CSharp/YotogiManager.cs

@@ -319,8 +319,8 @@ public class YotogiManager : WfScreenManager
 			{
 				stockMaid.body0.MuneYureL(1f);
 				stockMaid.body0.MuneYureR(1f);
-				stockMaid.IKTargetToBone("左手", null, "無し", Vector3.zero, IKMgrData.IKAttachType.Point, false);
-				stockMaid.IKTargetToBone("右手", null, "無し", Vector3.zero, IKMgrData.IKAttachType.Point, false);
+				stockMaid.IKTargetToBone("左手", null, "無し", Vector3.zero, IKCtrlData.IKAttachType.Point, false, 0f, false, false);
+				stockMaid.IKTargetToBone("右手", null, "無し", Vector3.zero, IKCtrlData.IKAttachType.Point, false, 0f, false, false);
 			}
 		}
 		for (int j = 0; j < characterMgr.GetStockManCount(); j++)
@@ -328,8 +328,8 @@ public class YotogiManager : WfScreenManager
 			Maid stockMan = characterMgr.GetStockMan(j);
 			if (stockMan != null && stockMan.body0 != null && stockMan.body0.isLoadedBody)
 			{
-				stockMan.IKTargetToBone("左手", null, "無し", Vector3.zero, IKMgrData.IKAttachType.Point, false);
-				stockMan.IKTargetToBone("右手", null, "無し", Vector3.zero, IKMgrData.IKAttachType.Point, false);
+				stockMan.IKTargetToBone("左手", null, "無し", Vector3.zero, IKCtrlData.IKAttachType.Point, false, 0f, false, false);
+				stockMan.IKTargetToBone("右手", null, "無し", Vector3.zero, IKCtrlData.IKAttachType.Point, false, 0f, false, false);
 			}
 		}
 		string[] array = new string[]
@@ -555,7 +555,6 @@ public class YotogiManager : WfScreenManager
 	{
 		get
 		{
-			GameMain.Instance.MainCamera.IsFadeOut();
 			return false;
 		}
 	}
@@ -564,7 +563,6 @@ public class YotogiManager : WfScreenManager
 	{
 		get
 		{
-			GameMain.Instance.MainCamera.IsFadeOut();
 			return false;
 		}
 	}
@@ -573,7 +571,6 @@ public class YotogiManager : WfScreenManager
 	{
 		get
 		{
-			GameMain.Instance.MainCamera.IsFadeOut();
 			return false;
 		}
 	}
@@ -582,7 +579,6 @@ public class YotogiManager : WfScreenManager
 	{
 		get
 		{
-			GameMain.Instance.MainCamera.IsFadeOut();
 			return false;
 		}
 	}
@@ -591,7 +587,6 @@ public class YotogiManager : WfScreenManager
 	{
 		get
 		{
-			GameMain.Instance.MainCamera.IsFadeOut();
 			return false;
 		}
 	}
@@ -600,7 +595,6 @@ public class YotogiManager : WfScreenManager
 	{
 		get
 		{
-			GameMain.Instance.MainCamera.IsFadeOut();
 			return false;
 		}
 	}

+ 4 - 4
Assembly-CSharp/YotogiOldManager.cs

@@ -302,8 +302,8 @@ public class YotogiOldManager : WfScreenManager
 			{
 				stockMaid.body0.MuneYureL(1f);
 				stockMaid.body0.MuneYureR(1f);
-				stockMaid.IKTargetToBone("左手", null, "無し", Vector3.zero, IKMgrData.IKAttachType.Point, false);
-				stockMaid.IKTargetToBone("右手", null, "無し", Vector3.zero, IKMgrData.IKAttachType.Point, false);
+				stockMaid.IKTargetToBone("左手", null, "無し", Vector3.zero, IKCtrlData.IKAttachType.Point, false, 0f, false, false);
+				stockMaid.IKTargetToBone("右手", null, "無し", Vector3.zero, IKCtrlData.IKAttachType.Point, false, 0f, false, false);
 			}
 		}
 		for (int j = 0; j < characterMgr.GetStockManCount(); j++)
@@ -311,8 +311,8 @@ public class YotogiOldManager : WfScreenManager
 			Maid stockMan = characterMgr.GetStockMan(j);
 			if (stockMan != null && stockMan.body0 != null && stockMan.body0.isLoadedBody)
 			{
-				stockMan.IKTargetToBone("左手", null, "無し", Vector3.zero, IKMgrData.IKAttachType.Point, false);
-				stockMan.IKTargetToBone("右手", null, "無し", Vector3.zero, IKMgrData.IKAttachType.Point, false);
+				stockMan.IKTargetToBone("左手", null, "無し", Vector3.zero, IKCtrlData.IKAttachType.Point, false, 0f, false, false);
+				stockMan.IKTargetToBone("右手", null, "無し", Vector3.zero, IKCtrlData.IKAttachType.Point, false, 0f, false, false);
 			}
 		}
 		string[] array = new string[]

+ 3 - 3
Assembly-CSharp/YotogiOldPlayManager.cs

@@ -45,15 +45,15 @@ public class YotogiOldPlayManager : WfScreenChildren
 			EventDelegate.Add(component.onClick, new EventDelegate.Callback(this.OnSkillIconClick));
 			UIEventTrigger component3 = childObject.GetComponent<UIEventTrigger>();
 			int num = i;
-			EventDelegate.Add(component3.onHoverOver, delegate
+			EventDelegate.Add(component3.onHoverOver, delegate()
 			{
 				this.VisibleSkillName(num, true);
 			});
-			EventDelegate.Add(component3.onHoverOut, delegate
+			EventDelegate.Add(component3.onHoverOut, delegate()
 			{
 				this.VisibleSkillName(num, false);
 			});
-			EventDelegate.Add(component3.onDragStart, delegate
+			EventDelegate.Add(component3.onDragStart, delegate()
 			{
 				this.VisibleSkillName(num, false);
 			});

+ 9 - 9
Assembly-CSharp/YotogiOldSkillContainerViewer.cs

@@ -209,15 +209,15 @@ public class YotogiOldSkillContainerViewer
 			this.icon_btn_obj_ = this.skill_icon_obj.GetComponent<UIButton>();
 			this.skill_icon_scripts_ = this.skill_icon_obj.GetComponent<YotogiOldSkillIcon>();
 			this.btn_event_trigger_ = this.skill_icon_obj.gameObject.GetComponent<UIEventTrigger>();
-			EventDelegate.Add(this.btn_event_trigger_.onHoverOver, delegate
+			EventDelegate.Add(this.btn_event_trigger_.onHoverOver, delegate()
 			{
 				this.VisibleSkillName(true);
 			});
-			EventDelegate.Add(this.btn_event_trigger_.onHoverOut, delegate
+			EventDelegate.Add(this.btn_event_trigger_.onHoverOut, delegate()
 			{
 				this.VisibleSkillName(false);
 			});
-			EventDelegate.Add(this.btn_event_trigger_.onDragStart, delegate
+			EventDelegate.Add(this.btn_event_trigger_.onDragStart, delegate()
 			{
 				this.VisibleSkillName(false);
 			});
@@ -262,15 +262,15 @@ public class YotogiOldSkillContainerViewer
 			this.btn_event_trigger_.onHoverOver.Clear();
 			this.btn_event_trigger_.onHoverOut.Clear();
 			this.btn_event_trigger_.onDragStart.Clear();
-			EventDelegate.Add(this.btn_event_trigger_.onHoverOver, delegate
+			EventDelegate.Add(this.btn_event_trigger_.onHoverOver, delegate()
 			{
 				this.VisibleSkillName(true);
 			});
-			EventDelegate.Add(this.btn_event_trigger_.onHoverOut, delegate
+			EventDelegate.Add(this.btn_event_trigger_.onHoverOut, delegate()
 			{
 				this.VisibleSkillName(false);
 			});
-			EventDelegate.Add(this.btn_event_trigger_.onDragStart, delegate
+			EventDelegate.Add(this.btn_event_trigger_.onDragStart, delegate()
 			{
 				this.VisibleSkillName(false);
 			});
@@ -281,15 +281,15 @@ public class YotogiOldSkillContainerViewer
 			target.btn_event_trigger_.onHoverOver.Clear();
 			target.btn_event_trigger_.onHoverOut.Clear();
 			target.btn_event_trigger_.onDragStart.Clear();
-			EventDelegate.Add(target.btn_event_trigger_.onHoverOver, delegate
+			EventDelegate.Add(target.btn_event_trigger_.onHoverOver, delegate()
 			{
 				target.VisibleSkillName(true);
 			});
-			EventDelegate.Add(target.btn_event_trigger_.onHoverOut, delegate
+			EventDelegate.Add(target.btn_event_trigger_.onHoverOut, delegate()
 			{
 				target.VisibleSkillName(false);
 			});
-			EventDelegate.Add(target.btn_event_trigger_.onDragStart, delegate
+			EventDelegate.Add(target.btn_event_trigger_.onDragStart, delegate()
 			{
 				target.VisibleSkillName(false);
 			});

+ 1 - 1
Assembly-CSharp/YotogiOldSkillUnit.cs

@@ -54,7 +54,7 @@ public class YotogiOldSkillUnit : MonoBehaviour
 		}
 		this.result_anime_exp_system_.SetTotalExp(start_total_exp);
 		this.UpdateGage(this.result_anime_exp_system_);
-		this.anime_event_ = delegate
+		this.anime_event_ = delegate()
 		{
 			iTween.ValueTo(this.gameObject, iTween.Hash(new object[]
 			{

+ 29 - 13
Assembly-CSharp/YotogiParamScroll.cs

@@ -1,6 +1,7 @@
 using System;
 using System.Collections;
 using System.Collections.Generic;
+using I2.Loc;
 using UnityEngine;
 using wf;
 
@@ -11,10 +12,10 @@ public class YotogiParamScroll : MonoBehaviour
 		this.panel_ = UTY.GetChildObject(base.gameObject, "Mask", false).GetComponent<UIPanel>();
 		this.parent_obj_ = UTY.GetChildObject(base.gameObject, "Parent", false);
 		Transform transform = this.parent_obj_.transform;
-		this.label_array = new UILabel[transform.childCount];
+		this.label_array = new YotogiParamScroll.LabelAndLocalize[transform.childCount];
 		for (int i = 0; i < this.label_array.Length; i++)
 		{
-			this.label_array[i] = transform.GetChild(i).GetComponent<UILabel>();
+			this.label_array[i] = new YotogiParamScroll.LabelAndLocalize(transform.GetChild(i).GetComponent<UILabel>(), transform.GetChild(i).GetComponent<Localize>());
 		}
 		this.base_pos = transform.localPosition;
 		this.hide_pos = this.base_pos;
@@ -28,7 +29,7 @@ public class YotogiParamScroll : MonoBehaviour
 	{
 		for (int i = 0; i < this.label_array.Length; i++)
 		{
-			this.label_array[i].alpha = 0f;
+			this.label_array[i].label.alpha = 0f;
 		}
 		if (this.state_ == YotogiParamScroll.State.FadeIn || this.state_ == YotogiParamScroll.State.FadeOut)
 		{
@@ -39,7 +40,7 @@ public class YotogiParamScroll : MonoBehaviour
 			this.parent_obj_.transform.SetParent(base.transform, false);
 			for (int j = 0; j < this.label_array.Length; j++)
 			{
-				this.label_array[j].ParentHasChanged();
+				this.label_array[j].label.ParentHasChanged();
 			}
 		}
 		this.parent_obj_.transform.localPosition = this.hide_pos;
@@ -51,11 +52,11 @@ public class YotogiParamScroll : MonoBehaviour
 		int num = (this.label_array.Length >= draw_param.Count) ? draw_param.Count : this.label_array.Length;
 		for (int i = 0; i < this.label_array.Length; i++)
 		{
-			this.label_array[i].alpha = 0f;
+			this.label_array[i].label.alpha = 0f;
 		}
 		for (int j = 0; j < num; j++)
 		{
-			this.label_array[j].alpha = 1f;
+			this.label_array[j].label.alpha = 1f;
 			KeyValuePair<string, int> keyValuePair = draw_param[j];
 			YotogiParamScroll.SetLabelText(this.label_array[j], keyValuePair.Key, keyValuePair.Value);
 		}
@@ -68,7 +69,7 @@ public class YotogiParamScroll : MonoBehaviour
 			this.parent_obj_.transform.SetParent(base.transform, false);
 			for (int k = 0; k < this.label_array.Length; k++)
 			{
-				this.label_array[k].ParentHasChanged();
+				this.label_array[k].label.ParentHasChanged();
 			}
 		}
 		this.parent_obj_.transform.localPosition = this.hide_pos;
@@ -82,7 +83,7 @@ public class YotogiParamScroll : MonoBehaviour
 			this.parent_obj_.transform.SetParent(this.panel_.transform, false);
 			for (int i = 0; i < this.label_array.Length; i++)
 			{
-				this.label_array[i].ParentHasChanged();
+				this.label_array[i].label.ParentHasChanged();
 			}
 			Hashtable hashtable = TweenHash.EaseOutSine(TweenHash.Type.Position, this.end_pos, this.MoveSpeedTime);
 			hashtable.Add("oncomplete", "OnEndFadeOut");
@@ -117,16 +118,18 @@ public class YotogiParamScroll : MonoBehaviour
 		this.parent_obj_.transform.SetParent(base.transform, false);
 		for (int i = 0; i < this.label_array.Length; i++)
 		{
-			this.label_array[i].ParentHasChanged();
+			this.label_array[i].label.ParentHasChanged();
 		}
 		this.parent_obj_.transform.localPosition = this.hide_pos;
 		this.state_ = YotogiParamScroll.State.Null;
 	}
 
-	private static void SetLabelText(UILabel label, string text, int num)
+	private static void SetLabelText(YotogiParamScroll.LabelAndLocalize labelAndLocalize, string text, int num)
 	{
-		label.text = text + "\u3000";
-		label.text += num.ToString();
+		labelAndLocalize.label.text = text;
+		labelAndLocalize.localize.SetTerm("MaidStatus/" + text);
+		UILabel label = labelAndLocalize.label;
+		label.text = label.text + "  " + num.ToString();
 	}
 
 	public int WaitTime = 2500;
@@ -137,7 +140,7 @@ public class YotogiParamScroll : MonoBehaviour
 
 	private GameObject parent_obj_;
 
-	private UILabel[] label_array;
+	private YotogiParamScroll.LabelAndLocalize[] label_array;
 
 	private Vector3 base_pos;
 
@@ -157,4 +160,17 @@ public class YotogiParamScroll : MonoBehaviour
 		Wait,
 		FadeOut
 	}
+
+	private struct LabelAndLocalize
+	{
+		public LabelAndLocalize(UILabel label, Localize localize)
+		{
+			this.label = label;
+			this.localize = localize;
+		}
+
+		public UILabel label;
+
+		public Localize localize;
+	}
 }

+ 5 - 6
Assembly-CSharp/YotogiParameterViewer.cs

@@ -1,5 +1,6 @@
 using System;
 using System.Collections.Generic;
+using I2.Loc;
 using MaidStatus;
 using UnityEngine;
 
@@ -48,15 +49,13 @@ public class YotogiParameterViewer : MonoBehaviour
 			return;
 		}
 		Status status = this.maid_.status;
-		this.label_dictionary_[YotogiParameterViewer.LabelType.Contract].text = EnumConvert.GetString(status.contract);
+		this.label_dictionary_[YotogiParameterViewer.LabelType.Contract].GetComponent<Localize>().SetTerm(EnumConvert.GetTerm(status.contract));
 		this.label_dictionary_[YotogiParameterViewer.LabelType.Name].text = status.lastName + "\n" + status.firstName;
 		this.label_dictionary_[YotogiParameterViewer.LabelType.YotogiPlayCount].text = status.playCountYotogi.ToString();
-		this.label_dictionary_[YotogiParameterViewer.LabelType.Seikeiken].text = EnumConvert.GetString(status.seikeiken);
-		this.label_dictionary_[YotogiParameterViewer.LabelType.Relation].text = EnumConvert.GetString(status.relation);
-		this.label_dictionary_[YotogiParameterViewer.LabelType.ConditionText].text = status.conditionText;
+		this.label_dictionary_[YotogiParameterViewer.LabelType.Seikeiken].GetComponent<Localize>().SetTerm(EnumConvert.GetTerm(status.seikeiken));
+		this.label_dictionary_[YotogiParameterViewer.LabelType.Relation].GetComponent<Localize>().SetTerm(EnumConvert.GetTerm(status.relation));
+		this.label_dictionary_[YotogiParameterViewer.LabelType.ConditionText].GetComponent<Localize>().SetTerm(status.conditionTermText);
 		UIWidget component = UTY.GetChildObject(this.label_dictionary_[YotogiParameterViewer.LabelType.ConditionText].transform.parent.gameObject, "Line", false).GetComponent<UIWidget>();
-		int num = 175 - 20 * this.label_dictionary_[YotogiParameterViewer.LabelType.ConditionText].text.Length;
-		component.width = ((90 >= num) ? num : 90);
 	}
 
 	public void UpdateTextParam()

+ 45 - 7
Assembly-CSharp/YotogiPlayManager.cs

@@ -2,6 +2,7 @@
 using System.Collections;
 using System.Collections.Generic;
 using System.IO;
+using I2.Loc;
 using MaidStatus;
 using UnityEngine;
 using wf;
@@ -47,15 +48,15 @@ public class YotogiPlayManager : WfScreenChildren
 			EventDelegate.Add(component.onClick, new EventDelegate.Callback(this.OnSkillIconClick));
 			UIEventTrigger component3 = childObject.GetComponent<UIEventTrigger>();
 			int num = i;
-			EventDelegate.Add(component3.onHoverOver, delegate
+			EventDelegate.Add(component3.onHoverOver, delegate()
 			{
 				this.VisibleSkillName(num, true);
 			});
-			EventDelegate.Add(component3.onHoverOut, delegate
+			EventDelegate.Add(component3.onHoverOut, delegate()
 			{
 				this.VisibleSkillName(num, false);
 			});
-			EventDelegate.Add(component3.onDragStart, delegate
+			EventDelegate.Add(component3.onDragStart, delegate()
 			{
 				this.VisibleSkillName(num, false);
 			});
@@ -297,6 +298,21 @@ public class YotogiPlayManager : WfScreenChildren
 	public override void Update()
 	{
 		base.Update();
+		if (0f < this.message_display_time_)
+		{
+			if (this.message_display_time_ <= Time.time)
+			{
+				this.message_display_time_ = 0f;
+			}
+			if (this.subtitlesManager != null)
+			{
+				this.subtitlesManager.visible = true;
+			}
+		}
+		else if (this.subtitlesManager != null)
+		{
+			this.subtitlesManager.visible = false;
+		}
 		if (GameMain.Instance.CMSystem.ManAlpha != this.setting_man_alpha_)
 		{
 			this.man_alpha_slider_.value = (float)GameMain.Instance.CMSystem.ManAlpha / 100f;
@@ -377,7 +393,7 @@ public class YotogiPlayManager : WfScreenChildren
 			}
 			else
 			{
-				GameMain.Instance.SysDlg.Show("気絶しました。\n夜伽を終了します。", SystemDialog.TYPE.OK, delegate
+				GameMain.Instance.SysDlg.ShowFromLanguageTerm("Dialog/気絶して夜伽終了報告", SystemDialog.TYPE.OK, delegate
 				{
 					GameMain.Instance.SysDlg.Close();
 					this.playing_skill_no_ = -1;
@@ -578,10 +594,22 @@ public class YotogiPlayManager : WfScreenChildren
 
 	public void SetMessageText(string text)
 	{
+		if (this.subtitlesManager != null)
+		{
+			this.subtitlesManager.SetTextFromScriptStyle(text);
+		}
 	}
 
 	public void SetMessageTextDisplayTime(int time)
 	{
+		if (0 < time)
+		{
+			this.message_display_time_ = Time.time + (float)time / 1000f;
+		}
+		else
+		{
+			this.message_display_time_ = 0f;
+		}
 	}
 
 	public void SetRepeatVoiceFile(string file_name, int maid_no)
@@ -601,6 +629,11 @@ public class YotogiPlayManager : WfScreenChildren
 
 	public void AddRepeatVoiceText(string text)
 	{
+		if (0 < this.repeat_voice_data_list_.Count)
+		{
+			YotogiPlayManager.RepeatVoiceData repeatVoiceData = this.repeat_voice_data_list_[this.repeat_voice_data_list_.Count - 1];
+			repeatVoiceData.text = text;
+		}
 	}
 
 	public void ClearRepeatVoiceData()
@@ -1348,7 +1381,7 @@ public class YotogiPlayManager : WfScreenChildren
 
 	private bool OnEnabledCommand(Skill.Data.Command.Data command_data)
 	{
-		Func<bool> func = delegate
+		Func<bool> func = delegate()
 		{
 			if (command_data.basic.isEstrusTriggerCommand && (200 > this.maid_status_.currentExcite || 300 > this.maid_status_.currentSensual))
 			{
@@ -1531,6 +1564,7 @@ public class YotogiPlayManager : WfScreenChildren
 			UIButton component3 = childObject.GetComponent<UIButton>();
 			UISprite component4 = UTY.GetChildObject(gameObject, "SkillName", false).GetComponent<UISprite>();
 			UILabel componentInChildren = component4.GetComponentInChildren<UILabel>();
+			Localize component5 = componentInChildren.GetComponent<Localize>();
 			UIRect uirect = component4;
 			float alpha = 0f;
 			componentInChildren.alpha = alpha;
@@ -1543,6 +1577,10 @@ public class YotogiPlayManager : WfScreenChildren
 			else
 			{
 				componentInChildren.text = playingSkillData.skill_pair.base_data.name;
+				if (component5 != null)
+				{
+					component5.SetTerm(playingSkillData.skill_pair.base_data.termName);
+				}
 				componentInChildren.width = 0;
 				componentInChildren.MakePixelPerfect();
 				component4.width = componentInChildren.width + 20;
@@ -1568,8 +1606,8 @@ public class YotogiPlayManager : WfScreenChildren
 					component3.enabled = true;
 					childObject.GetComponent<UIPlayAnimation>().enabled = true;
 				}
-				YotogiSkillIcon component5 = childObject.GetComponent<YotogiSkillIcon>();
-				component5.SetSkillData(this.yotogi_mgr_.play_skill_array[num].skill_pair.base_data);
+				YotogiSkillIcon component6 = childObject.GetComponent<YotogiSkillIcon>();
+				component6.SetSkillData(this.yotogi_mgr_.play_skill_array[num].skill_pair.base_data);
 			}
 			num++;
 		}

+ 5 - 4
Assembly-CSharp/YotogiResultManager.cs

@@ -134,10 +134,11 @@ public class YotogiResultManager : WfScreenChildren
 		this.acquired_class_parent_.Reposition();
 		this.acquired_attribute_parent_.Reposition();
 		this.skill_unit_parent_.Reposition();
-		this.StartAnime();
-		GameMain.Instance.CharacterMgr.status.CheckTrophyMaidStatus(this.maid_);
-		this.acquired_class_parent_.Reposition();
-		Utility.ResetNGUI(UTY.GetChildObject(this.acquired_class_parent_.transform.parent.parent.gameObject, "Contents", false).GetComponent<UIScrollView>());
+		UTY.GetChildObject(base.root_obj, "wall", false).SetActive(true);
+		base.SetFadeTime(0f);
+		base.SetCallInFadeWaitFrame(100000);
+		base.SetFadeStatus(WfScreenChildren.FadeStatus.Wait);
+		this.OnClickNext();
 	}
 
 	public void Clear()

+ 16 - 9
Assembly-CSharp/YotogiSkillContainerViewer.cs

@@ -1,5 +1,6 @@
 using System;
 using System.Collections;
+using I2.Loc;
 using UnityEngine;
 using wf;
 using Yotogis;
@@ -232,15 +233,15 @@ public class YotogiSkillContainerViewer
 			this.icon_btn_obj_ = this.skill_icon_obj.GetComponent<UIButton>();
 			this.skill_icon_scripts_ = this.skill_icon_obj.GetComponent<YotogiSkillIcon>();
 			this.btn_event_trigger_ = this.skill_icon_obj.gameObject.GetComponent<UIEventTrigger>();
-			EventDelegate.Add(this.btn_event_trigger_.onHoverOver, delegate
+			EventDelegate.Add(this.btn_event_trigger_.onHoverOver, delegate()
 			{
 				this.VisibleSkillName(true);
 			});
-			EventDelegate.Add(this.btn_event_trigger_.onHoverOut, delegate
+			EventDelegate.Add(this.btn_event_trigger_.onHoverOut, delegate()
 			{
 				this.VisibleSkillName(false);
 			});
-			EventDelegate.Add(this.btn_event_trigger_.onDragStart, delegate
+			EventDelegate.Add(this.btn_event_trigger_.onDragStart, delegate()
 			{
 				this.VisibleSkillName(false);
 			});
@@ -285,15 +286,15 @@ public class YotogiSkillContainerViewer
 			this.btn_event_trigger_.onHoverOver.Clear();
 			this.btn_event_trigger_.onHoverOut.Clear();
 			this.btn_event_trigger_.onDragStart.Clear();
-			EventDelegate.Add(this.btn_event_trigger_.onHoverOver, delegate
+			EventDelegate.Add(this.btn_event_trigger_.onHoverOver, delegate()
 			{
 				this.VisibleSkillName(true);
 			});
-			EventDelegate.Add(this.btn_event_trigger_.onHoverOut, delegate
+			EventDelegate.Add(this.btn_event_trigger_.onHoverOut, delegate()
 			{
 				this.VisibleSkillName(false);
 			});
-			EventDelegate.Add(this.btn_event_trigger_.onDragStart, delegate
+			EventDelegate.Add(this.btn_event_trigger_.onDragStart, delegate()
 			{
 				this.VisibleSkillName(false);
 			});
@@ -304,15 +305,15 @@ public class YotogiSkillContainerViewer
 			target.btn_event_trigger_.onHoverOver.Clear();
 			target.btn_event_trigger_.onHoverOut.Clear();
 			target.btn_event_trigger_.onDragStart.Clear();
-			EventDelegate.Add(target.btn_event_trigger_.onHoverOver, delegate
+			EventDelegate.Add(target.btn_event_trigger_.onHoverOver, delegate()
 			{
 				target.VisibleSkillName(true);
 			});
-			EventDelegate.Add(target.btn_event_trigger_.onHoverOut, delegate
+			EventDelegate.Add(target.btn_event_trigger_.onHoverOut, delegate()
 			{
 				target.VisibleSkillName(false);
 			});
-			EventDelegate.Add(target.btn_event_trigger_.onDragStart, delegate
+			EventDelegate.Add(target.btn_event_trigger_.onDragStart, delegate()
 			{
 				target.VisibleSkillName(false);
 			});
@@ -373,6 +374,12 @@ public class YotogiSkillContainerViewer
 				{
 					this.skill_name_label_.text = this.skill_data_.name;
 				}
+				string translation = LocalizationManager.GetTranslation(this.skill_data_.termName, true, 0, true, false, null, null);
+				if (!string.IsNullOrEmpty(translation))
+				{
+					string str = (!this.lock_skill_exp) ? string.Empty : LocalizationManager.GetTranslation("SceneYotogi/(EXPロック)", true, 0, true, false, null, null);
+					this.skill_name_label_.text = translation + str;
+				}
 				this.skill_name_label_.width = 0;
 				this.skill_name_label_.MakePixelPerfect();
 				this.skill_name_bg_.width = this.skill_name_label_.width + 20;

+ 3 - 2
Assembly-CSharp/YotogiSkillSelectManager.cs

@@ -1,6 +1,7 @@
 using System;
 using System.Collections;
 using System.Collections.Generic;
+using I2.Loc;
 using MaidStatus;
 using UnityEngine;
 using wf;
@@ -31,7 +32,7 @@ public class YotogiSkillSelectManager : WfScreenChildren
 			this.category_data_array_[i].category = (Yotogi.Category)i;
 			this.category_data_array_[i].obj = Utility.CreatePrefab(childObject2, "SceneYotogi/SkillSelect/Prefab/CategoryBtn", true);
 			this.category_data_array_[i].obj.name = this.category_data_array_[i].category.ToString();
-			UTY.GetChildObject(this.category_data_array_[i].obj, "Label", false).GetComponent<UILabel>().text = this.category_data_array_[i].obj.name;
+			this.category_data_array_[i].obj.GetComponentInChildren<Localize>().SetTerm("SceneYotogi/" + this.category_data_array_[i].obj.name);
 			UIWFTabButton component = UTY.GetChildObject(this.category_data_array_[i].obj, "Button", false).GetComponent<UIWFTabButton>();
 			EventDelegate eventDelegate = new EventDelegate(this, "OnClickFromCategoryButton");
 			EventDelegate.Parameter[] parameters = eventDelegate.parameters;
@@ -355,7 +356,7 @@ public class YotogiSkillSelectManager : WfScreenChildren
 		this.yotogi_mgr_.SetPlaySkillArray(array);
 		if (this.maid_.status.currentHp <= 0)
 		{
-			GameMain.Instance.SysDlg.Show("体力が0以下のため気絶します。\n本当に実行しますか?", SystemDialog.TYPE.OK_CANCEL, delegate
+			GameMain.Instance.SysDlg.ShowFromLanguageTerm("Dialog/気絶注意", SystemDialog.TYPE.OK_CANCEL, delegate
 			{
 				GameMain.Instance.SysDlg.Close();
 				if (this.yotogi_mgr_.null_mgr.IsExistNextLabel())

+ 3 - 2
Assembly-CSharp/YotogiSkillUnit.cs

@@ -1,5 +1,6 @@
 using System;
 using System.Collections.Generic;
+using I2.Loc;
 using MaidStatus;
 using UnityEngine;
 using Yotogis;
@@ -81,6 +82,7 @@ public class YotogiSkillUnit : MonoBehaviour
 			this.lock_unit_.SetSkillData(param_data);
 		}
 		this.name_obj_.GetComponent<UILabel>().text = this.skill_data_.name;
+		this.name_obj_.GetComponent<Localize>().SetTerm(this.skill_data_.termName);
 		this.acquired_experience_obj.GetComponent<UILabel>().text = this.skill_data_.add_yotogi_class_exp.ToString();
 		this.cost_of_hp_obj.GetComponent<UILabel>().text = this.skill_data_.exec_need_hp.ToString();
 		this.icon_.SetSkillData(this.skill_data_);
@@ -123,7 +125,7 @@ public class YotogiSkillUnit : MonoBehaviour
 		}
 		this.result_anime_exp_system_.SetTotalExp(start_total_exp);
 		this.UpdateGage(this.result_anime_exp_system_);
-		this.anime_event_ = delegate
+		this.anime_event_ = delegate()
 		{
 			iTween.ValueTo(this.gameObject, iTween.Hash(new object[]
 			{
@@ -219,7 +221,6 @@ public class YotogiSkillUnit : MonoBehaviour
 		}
 		this.conditionList.SetTexts(this.conditionDatas_, -1);
 		this.conditionBG.height = 90 + this.conditionList.height;
-		this.conditionsObject.SetActive(true);
 	}
 
 	private void OnHoverOutItem()

+ 10 - 0
Assembly-CSharp/YotogiStage.cs

@@ -116,6 +116,8 @@ public static class YotogiStage
 
 	private const string typeNameForErrorLog = "夜伽ステージ";
 
+	public const string termRootText = "SceneYotogi/背景タイプ/";
+
 	private static CsvCommonIdManager commonIdManager;
 
 	private static Dictionary<int, YotogiStage.Data> basicDatas;
@@ -231,6 +233,14 @@ public static class YotogiStage
 			return flag;
 		}
 
+		public string termName
+		{
+			get
+			{
+				return "SceneYotogi/背景タイプ/" + this.uniqueName;
+			}
+		}
+
 		public readonly int id;
 
 		public readonly string uniqueName;

+ 2 - 0
Assembly-CSharp/YotogiStageUnit.cs

@@ -1,5 +1,6 @@
 using System;
 using System.Collections.Generic;
+using I2.Loc;
 using UnityEngine;
 
 public class YotogiStageUnit : MonoBehaviour
@@ -42,6 +43,7 @@ public class YotogiStageUnit : MonoBehaviour
 		if (enabled)
 		{
 			this.name_label_.text = this.stage_data_.drawName;
+			this.name_label_.GetComponent<Localize>().SetTerm(stage_data.termName);
 		}
 		else
 		{

+ 24 - 0
Assembly-CSharp/Yotogis/Skill.cs

@@ -1516,6 +1516,14 @@ namespace Yotogis
 
 			public Skill.Data connect_faint_skill { get; private set; }
 
+			public string termName
+			{
+				get
+				{
+					return "Yotogi/SkillName/" + this.name;
+				}
+			}
+
 			public readonly Yotogi.Category category;
 
 			public readonly int id;
@@ -1890,6 +1898,22 @@ namespace Yotogis
 							}
 						}
 
+						public string termName
+						{
+							get
+							{
+								return "Yotogi/SkillCommand/" + this.name;
+							}
+						}
+
+						public string termGroupName
+						{
+							get
+							{
+								return "Yotogi/SkillName/" + this.group_name;
+							}
+						}
+
 						public readonly Skill.Data skill;
 
 						public readonly int skill_id;

+ 70 - 64
Assembly-CSharp/uGUIKaraokeSelect.cs

@@ -52,6 +52,8 @@ public class uGUIKaraokeSelect : MonoBehaviour
 
 	public void OpenListSelectMusic(bool isOn)
 	{
+		uGUIKaraokeSelect.<OpenListSelectMusic>c__AnonStorey0 <OpenListSelectMusic>c__AnonStorey = new uGUIKaraokeSelect.<OpenListSelectMusic>c__AnonStorey0();
+		<OpenListSelectMusic>c__AnonStorey.$this = this;
 		this.SetButtonActive(this.m_ButtonOK, true);
 		this.SetButtonActive(this.m_ButtonCANCEL, true);
 		this.SetButtonActive(this.m_ButtonStart, false);
@@ -59,18 +61,18 @@ public class uGUIKaraokeSelect : MonoBehaviour
 		this.SetButtonInteractable(this.m_ButtonOK, true);
 		this.SetButtonInteractable(this.m_ButtonCANCEL, true);
 		this.ShowListViewer();
-		KaraokeDataManager.MusicData[] musicArray = this.GetMusicDataArray();
+		<OpenListSelectMusic>c__AnonStorey.musicArray = this.GetMusicDataArray();
 		this.m_BeforeSelectedGameObject = null;
-		this.UIListViewer.Show(musicArray.Length, delegate(int index, GameObject item)
+		this.UIListViewer.Show(<OpenListSelectMusic>c__AnonStorey.musicArray.Length, delegate(int index, GameObject item)
 		{
 			Toggle component = item.GetComponent<Toggle>();
 			uGUIKaraokeSelect.uGUIItemListButton itemNumber = item.AddComponent<uGUIKaraokeSelect.uGUIItemListButton>();
-			itemNumber.number = musicArray[index].ID;
-			if (this.m_SelectingMusicDataID == itemNumber.number)
+			itemNumber.number = <OpenListSelectMusic>c__AnonStorey.musicArray[index].ID;
+			if (<OpenListSelectMusic>c__AnonStorey.$this.m_SelectingMusicDataID == itemNumber.number)
 			{
 				component.isOn = true;
 			}
-			component.image.sprite = this.GetResource<Sprite>(string.Format("{0}{1}", "SceneVRCommunication/Tablet/Karaoke/Sprite/", musicArray[index].strThumbnailName));
+			component.image.sprite = <OpenListSelectMusic>c__AnonStorey.$this.GetResource<Sprite>(string.Format("{0}{1}", "SceneVRCommunication/Tablet/Karaoke/Sprite/", <OpenListSelectMusic>c__AnonStorey.musicArray[index].strThumbnailName));
 			component.onValueChanged.AddListener(delegate(bool value)
 			{
 				if (!value)
@@ -78,37 +80,39 @@ public class uGUIKaraokeSelect : MonoBehaviour
 					return;
 				}
 				int number = itemNumber.number;
-				if (this.IsAlreadySelected(item))
+				if (<OpenListSelectMusic>c__AnonStorey.IsAlreadySelected(item))
 				{
-					this.ButtonEventSetMusic(number);
+					<OpenListSelectMusic>c__AnonStorey.ButtonEventSetMusic(number);
 				}
 			});
 		});
 		this.m_ButtonOK.onClick.RemoveAllListeners();
-		this.m_ButtonOK.onClick.AddListener(delegate
+		this.m_ButtonOK.onClick.AddListener(delegate()
 		{
-			int indexMusic = this.m_SelectingMusicDataID;
-			if (this.m_BeforeSelectedGameObject)
+			int indexMusic = <OpenListSelectMusic>c__AnonStorey.$this.m_SelectingMusicDataID;
+			if (<OpenListSelectMusic>c__AnonStorey.$this.m_BeforeSelectedGameObject)
 			{
-				indexMusic = this.m_BeforeSelectedGameObject.GetComponent<uGUIKaraokeSelect.uGUIItemListButton>().number;
+				indexMusic = <OpenListSelectMusic>c__AnonStorey.$this.m_BeforeSelectedGameObject.GetComponent<uGUIKaraokeSelect.uGUIItemListButton>().number;
 			}
-			this.ButtonEventSetMusic(indexMusic);
+			<OpenListSelectMusic>c__AnonStorey.$this.ButtonEventSetMusic(indexMusic);
 		});
 		this.m_ButtonCANCEL.onClick.RemoveAllListeners();
-		this.m_ButtonCANCEL.onClick.AddListener(delegate
-		{
-			this.SetButtonActive(this.m_ButtonOK, false);
-			this.SetButtonActive(this.m_ButtonCANCEL, false);
-			this.SetButtonActive(this.m_ButtonStart, true);
-			this.SetButtonActive(this.m_ButtonEnd, true);
-			this.SetButtonInteractable(this.m_ButtonStart, this.IsSelectingMusicDataExist());
-			this.SetButtonInteractable(this.m_ButtonEnd, true);
-			this.HideListViewer();
+		this.m_ButtonCANCEL.onClick.AddListener(delegate()
+		{
+			<OpenListSelectMusic>c__AnonStorey.$this.SetButtonActive(<OpenListSelectMusic>c__AnonStorey.$this.m_ButtonOK, false);
+			<OpenListSelectMusic>c__AnonStorey.$this.SetButtonActive(<OpenListSelectMusic>c__AnonStorey.$this.m_ButtonCANCEL, false);
+			<OpenListSelectMusic>c__AnonStorey.$this.SetButtonActive(<OpenListSelectMusic>c__AnonStorey.$this.m_ButtonStart, true);
+			<OpenListSelectMusic>c__AnonStorey.$this.SetButtonActive(<OpenListSelectMusic>c__AnonStorey.$this.m_ButtonEnd, true);
+			<OpenListSelectMusic>c__AnonStorey.$this.SetButtonInteractable(<OpenListSelectMusic>c__AnonStorey.$this.m_ButtonStart, <OpenListSelectMusic>c__AnonStorey.$this.IsSelectingMusicDataExist());
+			<OpenListSelectMusic>c__AnonStorey.$this.SetButtonInteractable(<OpenListSelectMusic>c__AnonStorey.$this.m_ButtonEnd, true);
+			<OpenListSelectMusic>c__AnonStorey.$this.HideListViewer();
 		});
 	}
 
 	public void OpenListSelectBG(bool isOn)
 	{
+		uGUIKaraokeSelect.<OpenListSelectBG>c__AnonStorey2 <OpenListSelectBG>c__AnonStorey = new uGUIKaraokeSelect.<OpenListSelectBG>c__AnonStorey2();
+		<OpenListSelectBG>c__AnonStorey.$this = this;
 		this.SetButtonActive(this.m_ButtonOK, true);
 		this.SetButtonActive(this.m_ButtonCANCEL, true);
 		this.SetButtonActive(this.m_ButtonStart, false);
@@ -116,55 +120,57 @@ public class uGUIKaraokeSelect : MonoBehaviour
 		this.SetButtonInteractable(this.m_ButtonOK, true);
 		this.SetButtonInteractable(this.m_ButtonCANCEL, true);
 		this.ShowListViewer();
-		KaraokeDataManager.BackgroundData[] backgroundArray = this.GetBackgroundDataArray();
+		<OpenListSelectBG>c__AnonStorey.backgroundArray = this.GetBackgroundDataArray();
 		this.m_BeforeSelectedGameObject = null;
-		this.UIListViewer.Show(backgroundArray.Length, delegate(int index, GameObject item)
+		this.UIListViewer.Show(<OpenListSelectBG>c__AnonStorey.backgroundArray.Length, delegate(int index, GameObject item)
 		{
 			Toggle component = item.GetComponent<Toggle>();
 			item.AddComponent<uGUIKaraokeSelect.uGUIItemListButton>().number = index;
-			if (this.GetNowSelectingBackgroundDataIndex() == index)
+			if (<OpenListSelectBG>c__AnonStorey.$this.GetNowSelectingBackgroundDataIndex() == index)
 			{
 				component.isOn = true;
 			}
-			component.image.sprite = this.GetResource<Sprite>(string.Format("{0}{1}", "SceneVRCommunication/Tablet/Karaoke/Sprite/", backgroundArray[index].strThumbnailName));
+			component.image.sprite = <OpenListSelectBG>c__AnonStorey.$this.GetResource<Sprite>(string.Format("{0}{1}", "SceneVRCommunication/Tablet/Karaoke/Sprite/", <OpenListSelectBG>c__AnonStorey.backgroundArray[index].strThumbnailName));
 			component.onValueChanged.AddListener(delegate(bool value)
 			{
 				if (!value)
 				{
 					return;
 				}
-				this.SetButtonInteractable(this.m_ButtonOK, true);
-				if (this.IsAlreadySelected(item))
+				<OpenListSelectBG>c__AnonStorey.SetButtonInteractable(<OpenListSelectBG>c__AnonStorey.m_ButtonOK, true);
+				if (<OpenListSelectBG>c__AnonStorey.IsAlreadySelected(item))
 				{
-					this.ButtonEventSetBG(index);
+					<OpenListSelectBG>c__AnonStorey.ButtonEventSetBG(index);
 				}
 			});
 		});
 		this.m_ButtonOK.onClick.RemoveAllListeners();
-		this.m_ButtonOK.onClick.AddListener(delegate
+		this.m_ButtonOK.onClick.AddListener(delegate()
 		{
-			int indexBG = this.GetNowSelectingBackgroundDataIndex();
-			if (this.m_BeforeSelectedGameObject)
+			int indexBG = <OpenListSelectBG>c__AnonStorey.$this.GetNowSelectingBackgroundDataIndex();
+			if (<OpenListSelectBG>c__AnonStorey.$this.m_BeforeSelectedGameObject)
 			{
-				indexBG = this.m_BeforeSelectedGameObject.GetComponent<uGUIKaraokeSelect.uGUIItemListButton>().number;
+				indexBG = <OpenListSelectBG>c__AnonStorey.$this.m_BeforeSelectedGameObject.GetComponent<uGUIKaraokeSelect.uGUIItemListButton>().number;
 			}
-			this.ButtonEventSetBG(indexBG);
+			<OpenListSelectBG>c__AnonStorey.$this.ButtonEventSetBG(indexBG);
 		});
 		this.m_ButtonCANCEL.onClick.RemoveAllListeners();
-		this.m_ButtonCANCEL.onClick.AddListener(delegate
-		{
-			this.SetButtonActive(this.m_ButtonOK, false);
-			this.SetButtonActive(this.m_ButtonCANCEL, false);
-			this.SetButtonActive(this.m_ButtonStart, true);
-			this.SetButtonActive(this.m_ButtonEnd, true);
-			this.SetButtonInteractable(this.m_ButtonStart, this.IsSelectingMusicDataExist());
-			this.SetButtonInteractable(this.m_ButtonEnd, true);
-			this.HideListViewer();
+		this.m_ButtonCANCEL.onClick.AddListener(delegate()
+		{
+			<OpenListSelectBG>c__AnonStorey.$this.SetButtonActive(<OpenListSelectBG>c__AnonStorey.$this.m_ButtonOK, false);
+			<OpenListSelectBG>c__AnonStorey.$this.SetButtonActive(<OpenListSelectBG>c__AnonStorey.$this.m_ButtonCANCEL, false);
+			<OpenListSelectBG>c__AnonStorey.$this.SetButtonActive(<OpenListSelectBG>c__AnonStorey.$this.m_ButtonStart, true);
+			<OpenListSelectBG>c__AnonStorey.$this.SetButtonActive(<OpenListSelectBG>c__AnonStorey.$this.m_ButtonEnd, true);
+			<OpenListSelectBG>c__AnonStorey.$this.SetButtonInteractable(<OpenListSelectBG>c__AnonStorey.$this.m_ButtonStart, <OpenListSelectBG>c__AnonStorey.$this.IsSelectingMusicDataExist());
+			<OpenListSelectBG>c__AnonStorey.$this.SetButtonInteractable(<OpenListSelectBG>c__AnonStorey.$this.m_ButtonEnd, true);
+			<OpenListSelectBG>c__AnonStorey.$this.HideListViewer();
 		});
 	}
 
 	public void OpenListSelectFood(bool isOn)
 	{
+		uGUIKaraokeSelect.<OpenListSelectFood>c__AnonStorey4 <OpenListSelectFood>c__AnonStorey = new uGUIKaraokeSelect.<OpenListSelectFood>c__AnonStorey4();
+		<OpenListSelectFood>c__AnonStorey.$this = this;
 		if (!isOn)
 		{
 			return;
@@ -181,50 +187,50 @@ public class uGUIKaraokeSelect : MonoBehaviour
 		this.SetButtonInteractable(this.m_ButtonOK, true);
 		this.SetButtonInteractable(this.m_ButtonCANCEL, true);
 		this.ShowListViewer();
-		KaraokeDataManager.FoodData[] foodArray = this.GetFoodDataArray();
+		<OpenListSelectFood>c__AnonStorey.foodArray = this.GetFoodDataArray();
 		this.m_BeforeSelectedGameObject = null;
-		this.UIListViewer.Show(foodArray.Length, delegate(int index, GameObject item)
+		this.UIListViewer.Show(<OpenListSelectFood>c__AnonStorey.foodArray.Length, delegate(int index, GameObject item)
 		{
 			Toggle component = item.GetComponent<Toggle>();
 			item.AddComponent<uGUIKaraokeSelect.uGUIItemListButton>().number = index;
-			if (this.m_SelectingFoodDataIndex == index)
+			if (<OpenListSelectFood>c__AnonStorey.$this.m_SelectingFoodDataIndex == index)
 			{
 				component.isOn = true;
 			}
-			component.image.sprite = this.GetResource<Sprite>(string.Format("{0}{1}", "SceneVRCommunication/Tablet/Karaoke/Sprite/", foodArray[index].strThumbnailName));
+			component.image.sprite = <OpenListSelectFood>c__AnonStorey.$this.GetResource<Sprite>(string.Format("{0}{1}", "SceneVRCommunication/Tablet/Karaoke/Sprite/", <OpenListSelectFood>c__AnonStorey.foodArray[index].strThumbnailName));
 			component.onValueChanged.AddListener(delegate(bool value)
 			{
 				if (!value)
 				{
 					return;
 				}
-				this.SetButtonInteractable(this.m_ButtonOK, true);
-				if (this.IsAlreadySelected(item))
+				<OpenListSelectFood>c__AnonStorey.SetButtonInteractable(<OpenListSelectFood>c__AnonStorey.m_ButtonOK, true);
+				if (<OpenListSelectFood>c__AnonStorey.IsAlreadySelected(item))
 				{
-					this.ButtonEventSetFood(index);
+					<OpenListSelectFood>c__AnonStorey.ButtonEventSetFood(index);
 				}
 			});
 		});
 		this.m_ButtonOK.onClick.RemoveAllListeners();
-		this.m_ButtonOK.onClick.AddListener(delegate
+		this.m_ButtonOK.onClick.AddListener(delegate()
 		{
-			int indexFood = this.m_SelectingFoodDataIndex;
-			if (this.m_BeforeSelectedGameObject)
+			int indexFood = <OpenListSelectFood>c__AnonStorey.$this.m_SelectingFoodDataIndex;
+			if (<OpenListSelectFood>c__AnonStorey.$this.m_BeforeSelectedGameObject)
 			{
-				indexFood = this.m_BeforeSelectedGameObject.GetComponent<uGUIKaraokeSelect.uGUIItemListButton>().number;
+				indexFood = <OpenListSelectFood>c__AnonStorey.$this.m_BeforeSelectedGameObject.GetComponent<uGUIKaraokeSelect.uGUIItemListButton>().number;
 			}
-			this.ButtonEventSetFood(indexFood);
+			<OpenListSelectFood>c__AnonStorey.$this.ButtonEventSetFood(indexFood);
 		});
 		this.m_ButtonCANCEL.onClick.RemoveAllListeners();
-		this.m_ButtonCANCEL.onClick.AddListener(delegate
-		{
-			this.SetButtonActive(this.m_ButtonOK, false);
-			this.SetButtonActive(this.m_ButtonCANCEL, false);
-			this.SetButtonActive(this.m_ButtonStart, true);
-			this.SetButtonActive(this.m_ButtonEnd, true);
-			this.SetButtonInteractable(this.m_ButtonStart, this.IsSelectingMusicDataExist());
-			this.SetButtonInteractable(this.m_ButtonEnd, true);
-			this.HideListViewer();
+		this.m_ButtonCANCEL.onClick.AddListener(delegate()
+		{
+			<OpenListSelectFood>c__AnonStorey.$this.SetButtonActive(<OpenListSelectFood>c__AnonStorey.$this.m_ButtonOK, false);
+			<OpenListSelectFood>c__AnonStorey.$this.SetButtonActive(<OpenListSelectFood>c__AnonStorey.$this.m_ButtonCANCEL, false);
+			<OpenListSelectFood>c__AnonStorey.$this.SetButtonActive(<OpenListSelectFood>c__AnonStorey.$this.m_ButtonStart, true);
+			<OpenListSelectFood>c__AnonStorey.$this.SetButtonActive(<OpenListSelectFood>c__AnonStorey.$this.m_ButtonEnd, true);
+			<OpenListSelectFood>c__AnonStorey.$this.SetButtonInteractable(<OpenListSelectFood>c__AnonStorey.$this.m_ButtonStart, <OpenListSelectFood>c__AnonStorey.$this.IsSelectingMusicDataExist());
+			<OpenListSelectFood>c__AnonStorey.$this.SetButtonInteractable(<OpenListSelectFood>c__AnonStorey.$this.m_ButtonEnd, true);
+			<OpenListSelectFood>c__AnonStorey.$this.HideListViewer();
 		});
 	}
 
@@ -286,7 +292,7 @@ public class uGUIKaraokeSelect : MonoBehaviour
 		if (this.m_ParentUIListViewer.gameObject.activeSelf)
 		{
 			UICanvasFade component = this.m_ParentUIListViewer.GetComponent<UICanvasFade>();
-			component.FadeOut(component.fadeTime, component.isTimeScaling, delegate
+			component.FadeOut(component.fadeTime, component.isTimeScaling, delegate()
 			{
 				this.m_ParentUIListViewer.gameObject.SetActive(false);
 			});

+ 15 - 32
Assembly-CSharp/uGUITutorialPanel.cs

@@ -60,30 +60,11 @@ public class uGUITutorialPanel : MonoBehaviour
 			}
 			return;
 		}
-		if (!absoluteCall && uGUITutorialPanel.IsTutorialPassed(sceneName))
+		GameMain.Instance.SysShortcut.helpButtonInteractable = false;
+		if (closeCallback != null)
 		{
-			Debug.Log("既に通過しているチュートリアルだったので、チュートリアル用UIは表示しません。\n終了時のコールバックを実行します。");
-			if (closeCallback != null)
-			{
-				closeCallback();
-			}
-			return;
-		}
-		string path = "SceneTutorial/Canvas Tutorial Panel";
-		GameObject gameObject = Resources.Load<GameObject>(path);
-		if (!gameObject)
-		{
-			NDebug.Warning("チュートリアルパネルのプレハブが見つかりませんでした。\n終了時のコールバックを実行します。");
-			if (closeCallback != null)
-			{
-				closeCallback();
-			}
-			return;
+			closeCallback();
 		}
-		GameObject gameObject2 = UnityEngine.Object.Instantiate<GameObject>(gameObject);
-		uGUITutorialPanel.m_Instance = gameObject2.GetComponent<uGUITutorialPanel>();
-		uGUITutorialPanel.m_Instance.Initialize(sceneName, closeCallback);
-		uGUITutorialPanel.SetTutorialFlag(sceneName);
 	}
 
 	public static void CloseTutorial(bool immediate = false, bool enableCallback = true)
@@ -102,6 +83,8 @@ public class uGUITutorialPanel : MonoBehaviour
 
 	private void Initialize(string type, Action callback)
 	{
+		uGUITutorialPanel.<Initialize>c__AnonStorey1 <Initialize>c__AnonStorey = new uGUITutorialPanel.<Initialize>c__AnonStorey1();
+		<Initialize>c__AnonStorey.$this = this;
 		Transform uirootTrans = this.GetUIRootTrans();
 		if (uirootTrans != null)
 		{
@@ -114,9 +97,9 @@ public class uGUITutorialPanel : MonoBehaviour
 		this.m_CacheSpriteArray = new Dictionary<string, Sprite>();
 		this.m_CallbackClose = callback;
 		this.m_ButtonOK.interactable = true;
-		this.m_ButtonOK.onClick.AddListener(delegate
+		this.m_ButtonOK.onClick.AddListener(delegate()
 		{
-			this.OnClose(false, true);
+			<Initialize>c__AnonStorey.$this.OnClose(false, true);
 		});
 		this.ReadCSV(type);
 		if (this.IsMultiMode())
@@ -126,8 +109,8 @@ public class uGUITutorialPanel : MonoBehaviour
 			int itemCount = this.m_strFileNameArray.Length;
 			this.m_ListViewerButtons.Show<Toggle>(itemCount, delegate(int i, Toggle toggle)
 			{
-				KeyValuePair<string, string> keyValuePair = this.m_strFileNameArray[i];
-				if (this.index == i)
+				KeyValuePair<string, string> keyValuePair = <Initialize>c__AnonStorey.$this.m_strFileNameArray[i];
+				if (<Initialize>c__AnonStorey.$this.index == i)
 				{
 					toggle.isOn = true;
 				}
@@ -146,7 +129,7 @@ public class uGUITutorialPanel : MonoBehaviour
 					{
 						return;
 					}
-					this.OpenPage(i);
+					<Initialize>c__AnonStorey.OpenPage(i);
 				});
 			});
 		}
@@ -156,12 +139,12 @@ public class uGUITutorialPanel : MonoBehaviour
 			this.m_ParentSingleMode.SetActive(true);
 		}
 		this.OpenPage(0);
-		uGUICanvasFade fade = base.GetComponent<uGUICanvasFade>();
-		fade.alpha = 0f;
-		fade.interactable = false;
-		fade.FadeIn(0.5f, delegate
+		<Initialize>c__AnonStorey.fade = base.GetComponent<uGUICanvasFade>();
+		<Initialize>c__AnonStorey.fade.alpha = 0f;
+		<Initialize>c__AnonStorey.fade.interactable = false;
+		<Initialize>c__AnonStorey.fade.FadeIn(0.5f, delegate
 		{
-			fade.interactable = true;
+			<Initialize>c__AnonStorey.fade.interactable = true;
 		});
 	}