denikson 5 éve
szülő
commit
e3b77b2234
217 módosított fájl, 5546 hozzáadás és 1811 törlés
  1. 5 5
      Assembly-CSharp.sln
  2. 37 28
      Assembly-CSharp/Assembly-CSharp.csproj
  3. 606 19
      Assembly-CSharp/BaseKagManager.cs
  4. 4 4
      Assembly-CSharp/BasePanelMgr.cs
  5. 1 1
      Assembly-CSharp/BasePhotoCustomObject.cs
  6. 32 7
      Assembly-CSharp/BasePhotoWindow.cs
  7. 3 3
      Assembly-CSharp/BasePhotoWindowManager.cs
  8. 1 1
      Assembly-CSharp/BetSetUI.cs
  9. 214 0
      Assembly-CSharp/BipedIKCtrlData.cs
  10. 2 2
      Assembly-CSharp/BjMotionControl.cs
  11. 13 13
      Assembly-CSharp/BlackjackGame.cs
  12. 202 0
      Assembly-CSharp/BodyCtrlData.cs
  13. 63 0
      Assembly-CSharp/CCDIKCtrlData.cs
  14. 4 4
      Assembly-CSharp/CMSystem.cs
  15. 3 3
      Assembly-CSharp/CharacterMgr.cs
  16. 19 11
      Assembly-CSharp/CharacterSelectMain.cs
  17. 8 0
      Assembly-CSharp/ChuBlipManager.cs
  18. 12 4
      Assembly-CSharp/ColorPaletteManager.cs
  19. 3 3
      Assembly-CSharp/ConfigCtrl.cs
  20. 3 3
      Assembly-CSharp/ConfigMgr.cs
  21. 8 8
      Assembly-CSharp/ConfigVRCtrl.cs
  22. 2 2
      Assembly-CSharp/ControllerShortcutSettingData.cs
  23. 2 2
      Assembly-CSharp/ControllerShortcutWindow.cs
  24. 3 3
      Assembly-CSharp/DanceBattle_Mgr.cs
  25. 42 31
      Assembly-CSharp/DanceMain.cs
  26. 6 0
      Assembly-CSharp/DanceSelect.cs
  27. 66 29
      Assembly-CSharp/DanceSetting.cs
  28. 2 2
      Assembly-CSharp/DeskManager.cs
  29. 3 3
      Assembly-CSharp/DynamicBone.cs
  30. 82 9
      Assembly-CSharp/DynamicSkirtBone.cs
  31. 1 1
      Assembly-CSharp/EditMod.cs
  32. 1 1
      Assembly-CSharp/ExChangeUI.cs
  33. 63 0
      Assembly-CSharp/FABRIKCtrlData.cs
  34. 9 0
      Assembly-CSharp/FFNameDialog.cs
  35. 1 1
      Assembly-CSharp/FacilityFlag/Util.cs
  36. 1 1
      Assembly-CSharp/FacilityManager.cs
  37. 2 2
      Assembly-CSharp/FacilityUIList.cs
  38. 11 8
      Assembly-CSharp/FacilityUIPowerUpList.cs
  39. 9 7
      Assembly-CSharp/FacilityUIPowerUpMaterialList.cs
  40. 1 1
      Assembly-CSharp/FluctuationOfParameterUnit.cs
  41. 663 0
      Assembly-CSharp/FullBodyIKCtrl.cs
  42. 5 3
      Assembly-CSharp/GameMain.cs
  43. 2 2
      Assembly-CSharp/GameUty.cs
  44. 1 1
      Assembly-CSharp/GravityControlWindow.cs
  45. 22 1
      Assembly-CSharp/HairLongWindow.cs
  46. 3 3
      Assembly-CSharp/HandSignShortcut.cs
  47. 52 0
      Assembly-CSharp/HeightIKCtrlData.cs
  48. 7 5
      Assembly-CSharp/I2/Loc/LanguageSource.cs
  49. 2 0
      Assembly-CSharp/I2/Loc/LocalizationManager.cs
  50. 59 0
      Assembly-CSharp/I2/Loc/LocalizeTarget_NGUI_Button.cs
  51. 5 0
      Assembly-CSharp/I2/Loc/LocalizeTarget_NGUI_Label.cs
  52. 0 24
      Assembly-CSharp/I2/Loc/NGUI_LanguagePopup.cs
  53. 1093 0
      Assembly-CSharp/IKCtrlData.cs
  54. 122 281
      Assembly-CSharp/IKManager.cs
  55. 0 405
      Assembly-CSharp/IKMgrData.cs
  56. 4 2
      Assembly-CSharp/ItemInfoWnd.cs
  57. 25 9
      Assembly-CSharp/KaraokeDataManager.cs
  58. 45 0
      Assembly-CSharp/KasaiUtility.cs
  59. 1 1
      Assembly-CSharp/Kasizuki/ClubRoomSelectCtrl.cs
  60. 1 1
      Assembly-CSharp/Kasizuki/KasizukiCharacterSelectCtrl.cs
  61. 113 26
      Assembly-CSharp/Kasizuki/KasizukiMainMenu.cs
  62. 8 6
      Assembly-CSharp/Kasizuki/KasizukiManSelectCtrl.cs
  63. 19 3
      Assembly-CSharp/Kasizuki/KasizukiManager.cs
  64. 29 19
      Assembly-CSharp/Kasizuki/KasizukiPlayInfoCtrl.cs
  65. 6 6
      Assembly-CSharp/Kasizuki/KasizukiSaveAndLoadCtrl.cs
  66. 2 2
      Assembly-CSharp/Kasizuki/MaidAppealComment.cs
  67. 4 0
      Assembly-CSharp/Kasizuki/MaidDataType.cs
  68. 29 1
      Assembly-CSharp/Kasizuki/MaidLikabilityCtrl.cs
  69. 2 2
      Assembly-CSharp/Kasizuki/MaidMiniStatusCtrl.cs
  70. 15 0
      Assembly-CSharp/Kasizuki/ManData.cs
  71. 5 1
      Assembly-CSharp/Kasizuki/ManDataType.cs
  72. 3 3
      Assembly-CSharp/Kasizuki/NGUIWindow.cs
  73. 38 6
      Assembly-CSharp/Kasizuki/PlayData.cs
  74. 3 0
      Assembly-CSharp/Leap/Unity/IHandModel.cs
  75. 3 3
      Assembly-CSharp/Leap/Unity/LeapImageRetriever.cs
  76. 3 0
      Assembly-CSharp/Leap/Unity/LeapProvider.cs
  77. 4 0
      Assembly-CSharp/Leap/Unity/LeapVRCameraControl.cs
  78. 4 2
      Assembly-CSharp/Leap/Unity/RuntimeGizmos/RuntimeGizmoManager.cs
  79. 1 1
      Assembly-CSharp/LightWindow.cs
  80. 4 4
      Assembly-CSharp/LimbControl.cs
  81. 79 115
      Assembly-CSharp/Maid.cs
  82. 1 1
      Assembly-CSharp/MaidParts.cs
  83. 6 0
      Assembly-CSharp/MaidPlate.cs
  84. 1 1
      Assembly-CSharp/MaidProp.cs
  85. 10 0
      Assembly-CSharp/MaidStatus/CsvData/AbstractClassData.cs
  86. 15 0
      Assembly-CSharp/MaidStatus/EnumConvert.cs
  87. 10 0
      Assembly-CSharp/MaidStatus/Feature.cs
  88. 8 0
      Assembly-CSharp/MaidStatus/JobClass.cs
  89. 10 0
      Assembly-CSharp/MaidStatus/Personal.cs
  90. 10 0
      Assembly-CSharp/MaidStatus/Propensity.cs
  91. 9 1
      Assembly-CSharp/MaidStatus/Status.cs
  92. 8 0
      Assembly-CSharp/MaidStatus/YotogiClass.cs
  93. 6 1
      Assembly-CSharp/MaidTouch.cs
  94. 1 1
      Assembly-CSharp/MaidTransferMain.cs
  95. 20 18
      Assembly-CSharp/MainBusinessWindow.cs
  96. 2 2
      Assembly-CSharp/Menu.cs
  97. 5 3
      Assembly-CSharp/MessageClass.cs
  98. 1 1
      Assembly-CSharp/Misc.cs
  99. 1 1
      Assembly-CSharp/ModCompile.cs
  100. 1 1
      Assembly-CSharp/MotionAction_Mgr.cs
  101. 13 0
      Assembly-CSharp/MouseExposition.cs
  102. 1 1
      Assembly-CSharp/MyRoomCustom/CreativeRoom.cs
  103. 29 24
      Assembly-CSharp/MyRoomCustom/CreativeRoomUIObjectSettings.cs
  104. 2 2
      Assembly-CSharp/MyRoomCustom/CreativeRoomUISaveLoad.cs
  105. 87 0
      Assembly-CSharp/NGUILabelSpacingHold.cs
  106. 22 0
      Assembly-CSharp/NGUI_LanguagePopup.cs
  107. 1 1
      Assembly-CSharp/Note_Mgr.cs
  108. 2 0
      Assembly-CSharp/OVRCameraRig.cs
  109. 2 0
      Assembly-CSharp/OVRDisplay.cs
  110. 6 0
      Assembly-CSharp/OVRLipSync.cs
  111. 1 0
      Assembly-CSharp/OVRLipSyncContextBase.cs
  112. 3 3
      Assembly-CSharp/OVRLipSyncContextMorphTarget.cs
  113. 30 2
      Assembly-CSharp/OVRLipSyncMicInput.cs
  114. 26 14
      Assembly-CSharp/OVRManager.cs
  115. 2 1
      Assembly-CSharp/OVROverlay.cs
  116. 2 0
      Assembly-CSharp/OVRTouchpad.cs
  117. 4 4
      Assembly-CSharp/ObjectCreateWindow.cs
  118. 2 2
      Assembly-CSharp/ObjectManagerWindow.cs
  119. 2 2
      Assembly-CSharp/OnaholeBaseNodeMenuManager.cs
  120. 96 0
      Assembly-CSharp/OnaholeChuBlipDevice.cs
  121. 4 0
      Assembly-CSharp/OnaholeMotion.cs
  122. 3 3
      Assembly-CSharp/OnaholeNodeMenuChildSecondRow.cs
  123. 37 2
      Assembly-CSharp/OvrIK.cs
  124. 4 1
      Assembly-CSharp/OvrMgr.cs
  125. 8 0
      Assembly-CSharp/PhotoFaceData.cs
  126. 28 0
      Assembly-CSharp/PhotoFaceDataShortcut.cs
  127. 27 4
      Assembly-CSharp/PhotoFaceDataShortcutSetter.cs
  128. 2 2
      Assembly-CSharp/PhotoModeObjectSave.cs
  129. 2 2
      Assembly-CSharp/PhotoModePoseSave.cs
  130. 5 5
      Assembly-CSharp/PhotoModeSaveAndLoad.cs
  131. 2 2
      Assembly-CSharp/PhotoMotionData.cs
  132. 3 3
      Assembly-CSharp/PhotoMotionDataShortcutSetter.cs
  133. 1 1
      Assembly-CSharp/PlacementWindow.cs
  134. 1 1
      Assembly-CSharp/PlayerStatus/Status.cs
  135. 2 2
      Assembly-CSharp/PoseEditWindow.cs
  136. 5 6
      Assembly-CSharp/PresetCtrl.cs
  137. 44 25
      Assembly-CSharp/ProfileCtrl.cs
  138. 4 5
      Assembly-CSharp/RandomPresetCtrl.cs
  139. 0 1
      Assembly-CSharp/RenderHeads/Media/AVProVideo/WindowsMediaPlayer.cs
  140. 1 1
      Assembly-CSharp/SaveAndLoadMgr.cs
  141. 40 16
      Assembly-CSharp/ScenarioData.cs
  142. 6 6
      Assembly-CSharp/SceneCasino.cs
  143. 5 5
      Assembly-CSharp/SceneCasinoShop.cs
  144. 39 19
      Assembly-CSharp/SceneEdit.cs
  145. 2 2
      Assembly-CSharp/SceneEditNameSettingPanel.cs
  146. 1 1
      Assembly-CSharp/SceneEditWindow/BaseIconWindow.cs
  147. 6 3
      Assembly-CSharp/SceneEditWindow/CustomPartsWindow.cs
  148. 11 15
      Assembly-CSharp/SceneEditWindow/PresetSaveWindow.cs
  149. 1 1
      Assembly-CSharp/SceneEditWindow/UndressWindow.cs
  150. 1 1
      Assembly-CSharp/SceneEditWindow/VoiceIconWindow.cs
  151. 57 49
      Assembly-CSharp/SceneFacilityManagement.cs
  152. 1 1
      Assembly-CSharp/SceneUserEditMain.cs
  153. 4 4
      Assembly-CSharp/SceneVRCommunication.cs
  154. 3 7
      Assembly-CSharp/SceneWarning.cs
  155. 1 1
      Assembly-CSharp/ScheduleTaskViewer.cs
  156. 33 1
      Assembly-CSharp/ScriptManager.cs
  157. 96 14
      Assembly-CSharp/SelectButtonCtrl.cs
  158. 1 1
      Assembly-CSharp/SlotManager.cs
  159. 1 1
      Assembly-CSharp/SlotUImgr.cs
  160. 2 2
      Assembly-CSharp/StaffRollCtrl.cs
  161. 2 2
      Assembly-CSharp/StatusViewer.cs
  162. 3 0
      Assembly-CSharp/SteamVR_GazeTracker.cs
  163. 3 0
      Assembly-CSharp/SteamVR_LaserPointer.cs
  164. 12 0
      Assembly-CSharp/SteamVR_TrackedController.cs
  165. 7 2
      Assembly-CSharp/SubtitleDisplayManager.cs
  166. 10 0
      Assembly-CSharp/SystemDialog.cs
  167. 19 18
      Assembly-CSharp/SystemShortcut.cs
  168. 35 65
      Assembly-CSharp/TBody.cs
  169. 3 2
      Assembly-CSharp/TatooAlphaWindow.cs
  170. 6 6
      Assembly-CSharp/TitleMgr.cs
  171. 8 0
      Assembly-CSharp/TriLib/AssetLoader.cs
  172. 2 0
      Assembly-CSharp/TriLib/Samples/FileOpenDialog.cs
  173. 1 1
      Assembly-CSharp/TriLib/Samples/URIDialog.cs
  174. 11 2
      Assembly-CSharp/UICamera.cs
  175. 14 1
      Assembly-CSharp/UILabel.cs
  176. 6 1
      Assembly-CSharp/UIPopupList.cs
  177. 3 3
      Assembly-CSharp/UIStates.cs
  178. 9 5
      Assembly-CSharp/UndressDance_Mgr.cs
  179. 4 2
      Assembly-CSharp/UnityEngine/UI/uGUIScrollRect.cs
  180. 3 3
      Assembly-CSharp/VRCanvasManager.cs
  181. 1 1
      Assembly-CSharp/VRCanvasManagerMini.cs
  182. 2 2
      Assembly-CSharp/VRChangeBackGroundMenu.cs
  183. 17 17
      Assembly-CSharp/VRConfigMenu.cs
  184. 1 1
      Assembly-CSharp/VRCultivationSeedInventory.cs
  185. 6 6
      Assembly-CSharp/VRDialogMenu.cs
  186. 24 24
      Assembly-CSharp/VRExternalFileLoader.cs
  187. 5 5
      Assembly-CSharp/VRFaceShortcutConfig.cs
  188. 1 1
      Assembly-CSharp/VRIKGeneralObjectSetter.cs
  189. 3 3
      Assembly-CSharp/VRManualMenu.cs
  190. 2 2
      Assembly-CSharp/VRMiniGameManager.cs
  191. 2 2
      Assembly-CSharp/VRMiniGameScoreBoard.cs
  192. 6 6
      Assembly-CSharp/VRMiniGameSetup.cs
  193. 1 1
      Assembly-CSharp/VRNeiLetterMenu.cs
  194. 3 3
      Assembly-CSharp/VRRentalMaidMenu.cs
  195. 1 1
      Assembly-CSharp/VRSelectorMenu.cs
  196. 1 1
      Assembly-CSharp/VRTutorialMenu.cs
  197. 5 5
      Assembly-CSharp/VRVIPMenu.cs
  198. 1 1
      Assembly-CSharp/WindowPartsFingerPreset.cs
  199. 1 1
      Assembly-CSharp/WindowPartsPopUpList.cs
  200. 3 3
      Assembly-CSharp/WindowPartsTransform.cs
  201. 92 0
      Assembly-CSharp/XVI/AniLipSync/LowLatencyLipSyncContext.cs
  202. 20 10
      Assembly-CSharp/YotogiCommandFactory.cs
  203. 4 10
      Assembly-CSharp/YotogiManager.cs
  204. 4 4
      Assembly-CSharp/YotogiOldManager.cs
  205. 3 3
      Assembly-CSharp/YotogiOldPlayManager.cs
  206. 9 9
      Assembly-CSharp/YotogiOldSkillContainerViewer.cs
  207. 1 1
      Assembly-CSharp/YotogiOldSkillUnit.cs
  208. 29 13
      Assembly-CSharp/YotogiParamScroll.cs
  209. 5 6
      Assembly-CSharp/YotogiParameterViewer.cs
  210. 13 7
      Assembly-CSharp/YotogiPlayManager.cs
  211. 9 9
      Assembly-CSharp/YotogiSkillContainerViewer.cs
  212. 3 2
      Assembly-CSharp/YotogiSkillSelectManager.cs
  213. 3 1
      Assembly-CSharp/YotogiSkillUnit.cs
  214. 10 0
      Assembly-CSharp/YotogiStage.cs
  215. 24 0
      Assembly-CSharp/Yotogis/Skill.cs
  216. 70 64
      Assembly-CSharp/uGUIKaraokeSelect.cs
  217. 12 10
      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
 # Visual Studio 15
 VisualStudioVersion = 15.0.26228.4
 VisualStudioVersion = 15.0.26228.4
 MinimumVisualStudioVersion = 10.0.40219.1
 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", "{76F74361-87FC-4BC2-9EC7-6D84812CCBA5}"
 EndProject
 EndProject
 Global
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -11,10 +11,10 @@ Global
 		Release|Any CPU = Release|Any CPU
 		Release|Any CPU = Release|Any CPU
 	EndGlobalSection
 	EndGlobalSection
 	GlobalSection(ProjectConfigurationPlatforms) = postSolution
 	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
+		{76F74361-87FC-4BC2-9EC7-6D84812CCBA5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{76F74361-87FC-4BC2-9EC7-6D84812CCBA5}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{76F74361-87FC-4BC2-9EC7-6D84812CCBA5}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{76F74361-87FC-4BC2-9EC7-6D84812CCBA5}.Release|Any CPU.Build.0 = Release|Any CPU
 	EndGlobalSection
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE
 		HideSolutionNode = FALSE

+ 37 - 28
Assembly-CSharp/Assembly-CSharp.csproj

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

+ 606 - 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("ikattachpoint", new KagScript.KagTagCallBack(this.TagIKAttachPoint));
 		this.kag_.AddTagCallBack("ikattachbone", new KagScript.KagTagCallBack(this.TagIKAttachBone));
 		this.kag_.AddTagCallBack("ikattachbone", new KagScript.KagTagCallBack(this.TagIKAttachBone));
 		this.kag_.AddTagCallBack("ikdetach", new KagScript.KagTagCallBack(this.TagIKDetach));
 		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("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("allpos", new KagScript.KagTagCallBack(this.TagAllPos));
 		this.kag_.AddTagCallBack("alloffset", new KagScript.KagTagCallBack(this.TagAllOffSet));
 		this.kag_.AddTagCallBack("alloffset", new KagScript.KagTagCallBack(this.TagAllOffSet));
 		this.kag_.AddTagCallBack("addalloffset", new KagScript.KagTagCallBack(this.TagAddAllOffset));
 		this.kag_.AddTagCallBack("addalloffset", new KagScript.KagTagCallBack(this.TagAddAllOffset));
@@ -944,9 +953,14 @@ public class BaseKagManager : IDisposable
 		{
 		{
 			return false;
 			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;
 		Vector3 zero = Vector3.zero;
 		if (tag_data.IsValid("offsetx"))
 		if (tag_data.IsValid("offsetx"))
 		{
 		{
@@ -960,17 +974,27 @@ public class BaseKagManager : IDisposable
 		{
 		{
 			zero.z = tag_data.GetTagProperty("offsetz").AsReal();
 			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"))
 		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;
 		string axisbone = string.Empty;
 		if (tag_data.IsValid("axisbone"))
 		if (tag_data.IsValid("axisbone"))
 		{
 		{
 			axisbone = tag_data.GetTagProperty("axisbone").AsString();
 			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;
 		return false;
 	}
 	}
 
 
@@ -989,8 +1013,13 @@ public class BaseKagManager : IDisposable
 		{
 		{
 			return false;
 			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");
 		bool search_sm = tag_data.IsValid("Search_SM_Body");
 		Vector3 zero = Vector3.zero;
 		Vector3 zero = Vector3.zero;
 		if (tag_data.IsValid("offsetx"))
 		if (tag_data.IsValid("offsetx"))
@@ -1005,12 +1034,27 @@ public class BaseKagManager : IDisposable
 		{
 		{
 			zero.z = tag_data.GetTagProperty("offsetz").AsReal();
 			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"))
 		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;
 		return false;
 	}
 	}
 
 
@@ -1027,11 +1071,37 @@ public class BaseKagManager : IDisposable
 			return false;
 			return false;
 		}
 		}
 		string text = tag_data.GetTagProperty("srcbone").AsString();
 		string text = tag_data.GetTagProperty("srcbone").AsString();
-		if (text == null)
+		IKCtrlData ikdata = maidAndMan.IKCtrl.GetIKData(text);
+		if (!ikdata)
 		{
 		{
-			text = string.Empty;
+			return false;
+		}
+		float blendtime = 0f;
+		if (tag_data.IsValid("blendtime"))
+		{
+			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;
 		return false;
 	}
 	}
 
 
@@ -1048,8 +1118,455 @@ public class BaseKagManager : IDisposable
 		{
 		{
 			return false;
 			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"))
+		{
+			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, 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();
 		string odogu_name = tag_data.GetTagProperty("odogu").AsString();
+		IKCtrlData ikdata = maidAndMan.IKCtrl.GetIKData(text);
+		if (!ikdata)
+		{
+			return false;
+		}
 		string tgt_name = string.Empty;
 		string tgt_name = string.Empty;
 		if (tag_data.IsValid("target"))
 		if (tag_data.IsValid("target"))
 		{
 		{
@@ -1068,12 +1585,82 @@ public class BaseKagManager : IDisposable
 		{
 		{
 			zero.z = tag_data.GetTagProperty("offsetz").AsReal();
 			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"))
 		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(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());
 		}
 		}
-		maidAndMan.IKTargetToOdogu(strMyHand, odogu_name, tgt_name, zero, attach_type);
+		bool do_animation = tag_data.IsValid("do_animation");
+		maidAndMan.IKTargetToIKBone(text, maidAndMan2, bone_name, zero, ikattachType, blend_time, do_animation, true);
 		return false;
 		return false;
 	}
 	}
 
 
@@ -4145,7 +4732,7 @@ public class BaseKagManager : IDisposable
 	public void Serialize(BinaryWriter binary)
 	public void Serialize(BinaryWriter binary)
 	{
 	{
 		binary.Write("CM3D2_KAG");
 		binary.Write("CM3D2_KAG");
-		binary.Write(1160);
+		binary.Write(1170);
 		byte[] array = this.kag_.Serialize();
 		byte[] array = this.kag_.Serialize();
 		int value = array.Length;
 		int value = array.Length;
 		binary.Write(value);
 		binary.Write(value);

+ 4 - 4
Assembly-CSharp/BasePanelMgr.cs

@@ -172,7 +172,7 @@ public abstract class BasePanelMgr : MonoBehaviour
 		tweenAlpha.from = 0f;
 		tweenAlpha.from = 0f;
 		tweenAlpha.to = 1f;
 		tweenAlpha.to = 1f;
 		tweenAlpha.duration = this.durationToFadeIn;
 		tweenAlpha.duration = this.durationToFadeIn;
-		EventDelegate.Set(tweenAlpha.onFinished, delegate
+		EventDelegate.Set(tweenAlpha.onFinished, delegate()
 		{
 		{
 			this.ChangeFadeState(BasePanelMgr.FadeState.EndFadeIn);
 			this.ChangeFadeState(BasePanelMgr.FadeState.EndFadeIn);
 			this.AfterFadeIn();
 			this.AfterFadeIn();
@@ -224,7 +224,7 @@ public abstract class BasePanelMgr : MonoBehaviour
 			return;
 			return;
 		}
 		}
 		TweenAlpha tweenAlpha = TweenAlpha.Begin(this.fadeTargetPanel, this.durationToFadeOut, 0f);
 		TweenAlpha tweenAlpha = TweenAlpha.Begin(this.fadeTargetPanel, this.durationToFadeOut, 0f);
-		EventDelegate.Set(tweenAlpha.onFinished, delegate
+		EventDelegate.Set(tweenAlpha.onFinished, delegate()
 		{
 		{
 			this.fadeTargetPanel.SetActive(false);
 			this.fadeTargetPanel.SetActive(false);
 			this.ChangeFadeState(BasePanelMgr.FadeState.EndFadeOut);
 			this.ChangeFadeState(BasePanelMgr.FadeState.EndFadeOut);
@@ -237,7 +237,7 @@ public abstract class BasePanelMgr : MonoBehaviour
 		this.BeforeFadeOut();
 		this.BeforeFadeOut();
 		this.ChangeFadeState(BasePanelMgr.FadeState.StartFadeOut);
 		this.ChangeFadeState(BasePanelMgr.FadeState.StartFadeOut);
 		TweenAlpha tweenAlpha = TweenAlpha.Begin(this.fadeTargetPanel, this.durationToFadeOut, 0f);
 		TweenAlpha tweenAlpha = TweenAlpha.Begin(this.fadeTargetPanel, this.durationToFadeOut, 0f);
-		EventDelegate.Set(tweenAlpha.onFinished, delegate
+		EventDelegate.Set(tweenAlpha.onFinished, delegate()
 		{
 		{
 			this.fadeTargetPanel.SetActive(false);
 			this.fadeTargetPanel.SetActive(false);
 			this.ChangeFadeState(BasePanelMgr.FadeState.EndFadeOut);
 			this.ChangeFadeState(BasePanelMgr.FadeState.EndFadeOut);
@@ -251,7 +251,7 @@ public abstract class BasePanelMgr : MonoBehaviour
 		this.BeforeFadeOut();
 		this.BeforeFadeOut();
 		this.ChangeFadeState(BasePanelMgr.FadeState.StartFadeOut);
 		this.ChangeFadeState(BasePanelMgr.FadeState.StartFadeOut);
 		TweenAlpha tweenAlpha = TweenAlpha.Begin(this.fadeTargetPanel, this.durationToFadeOut, 0f);
 		TweenAlpha tweenAlpha = TweenAlpha.Begin(this.fadeTargetPanel, this.durationToFadeOut, 0f);
-		EventDelegate.Set(tweenAlpha.onFinished, delegate
+		EventDelegate.Set(tweenAlpha.onFinished, delegate()
 		{
 		{
 			this.fadeTargetPanel.SetActive(false);
 			this.fadeTargetPanel.SetActive(false);
 			this.ChangeFadeState(BasePanelMgr.FadeState.EndFadeOut);
 			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))
 			using (BinaryWriter binaryWriter = new BinaryWriter(memoryStream))
 			{
 			{
 				binaryWriter.Write("COM3D2_PHOTO_CUSTOM_OBJECT");
 				binaryWriter.Write("COM3D2_PHOTO_CUSTOM_OBJECT");
-				binaryWriter.Write(1160);
+				binaryWriter.Write(1170);
 				binaryWriter.Write(this.type.ToString());
 				binaryWriter.Write(this.type.ToString());
 				binaryWriter.Write(this.scale_);
 				binaryWriter.Write(this.scale_);
 				binaryWriter.Write(this.enabledTextureColor_);
 				binaryWriter.Write(this.enabledTextureColor_);

+ 32 - 7
Assembly-CSharp/BasePhotoWindow.cs

@@ -1,5 +1,6 @@
 using System;
 using System;
 using System.Collections.Generic;
 using System.Collections.Generic;
+using I2.Loc;
 using UnityEngine;
 using UnityEngine;
 
 
 public abstract class BasePhotoWindow : MonoBehaviour
 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/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", false).GetComponent<UIWidget>().width = num;
 		UTY.GetChildObject(base.gameObject, "Parent/BG/TitleBar/Btn", false).transform.localPosition = new Vector3((float)(num - 10), -10f, 0f);
 		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)
 	public virtual void SetWindowTitle(string title)
@@ -27,6 +32,15 @@ public abstract class BasePhotoWindow : MonoBehaviour
 		this.windowTitle.text = title;
 		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()
 	public virtual void Awake()
 	{
 	{
 		GameObject gameObject = GameObject.Find("/UI Root");
 		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>();
 		this.title_bar_label_ = UTY.GetChildObject(childObject, "Text", false).GetComponent<UILabel>();
 		Dictionary<BasePhotoWindow.BtnType, string> dictionary = new Dictionary<BasePhotoWindow.BtnType, string>();
 		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>>>();
 		this.btn_dic_ = new Dictionary<BasePhotoWindow.BtnType, KeyValuePair<UIButton, List<Action>>>();
 		for (int i = 0; i <= 3; i++)
 		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
 	public int depth
 	{
 	{
 		get
 		get
@@ -389,7 +411,7 @@ public abstract class BasePhotoWindow : MonoBehaviour
 	protected void OnBtnMouseHoverIn(string text)
 	protected void OnBtnMouseHoverIn(string text)
 	{
 	{
 		MouseExposition @object = MouseExposition.GetObject();
 		MouseExposition @object = MouseExposition.GetObject();
-		@object.text = text;
+		@object.textFromLanguageTerm = text;
 	}
 	}
 
 
 	protected void OnMouseHoverOut()
 	protected void OnMouseHoverOut()
@@ -400,6 +422,9 @@ public abstract class BasePhotoWindow : MonoBehaviour
 
 
 	public string InitTitle = "キャラクター";
 	public string InitTitle = "キャラクター";
 
 
+	[SerializeField]
+	private string uniqueWindowName;
+
 	public Vector2 WindowSize;
 	public Vector2 WindowSize;
 
 
 	public bool InitVisible = true;
 	public bool InitVisible = true;
@@ -416,7 +441,7 @@ public abstract class BasePhotoWindow : MonoBehaviour
 
 
 	protected Camera uiCamera;
 	protected Camera uiCamera;
 
 
-	protected UILabel title_bar_label_;
+	private UILabel title_bar_label_;
 
 
 	protected UIPanel panel_;
 	protected UIPanel panel_;
 
 

+ 3 - 3
Assembly-CSharp/BasePhotoWindowManager.cs

@@ -72,11 +72,11 @@ public abstract class BasePhotoWindowManager : MonoBehaviour
 		return true;
 		return true;
 	}
 	}
 
 
-	public BasePhotoWindow GetWindow(string title)
+	public BasePhotoWindow GetWindow(string uniqueWindowName)
 	{
 	{
 		foreach (KeyValuePair<BasePhotoWindow, int> keyValuePair in this.window_dic_)
 		foreach (KeyValuePair<BasePhotoWindow, int> keyValuePair in this.window_dic_)
 		{
 		{
-			if (keyValuePair.Key.title == title)
+			if (keyValuePair.Key.uniqueName == uniqueWindowName)
 			{
 			{
 				return keyValuePair.Key;
 				return keyValuePair.Key;
 			}
 			}
@@ -153,7 +153,7 @@ public abstract class BasePhotoWindowManager : MonoBehaviour
 			using (BinaryWriter binaryWriter = new BinaryWriter(memoryStream))
 			using (BinaryWriter binaryWriter = new BinaryWriter(memoryStream))
 			{
 			{
 				binaryWriter.Write(this.save_header_uidata);
 				binaryWriter.Write(this.save_header_uidata);
-				binaryWriter.Write(1160);
+				binaryWriter.Write(1170);
 				binaryWriter.Write(this.save_data_.Count);
 				binaryWriter.Write(this.save_data_.Count);
 				foreach (KeyValuePair<string, Dictionary<string, Dictionary<string, string>>> keyValuePair3 in this.save_data_)
 				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)
 				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);
 						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;
 		float timer = 0f;
 		int wait_time = UnityEngine.Random.Range(this.m_WaitMinTime, this.m_WaitMaxTime);
 		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 (;;)
 		for (;;)
 		{
 		{

+ 13 - 13
Assembly-CSharp/BlackjackGame.cs

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

+ 4 - 4
Assembly-CSharp/CMSystem.cs

@@ -808,7 +808,7 @@ public class CMSystem
 	{
 	{
 		XElement xelement = new XElement("Config", new object[]
 		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("System", new XElement("SysButtonShowAlways", this.SysButtonShowAlways)),
 			new XElement("Screen", new object[]
 			new XElement("Screen", new object[]
 			{
 			{
@@ -1125,7 +1125,7 @@ public class CMSystem
 		MemoryStream memoryStream = new MemoryStream();
 		MemoryStream memoryStream = new MemoryStream();
 		BinaryWriter binaryWriter = new BinaryWriter(memoryStream);
 		BinaryWriter binaryWriter = new BinaryWriter(memoryStream);
 		binaryWriter.Write("CM3D2_SYSTEM2");
 		binaryWriter.Write("CM3D2_SYSTEM2");
-		binaryWriter.Write(1160);
+		binaryWriter.Write(1170);
 		binaryWriter.Write(this.m_dicEditColorPresetData.Count);
 		binaryWriter.Write(this.m_dicEditColorPresetData.Count);
 		foreach (KeyValuePair<int, Dictionary<string, int>> keyValuePair in this.m_dicEditColorPresetData)
 		foreach (KeyValuePair<int, Dictionary<string, int>> keyValuePair in this.m_dicEditColorPresetData)
 		{
 		{
@@ -1697,7 +1697,7 @@ public class CMSystem
 
 
 		public void OnBeforeSerialize()
 		public void OnBeforeSerialize()
 		{
 		{
-			this.m_nVersion = 1160;
+			this.m_nVersion = 1170;
 		}
 		}
 
 
 		public void OnAfterDeserialize()
 		public void OnAfterDeserialize()
@@ -1705,7 +1705,7 @@ public class CMSystem
 		}
 		}
 
 
 		[SerializeField]
 		[SerializeField]
-		private int m_nVersion = 1160;
+		private int m_nVersion = 1170;
 
 
 		[SerializeField]
 		[SerializeField]
 		private string m_strDShowFilter = "Microsoft DTV-DVD Video Decoder";
 		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);
 		BinaryWriter binaryWriter = new BinaryWriter(memoryStream);
 		string result = string.Empty;
 		string result = string.Empty;
 		binaryWriter.Write("CM3D2_PRESET_S");
 		binaryWriter.Write("CM3D2_PRESET_S");
-		binaryWriter.Write(1160);
+		binaryWriter.Write(1170);
 		binaryWriter.Write((char)presset_type);
 		binaryWriter.Write((char)presset_type);
 		maid.SerializePropLowCapacity(binaryWriter);
 		maid.SerializePropLowCapacity(binaryWriter);
 		maid.SerializeMultiColor(binaryWriter);
 		maid.SerializeMultiColor(binaryWriter);
@@ -966,7 +966,7 @@ public class CharacterMgr : MonoBehaviour
 		MemoryStream memoryStream = new MemoryStream();
 		MemoryStream memoryStream = new MemoryStream();
 		BinaryWriter binaryWriter = new BinaryWriter(memoryStream);
 		BinaryWriter binaryWriter = new BinaryWriter(memoryStream);
 		binaryWriter.Write("CM3D2_PRESET");
 		binaryWriter.Write("CM3D2_PRESET");
-		binaryWriter.Write(1160);
+		binaryWriter.Write(1170);
 		binaryWriter.Write((int)f_type);
 		binaryWriter.Write((int)f_type);
 		if (texture2D != null)
 		if (texture2D != null)
 		{
 		{
@@ -1246,7 +1246,7 @@ public class CharacterMgr : MonoBehaviour
 	public bool Serialize(BinaryWriter bwWrite)
 	public bool Serialize(BinaryWriter bwWrite)
 	{
 	{
 		bwWrite.Write("CM3D2_CHR_MGR");
 		bwWrite.Write("CM3D2_CHR_MGR");
-		bwWrite.Write(1160);
+		bwWrite.Write(1170);
 		this.m_PlayerStatus.Serialize(bwWrite);
 		this.m_PlayerStatus.Serialize(bwWrite);
 		bwWrite.Write(this.m_listStockMan.Count);
 		bwWrite.Write(this.m_listStockMan.Count);
 		for (int i = 0; i < this.m_listStockMan.Count; i++)
 		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.Collections.Generic;
 using System.Runtime.CompilerServices;
 using System.Runtime.CompilerServices;
 using com.workman.cm3d2.scene.dailyEtc;
 using com.workman.cm3d2.scene.dailyEtc;
+using I2.Loc;
 using MaidStatus;
 using MaidStatus;
 using PlayerStatus;
 using PlayerStatus;
 using Schedule;
 using Schedule;
@@ -82,7 +83,7 @@ public class CharacterSelectMain : WfScreenChildren
 			{
 			{
 				GameMain.Instance.SoundMgr.PlayBGM("BGM015.ogg", 0.5f, true);
 				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)
 		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)
 			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)
 			else if (this.scene_chara_select_.select_type == SceneCharacterSelect.SelectType.Vip)
 			{
 			{
-				this.explanatory_label_.text = "Hイベントを行うメイドを選択してください。";
+				this.SetExplanatoryLabel("Hイベントを行うメイドを選択してください。");
 			}
 			}
 			else
 			else
 			{
 			{
-				this.explanatory_label_.text = "施設強化を行うメイドを選択してください。";
+				this.SetExplanatoryLabel("施設強化を行うメイドを選択してください。");
 			}
 			}
 			if (!this.auto_select_)
 			if (!this.auto_select_)
 			{
 			{
@@ -226,7 +227,7 @@ public class CharacterSelectMain : WfScreenChildren
 			this.button_dic_["全解除"].gameObject.SetActive(true);
 			this.button_dic_["全解除"].gameObject.SetActive(true);
 			this.button_dic_["全選択"].isEnabled = true;
 			this.button_dic_["全選択"].isEnabled = true;
 			this.button_dic_["全解除"].isEnabled = false;
 			this.button_dic_["全解除"].isEnabled = false;
-			this.explanatory_label_.text = "品評会を行うメイドを選択してください。";
+			this.SetExplanatoryLabel("品評会を行うメイドを選択してください。");
 		}
 		}
 		else if (this.scene_chara_select_.select_type == SceneCharacterSelect.SelectType.Free)
 		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_.SetCallBackCallBackOnSelect(new CharacterSelectManager.CallBackOnSelect(this.OnSelectChara));
 			this.chara_select_mgr_.Create(CharacterSelectManager.Type.Select, 3, true);
 			this.chara_select_mgr_.Create(CharacterSelectManager.Type.Select, 3, true);
 			if (this.chara_select_mgr_.maid_list_count == 1)
 			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);
 				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)
 		else if (this.scene_chara_select_.select_type == SceneCharacterSelect.SelectType.VRComSelect)
 		{
 		{
@@ -326,7 +327,7 @@ public class CharacterSelectMain : WfScreenChildren
 			{
 			{
 				this.auto_select_ = true;
 				this.auto_select_ = true;
 			}
 			}
-			this.explanatory_label_.text = "バカンスに連れていくメイドを選択してください。";
+			this.SetExplanatoryLabel("バカンスに連れていくメイドを選択してください。");
 		}
 		}
 		else if (this.scene_chara_select_.select_type == SceneCharacterSelect.SelectType.VRKaraokeSelect)
 		else if (this.scene_chara_select_.select_type == SceneCharacterSelect.SelectType.VRKaraokeSelect)
 		{
 		{
@@ -342,7 +343,7 @@ public class CharacterSelectMain : WfScreenChildren
 			{
 			{
 				this.auto_select_ = true;
 				this.auto_select_ = true;
 			}
 			}
-			this.explanatory_label_.text = "カラオケに連れていくメイドを選択してください。";
+			this.SetExplanatoryLabel("カラオケに連れていくメイドを選択してください。");
 		}
 		}
 		else if (this.scene_chara_select_.select_type == SceneCharacterSelect.SelectType.Recollection)
 		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_.SetCallBackCallBackOnSelect(new CharacterSelectManager.CallBackOnSelect(this.OnSelectChara));
 			this.chara_select_mgr_.Create(CharacterSelectManager.Type.Select, 3, true);
 			this.chara_select_mgr_.Create(CharacterSelectManager.Type.Select, 3, true);
 			if (this.chara_select_mgr_.maid_list_count == 1)
 			if (this.chara_select_mgr_.maid_list_count == 1)
@@ -426,7 +427,7 @@ public class CharacterSelectMain : WfScreenChildren
 		{
 		{
 			this.auto_select_ = true;
 			this.auto_select_ = true;
 		}
 		}
-		this.explanatory_label_.text = "*メイドの追加呼び出し*";
+		this.SetExplanatoryLabel("*メイドの追加呼び出し*");
 		CharacterMgr characterMgr = GameMain.Instance.CharacterMgr;
 		CharacterMgr characterMgr = GameMain.Instance.CharacterMgr;
 		for (int i = 0; i < characterMgr.GetStockMaidCount(); i++)
 		for (int i = 0; i < characterMgr.GetStockMaidCount(); i++)
 		{
 		{
@@ -454,6 +455,13 @@ public class CharacterSelectMain : WfScreenChildren
 		return 2 < this.wait_count_;
 		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)
 	public void SetCancelLabel(string cancel_call_label)
 	{
 	{
 		this.cancel_call_label_ = 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 YotogiManager yotogiMgr;
 
 
 	private YotogiPlayManagerWithChubLip yotogiPlayMgr;
 	private YotogiPlayManagerWithChubLip yotogiPlayMgr;

+ 12 - 4
Assembly-CSharp/ColorPaletteManager.cs

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

+ 3 - 3
Assembly-CSharp/ConfigCtrl.cs

@@ -127,7 +127,7 @@ public class ConfigCtrl : MonoBehaviour
 			while (enumerator6.MoveNext())
 			while (enumerator6.MoveNext())
 			{
 			{
 				object obj5 = enumerator6.Current;
 				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
 		finally
@@ -170,7 +170,7 @@ public class ConfigCtrl : MonoBehaviour
 		this.m_okButton = UTY.GetChildObject(configPanel, "OK", false).GetComponent<UIButton>();
 		this.m_okButton = UTY.GetChildObject(configPanel, "OK", false).GetComponent<UIButton>();
 		EventDelegate.Add(this.m_okButton.onClick, new EventDelegate.Callback(BaseMgr<ConfigMgr>.Instance.CloseConfigPanel));
 		EventDelegate.Add(this.m_okButton.onClick, new EventDelegate.Callback(BaseMgr<ConfigMgr>.Instance.CloseConfigPanel));
 		this.m_changeVRConfigButton = UTY.GetChildObject(configPanel, "Change VR", false).GetComponent<UIButton>();
 		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();
 			BaseMgr<ConfigMgr>.Instance.CloseConfigPanel();
 			ConfigVRCtrl.Open(null);
 			ConfigVRCtrl.Open(null);
@@ -271,7 +271,7 @@ public class ConfigCtrl : MonoBehaviour
 			num
 			num
 		}));
 		}));
 		SubtitleDisplayManager.DisplayType subtitleType = GameMain.Instance.CMSystem.SubtitleType;
 		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;
 		bool msgVoiceNoStop = GameMain.Instance.CMSystem.MsgVoiceNoStop;
 		Debug.Log("Load alreadyReadSkipEnabled:" + msgVoiceNoStop);
 		Debug.Log("Load alreadyReadSkipEnabled:" + msgVoiceNoStop);
 		this.SetButtonActive(this.m_sequentialVoiceOn, this.m_sequentialVoiceOff, msgVoiceNoStop);
 		this.SetButtonActive(this.m_sequentialVoiceOn, this.m_sequentialVoiceOff, msgVoiceNoStop);

+ 3 - 3
Assembly-CSharp/ConfigMgr.cs

@@ -127,8 +127,8 @@ public class ConfigMgr : BaseMgr<ConfigMgr>
 			while (enumerator.MoveNext())
 			while (enumerator.MoveNext())
 			{
 			{
 				object obj = enumerator.Current;
 				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;
 					GameMain.Instance.CMSystem.SubtitleType = (SubtitleDisplayManager.DisplayType)obj;
 					break;
 					break;
@@ -336,7 +336,7 @@ public class ConfigMgr : BaseMgr<ConfigMgr>
 		this.m_configCtrl.SetOKButtonActive(false);
 		this.m_configCtrl.SetOKButtonActive(false);
 		this.cblConfig.OnClose();
 		this.cblConfig.OnClose();
 		TweenAlpha tweenAlpha = TweenAlpha.Begin(this.m_goPanel, 0.3f, 0f);
 		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);
 			this.m_goPanel.SetActive(false);
 		});
 		});

+ 8 - 8
Assembly-CSharp/ConfigVRCtrl.cs

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

+ 2 - 2
Assembly-CSharp/ControllerShortcutSettingData.cs

@@ -33,7 +33,7 @@ public static class ControllerShortcutSettingData
 	{
 	{
 		public void OnBeforeSerialize()
 		public void OnBeforeSerialize()
 		{
 		{
-			this.m_nVersion = 1160;
+			this.m_nVersion = 1170;
 		}
 		}
 
 
 		public void OnAfterDeserialize()
 		public void OnAfterDeserialize()
@@ -261,7 +261,7 @@ public static class ControllerShortcutSettingData
 		private const string CONF_NAME = "OvrControllerShortcutConfig.json";
 		private const string CONF_NAME = "OvrControllerShortcutConfig.json";
 
 
 		[SerializeField]
 		[SerializeField]
-		private int m_nVersion = 1160;
+		private int m_nVersion = 1170;
 
 
 		[SerializeField]
 		[SerializeField]
 		private bool IsDirectShortcutMode = true;
 		private bool IsDirectShortcutMode = true;

+ 2 - 2
Assembly-CSharp/ControllerShortcutWindow.cs

@@ -64,7 +64,7 @@ public class ControllerShortcutWindow : MonoBehaviour
 		EventDelegate.Add(uiwftabButton5.onClick, new EventDelegate.Callback(this.OpenWindowMotionShortcut));
 		EventDelegate.Add(uiwftabButton5.onClick, new EventDelegate.Callback(this.OpenWindowMotionShortcut));
 		EventDelegate.Add(uiwftabButton6.onClick, new EventDelegate.Callback(this.OpenWindowGeneralObject));
 		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>();
 		this.m_FadeWindowHideButton = UTY.GetChildObject(this.m_FadeWindowParent.gameObject, "parent button/Button Hide", false).GetComponent<UIButton>();
-		EventDelegate.Add(this.m_FadeWindowHideButton.onClick, delegate
+		EventDelegate.Add(this.m_FadeWindowHideButton.onClick, delegate()
 		{
 		{
 			this.m_FadeWindowParent.Close(0.25f, null);
 			this.m_FadeWindowParent.Close(0.25f, null);
 		});
 		});
@@ -87,7 +87,7 @@ public class ControllerShortcutWindow : MonoBehaviour
 		UIButton uibutton = this.m_FadeWindowCalibration.CacheChildObject<UIButton>("Window Start/button start", "startButton");
 		UIButton uibutton = this.m_FadeWindowCalibration.CacheChildObject<UIButton>("Window Start/button start", "startButton");
 		UIButton uibutton2 = this.m_FadeWindowCalibration.CacheChildObject<UIButton>("Window Start/button end", "endButton");
 		UIButton uibutton2 = this.m_FadeWindowCalibration.CacheChildObject<UIButton>("Window Start/button end", "endButton");
 		NGUIWindow fadeWindowCalibration = this.m_FadeWindowCalibration;
 		NGUIWindow fadeWindowCalibration = this.m_FadeWindowCalibration;
-		fadeWindowCalibration.OnOpen = (Action)Delegate.Combine(fadeWindowCalibration.OnOpen, new Action(delegate
+		fadeWindowCalibration.OnOpen = (Action)Delegate.Combine(fadeWindowCalibration.OnOpen, new Action(delegate()
 		{
 		{
 			NGUIWindow cache = this.m_FadeWindowCalibration.GetCache<NGUIWindow>("FadeWindow Start");
 			NGUIWindow cache = this.m_FadeWindowCalibration.GetCache<NGUIWindow>("FadeWindow Start");
 			NGUIWindow cache2 = this.m_FadeWindowCalibration.GetCache<NGUIWindow>("FadeWindow Countdown");
 			NGUIWindow cache2 = this.m_FadeWindowCalibration.GetCache<NGUIWindow>("FadeWindow Countdown");

+ 3 - 3
Assembly-CSharp/DanceBattle_Mgr.cs

@@ -166,10 +166,10 @@ public class DanceBattle_Mgr : PartsMgrBase
 		Vector3 end_pos = Vector3.zero;
 		Vector3 end_pos = Vector3.zero;
 		Action<UISprite[], Color> line_setting = delegate(UISprite[] line_array, Color line_col)
 		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++)
 			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 num3 = num2 - (float)Mathf.FloorToInt(num2 / num) * num;
 				float num4 = Mathf.Clamp01(num3 / num);
 				float num4 = Mathf.Clamp01(num3 / num);
 				if (num4 > 0f && !line_array[i].gameObject.activeSelf)
 				if (num4 > 0f && !line_array[i].gameObject.activeSelf)
@@ -180,7 +180,7 @@ public class DanceBattle_Mgr : PartsMgrBase
 				color.a = 1f - num4;
 				color.a = 1f - num4;
 				line_array[i].color = color;
 				line_array[i].color = color;
 				line_array[i].transform.position = Vector3.Lerp(start_pos, end_pos, num4);
 				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 (;;)
 		for (;;)

+ 42 - 31
Assembly-CSharp/DanceMain.cs

@@ -142,12 +142,6 @@ public class DanceMain : MonoBehaviour
 		}
 		}
 		this.m_AnimatorData.playOnStart = null;
 		this.m_AnimatorData.playOnStart = null;
 		this.m_AnimatorData.bAutoTimeUpdate = false;
 		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)
 		if (GameMain.Instance.VRMode && GameMain.Instance.CMSystem.GetTmpGenericFlag("ダンスOVRカメラタイプ") == 1)
 		{
 		{
 			this.m_trOvrDummyCam = new GameObject("OvrDummyDanceCam").transform;
 			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++)
 		for (int l = 0; l < this.m_listTestPreset.Count; l++)
 		{
 		{
 			Maid maid = GameMain.Instance.CharacterMgr.GetMaid(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)
 				if (!this.m_maidUser)
 				{
 				{
@@ -218,13 +192,50 @@ public class DanceMain : MonoBehaviour
 			{
 			{
 				list.Add(GameMain.Instance.CharacterMgr.GetMaid(n));
 				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++)
 			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);
 				}
 				}
 			}
 			}
 		}
 		}

+ 6 - 0
Assembly-CSharp/DanceSelect.cs

@@ -2,6 +2,7 @@
 using System.Collections;
 using System.Collections;
 using System.Collections.Generic;
 using System.Collections.Generic;
 using System.Linq;
 using System.Linq;
+using I2.Loc;
 using MaidStatus;
 using MaidStatus;
 using UnityEngine;
 using UnityEngine;
 using wf;
 using wf;
@@ -228,6 +229,11 @@ public class DanceSelect : WfScreenChildren
 			NDebug.AssertNull(this.select_panelset_array_[i].ContentsPanel != null && this.select_panelset_array_[i].ParentPanel != null);
 			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 = UTY.GetChildObject(this.CharaSelectPanel.ParentPanel.gameObject, "ExplanatoryText/Value", false).GetComponent<UILabel>();
+		Localize component3 = this.m_CharaSelectLabel.GetComponent<Localize>();
+		if (component3 != null)
+		{
+			UnityEngine.Object.DestroyImmediate(component3);
+		}
 		this.m_CharaSelectLabel.text = "ダンスを行うメイドを選択してください。";
 		this.m_CharaSelectLabel.text = "ダンスを行うメイドを選択してください。";
 		this.chara_select_mgr_ = this.CharaSelectPanel.ParentPanel.gameObject.GetComponentInChildren<CharacterSelectManager>();
 		this.chara_select_mgr_ = this.CharaSelectPanel.ParentPanel.gameObject.GetComponentInChildren<CharacterSelectManager>();
 		NDebug.AssertNull(this.chara_select_mgr_ != null);
 		NDebug.AssertNull(this.chara_select_mgr_ != null);

+ 66 - 29
Assembly-CSharp/DanceSetting.cs

@@ -6,6 +6,7 @@ using System.Linq;
 using System.Runtime.Serialization.Formatters.Binary;
 using System.Runtime.Serialization.Formatters.Binary;
 using System.Text;
 using System.Text;
 using Dance;
 using Dance;
+using I2.Loc;
 using UnityEngine;
 using UnityEngine;
 
 
 public class DanceSetting : MonoBehaviour
 public class DanceSetting : MonoBehaviour
@@ -99,7 +100,7 @@ public class DanceSetting : MonoBehaviour
 
 
 	private void Start()
 	private void Start()
 	{
 	{
-		EventDelegate.Callback callback = delegate
+		EventDelegate.Callback callback = delegate()
 		{
 		{
 			GameObject gameObject = GameObject.Find("Drop-down List");
 			GameObject gameObject = GameObject.Find("Drop-down List");
 			if (gameObject)
 			if (gameObject)
@@ -122,6 +123,7 @@ public class DanceSetting : MonoBehaviour
 					if (transform.Find("Label"))
 					if (transform.Find("Label"))
 					{
 					{
 						needData.Label = transform.Find("Label").GetComponent<UILabel>();
 						needData.Label = transform.Find("Label").GetComponent<UILabel>();
+						needData.localize = needData.Label.GetComponent<Localize>();
 					}
 					}
 					needData.Button = transform.GetComponentInChildren<UIButton>();
 					needData.Button = transform.GetComponentInChildren<UIButton>();
 					EventDelegate.Add(needData.Button.onClick, callback);
 					EventDelegate.Add(needData.Button.onClick, callback);
@@ -152,48 +154,60 @@ public class DanceSetting : MonoBehaviour
 		foreach (string text in list.items)
 		foreach (string text in list.items)
 		{
 		{
 			bool flag = false;
 			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)
 			switch (uiinspectorSetting.MyType)
 			{
 			{
 			case DanceSetting.SettingType.Product:
 			case DanceSetting.SettingType.Product:
-				flag = this.IsProductMatch(text);
+				flag = this.IsProductMatch(text3);
 				break;
 				break;
 			case DanceSetting.SettingType.Audience:
 			case DanceSetting.SettingType.Audience:
-				flag = this.IsAudienceMatch(text);
+				flag = this.IsAudienceMatch(text3);
 				break;
 				break;
 			case DanceSetting.SettingType.DepthofField:
 			case DanceSetting.SettingType.DepthofField:
-				flag = this.IsSettingOn(text, DanceSetting.Settings.IsDepthOfFieldOn);
+				flag = this.IsSettingOn(text3, DanceSetting.Settings.IsDepthOfFieldOn);
 				break;
 				break;
 			case DanceSetting.SettingType.SePlay:
 			case DanceSetting.SettingType.SePlay:
-				flag = this.IsSettingOn(text, DanceSetting.Settings.IsSEPlay);
+				flag = this.IsSettingOn(text3, DanceSetting.Settings.IsSEPlay);
 				break;
 				break;
 			case DanceSetting.SettingType.Voltage:
 			case DanceSetting.SettingType.Voltage:
-				flag = this.IsVoltageMatch(text);
+				flag = this.IsVoltageMatch(text3);
 				break;
 				break;
 			case DanceSetting.SettingType.BlackBg:
 			case DanceSetting.SettingType.BlackBg:
-				flag = this.IsSettingOn(text, DanceSetting.Settings.IsblackBGon);
+				flag = this.IsSettingOn(text3, DanceSetting.Settings.IsblackBGon);
 				break;
 				break;
 			case DanceSetting.SettingType.NoteEffect:
 			case DanceSetting.SettingType.NoteEffect:
-				flag = this.IsEffectLigthtMatch(text);
+				flag = this.IsEffectLigthtMatch(text3);
 				break;
 				break;
 			case DanceSetting.SettingType.NoteTiming:
 			case DanceSetting.SettingType.NoteTiming:
-				flag = this.IsTimingMatch(text);
+				flag = this.IsTimingMatch(text3);
 				break;
 				break;
 			case DanceSetting.SettingType.JudgeTiming:
 			case DanceSetting.SettingType.JudgeTiming:
-				flag = this.IsJudgeTimingMatch(text);
+				flag = this.IsJudgeTimingMatch(text3);
 				break;
 				break;
 			case DanceSetting.SettingType.FpsCam:
 			case DanceSetting.SettingType.FpsCam:
-				flag = this.IsSettingOn(text, DanceSetting.Settings.FPSCamMode);
+				flag = this.IsSettingOn(text3, DanceSetting.Settings.FPSCamMode);
 				break;
 				break;
 			case DanceSetting.SettingType.Cutin:
 			case DanceSetting.SettingType.Cutin:
-				flag = this.IsCutinMatch(text);
+				flag = this.IsCutinMatch(text3);
 				break;
 				break;
 			case DanceSetting.SettingType.Undress:
 			case DanceSetting.SettingType.Undress:
-				flag = this.IsUndressFaceMatch(text);
+				flag = this.IsUndressFaceMatch(text3);
 				break;
 				break;
 			}
 			}
 			if (flag)
 			if (flag)
 			{
 			{
-				list.value = text;
+				list.value = ((!flag2) ? text3 : text2);
 				break;
 				break;
 			}
 			}
 		}
 		}
@@ -452,7 +466,20 @@ public class DanceSetting : MonoBehaviour
 
 
 	private void ValueSetting()
 	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);
 		DanceSetting.UIInspectorSetting uiinspectorSetting = this.m_SettingList.SingleOrDefault((DanceSetting.UIInspectorSetting e) => e.PopUpUI == UIPopupList.current);
 		if (uiinspectorSetting == null)
 		if (uiinspectorSetting == null)
 		{
 		{
@@ -461,46 +488,54 @@ public class DanceSetting : MonoBehaviour
 		switch (uiinspectorSetting.MyType)
 		switch (uiinspectorSetting.MyType)
 		{
 		{
 		case DanceSetting.SettingType.Product:
 		case DanceSetting.SettingType.Product:
-			this.SetProduct(value);
+			this.SetProduct(text2);
 			break;
 			break;
 		case DanceSetting.SettingType.Audience:
 		case DanceSetting.SettingType.Audience:
-			this.SetAudience(value);
+			this.SetAudience(text2);
 			break;
 			break;
 		case DanceSetting.SettingType.DepthofField:
 		case DanceSetting.SettingType.DepthofField:
-			this.SwitchFlag(value, ref DanceSetting.Settings.IsDepthOfFieldOn);
+			this.SwitchFlag(text2, ref DanceSetting.Settings.IsDepthOfFieldOn);
 			break;
 			break;
 		case DanceSetting.SettingType.SePlay:
 		case DanceSetting.SettingType.SePlay:
-			this.SwitchFlag(value, ref DanceSetting.Settings.IsSEPlay);
+			this.SwitchFlag(text2, ref DanceSetting.Settings.IsSEPlay);
 			break;
 			break;
 		case DanceSetting.SettingType.Voltage:
 		case DanceSetting.SettingType.Voltage:
-			this.SetVoltage(value);
+			this.SetVoltage(text2);
 			break;
 			break;
 		case DanceSetting.SettingType.BlackBg:
 		case DanceSetting.SettingType.BlackBg:
-			this.SwitchFlag(value, ref DanceSetting.Settings.IsblackBGon);
+			this.SwitchFlag(text2, ref DanceSetting.Settings.IsblackBGon);
 			break;
 			break;
 		case DanceSetting.SettingType.NoteEffect:
 		case DanceSetting.SettingType.NoteEffect:
-			this.SetEffectLight(value);
+			this.SetEffectLight(text2);
 			break;
 			break;
 		case DanceSetting.SettingType.NoteTiming:
 		case DanceSetting.SettingType.NoteTiming:
-			this.SetNoteTiming(value);
+			this.SetNoteTiming(text2);
 			break;
 			break;
 		case DanceSetting.SettingType.JudgeTiming:
 		case DanceSetting.SettingType.JudgeTiming:
-			this.SetJudgeTiming(value);
+			this.SetJudgeTiming(text2);
 			break;
 			break;
 		case DanceSetting.SettingType.FpsCam:
 		case DanceSetting.SettingType.FpsCam:
-			this.SwitchFlag(value, ref DanceSetting.Settings.FPSCamMode);
+			this.SwitchFlag(text2, ref DanceSetting.Settings.FPSCamMode);
 			break;
 			break;
 		case DanceSetting.SettingType.Cutin:
 		case DanceSetting.SettingType.Cutin:
-			this.SetCutInGrade(value);
+			this.SetCutInGrade(text2);
 			break;
 			break;
 		case DanceSetting.SettingType.Undress:
 		case DanceSetting.SettingType.Undress:
-			this.SetUndressFace(value);
+			this.SetUndressFace(text2);
 			break;
 			break;
 		}
 		}
 		if (this.m_SettingUIList[UIPopupList.current].Label)
 		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;
+			}
 		}
 		}
 	}
 	}
 
 
@@ -619,6 +654,8 @@ public class DanceSetting : MonoBehaviour
 	{
 	{
 		public UILabel Label;
 		public UILabel Label;
 
 
+		public Localize localize;
+
 		public UIButton Button;
 		public UIButton Button;
 
 
 		public BoxCollider Collider;
 		public BoxCollider Collider;

+ 2 - 2
Assembly-CSharp/DeskManager.cs

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

+ 3 - 3
Assembly-CSharp/DynamicBone.cs

@@ -30,7 +30,7 @@ public class DynamicBone : MonoBehaviour
 			return false;
 			return false;
 		};
 		};
 		f_bw.Write("CM3D21_PHY");
 		f_bw.Write("CM3D21_PHY");
-		f_bw.Write(1160);
+		f_bw.Write(1170);
 		if (this.m_Root == null)
 		if (this.m_Root == null)
 		{
 		{
 			NDebug.MessageBox("エラー", "×物理ルートボーンが設定されていません。");
 			NDebug.MessageBox("エラー", "×物理ルートボーンが設定されていません。");
@@ -94,7 +94,7 @@ public class DynamicBone : MonoBehaviour
 	public bool SerializeWriteCollider(BinaryWriter f_bw, string f_strFileName)
 	public bool SerializeWriteCollider(BinaryWriter f_bw, string f_strFileName)
 	{
 	{
 		f_bw.Write("CM3D21_COL");
 		f_bw.Write("CM3D21_COL");
-		f_bw.Write(1160);
+		f_bw.Write(1170);
 		if (this.m_Colliders == null || this.m_Colliders.Count == 0)
 		if (this.m_Colliders == null || this.m_Colliders.Count == 0)
 		{
 		{
 			NDebug.MessageBox("エラー", "×物理Collidersは空です。");
 			NDebug.MessageBox("エラー", "×物理Collidersは空です。");
@@ -110,7 +110,7 @@ public class DynamicBone : MonoBehaviour
 			else
 			else
 			{
 			{
 				f_bw.Write(this.m_Colliders[i].TypeName);
 				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;
 		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)
 	public bool SerializeWrite(BinaryWriter f_bw)
 	{
 	{
 		f_bw.Write("CM3D21_PSK");
 		f_bw.Write("CM3D21_PSK");
-		f_bw.Write(1160);
+		f_bw.Write(1170);
 		f_bw.Write(this.m_fPanierRadius);
 		f_bw.Write(this.m_fPanierRadius);
 		this.SerializeWriteAnimationCurve(f_bw, this.m_PanierRadiusDistrib);
 		this.SerializeWriteAnimationCurve(f_bw, this.m_PanierRadiusDistrib);
 		int num = (this.m_PanierRadiusDistribGroup == null) ? 0 : this.m_PanierRadiusDistribGroup.Length;
 		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 + 1] = transform13.position.y;
 			this.m_aryPanierBonePos[3 * num28 + 2] = transform13.position.z;
 			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++)
 		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++)
 		for (int num30 = 0; num30 < this.m_nBodyCapsuleCount; num30++)
 		{
 		{
@@ -1000,8 +1065,8 @@ public class DynamicSkirtBone : MonoBehaviour
 			{
 			{
 				int num34 = num31 + num33 * this.m_nHookBoneCount;
 				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]);
 				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)
 				if (num33 < num32 - 1)
 				{
 				{
 					int num35 = num31 + (num33 + 1) * this.m_nHookBoneCount;
 					int num35 = num31 + (num33 + 1) * this.m_nHookBoneCount;
@@ -1011,11 +1076,11 @@ public class DynamicSkirtBone : MonoBehaviour
 					Vector3 vector19 = Vector3.Cross(lhs, vector18);
 					Vector3 vector19 = Vector3.Cross(lhs, vector18);
 					Quaternion rotation = Quaternion.AngleAxis(-90f, vector19);
 					Quaternion rotation = Quaternion.AngleAxis(-90f, vector19);
 					vector18 = rotation * vector18;
 					vector18 = rotation * vector18;
-					transform15.rotation = Quaternion.LookRotation(vector19, vector18);
+					transform17.rotation = Quaternion.LookRotation(vector19, vector18);
 				}
 				}
 				if (this.m_bOldBone && this.m_bPanierOldBoneRotRev[num34])
 				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 Plane[] m_aryLegSegPlane;
 
 
+	private int m_nGrabIdxLeft = -1;
+
+	private int m_nGrabIdxRight = -1;
+
+	private Vector3 m_vGrabPos = Vector3.zero;
+
+	private float m_grabDistance;
+
 	[Serializable]
 	[Serializable]
 	public class PanierRadiusGroup
 	public class PanierRadiusGroup
 	{
 	{

+ 1 - 1
Assembly-CSharp/EditMod.cs

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

+ 1 - 1
Assembly-CSharp/ExChangeUI.cs

@@ -18,7 +18,7 @@ public class ExChangeUI : MonoBehaviour
 	private void Awake()
 	private void Awake()
 	{
 	{
 		ExChangeUI.Instance = this;
 		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;
 			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 System;
+using I2.Loc;
 using UnityEngine;
 using UnityEngine;
 
 
 public class FFNameDialog : MonoBehaviour
 public class FFNameDialog : MonoBehaviour
@@ -66,6 +67,14 @@ public class FFNameDialog : MonoBehaviour
 		this.m_bDecided = false;
 		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)
 	public void UpdateAlpha(float f_fNewValue)
 	{
 	{
 		this.m_uiPanel.alpha = 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>();
 			List<byte> prefixBytes = new List<byte>();
 			byte b = 0;
 			byte b = 0;
 			Action f = null;
 			Action f = null;
-			f = delegate
+			f = delegate()
 			{
 			{
 				b = (byte)(value & 127);
 				b = (byte)(value & 127);
 				value >>= 7;
 				value >>= 7;

+ 1 - 1
Assembly-CSharp/FacilityManager.cs

@@ -657,7 +657,7 @@ public class FacilityManager : MonoBehaviour
 		Stopwatch stopwatch = new Stopwatch();
 		Stopwatch stopwatch = new Stopwatch();
 		stopwatch.Start();
 		stopwatch.Start();
 		brWrite.Write("CM3D21_FACILITY_MGR");
 		brWrite.Write("CM3D21_FACILITY_MGR");
-		brWrite.Write(1160);
+		brWrite.Write(1170);
 		brWrite.Write("5");
 		brWrite.Write("5");
 		int num = 0;
 		int num = 0;
 		for (int i = 0; i < this.m_FacilityArray.Count; i++)
 		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;
 					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)
 	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);
 		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))
 		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>();
 			Toggle componentInChildren = trans.GetComponentInChildren<Toggle>();
 			Text componentInChildren2 = trans.GetComponentInChildren<Text>();
 			Text componentInChildren2 = trans.GetComponentInChildren<Text>();
 			componentInChildren2.text = powerUpRecipe.name;
 			componentInChildren2.text = powerUpRecipe.name;
@@ -31,14 +34,14 @@ public class FacilityUIPowerUpList : MonoBehaviour
 				{
 				{
 					return;
 					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)
 			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)
 	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.m_uGUIListViewer.parentItemArea.gameObject.SetActive(true);
 		this.DeleteDropdown();
 		this.DeleteDropdown();
 		Facility.PowerUpRecipe facilityPowerUpRecipe = FacilityDataTable.GetFacilityPowerUpRecipe(id);
 		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>();
 			Dropdown componentInChildren = trans.GetComponentInChildren<Dropdown>();
 			Text[] componentsInChildren = trans.GetComponentsInChildren<Text>();
 			Text[] componentsInChildren = trans.GetComponentsInChildren<Text>();
 			FacilityUIPowerUpMaterialList.DropdownPowerUpMaterial dropdownPowerUpMaterial = trans.gameObject.AddComponent<FacilityUIPowerUpMaterialList.DropdownPowerUpMaterial>();
 			FacilityUIPowerUpMaterialList.DropdownPowerUpMaterial dropdownPowerUpMaterial = trans.gameObject.AddComponent<FacilityUIPowerUpMaterialList.DropdownPowerUpMaterial>();
@@ -40,13 +42,13 @@ public class FacilityUIPowerUpMaterialList : MonoBehaviour
 			componentsInChildren[0].text = facilityPowerUpMaterialCategoryName;
 			componentsInChildren[0].text = facilityPowerUpMaterialCategoryName;
 			componentsInChildren[1].text = string.Format("CATEGORY{0}", i + 1);
 			componentsInChildren[1].text = string.Format("CATEGORY{0}", i + 1);
 			componentInChildren.ClearOptions();
 			componentInChildren.ClearOptions();
-			Facility.PowerUpMaterial[] materialArray = this.FacilityMgr.GetFacilityPowerUpItemEnableArray(num);
+			Facility.PowerUpMaterial[] materialArray = <SetupFacilityPowerUpMaterialListDropDown>c__AnonStorey.$this.FacilityMgr.GetFacilityPowerUpItemEnableArray(num);
 			if (materialArray.Length > 0)
 			if (materialArray.Length > 0)
 			{
 			{
 				for (int j = 0; j < materialArray.Length; j++)
 				for (int j = 0; j < materialArray.Length; j++)
 				{
 				{
 					componentInChildren.options.Add(new Dropdown.OptionData(materialArray[j].name));
 					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;
 						dropdownPowerUpMaterial.materialID = materialArray[j].id;
 						componentInChildren.value = j;
 						componentInChildren.value = j;
@@ -75,7 +77,7 @@ public class FacilityUIPowerUpMaterialList : MonoBehaviour
 			componentInChildren.onValueChanged.AddListener(delegate(int value)
 			componentInChildren.onValueChanged.AddListener(delegate(int value)
 			{
 			{
 				dropdownPowerUpMaterial.materialID = materialArray[value].id;
 				dropdownPowerUpMaterial.materialID = materialArray[value].id;
-				this.OnUpdateDropdownParams();
+				<SetupFacilityPowerUpMaterialListDropDown>c__AnonStorey.OnUpdateDropdownParams();
 			});
 			});
 			if (i == 0)
 			if (i == 0)
 			{
 			{

+ 1 - 1
Assembly-CSharp/FluctuationOfParameterUnit.cs

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

+ 5 - 3
Assembly-CSharp/GameMain.cs

@@ -6,6 +6,7 @@ using System.Globalization;
 using System.IO;
 using System.IO;
 using System.Linq;
 using System.Linq;
 using System.Threading;
 using System.Threading;
+using I2.Loc;
 using Kasizuki;
 using Kasizuki;
 using MaidStatus;
 using MaidStatus;
 using Schedule;
 using Schedule;
@@ -328,6 +329,7 @@ public class GameMain : MonoSingleton<GameMain>
 			}
 			}
 		}
 		}
 		UnityEngine.Debug.Log("TestSingleton#OnInitialize");
 		UnityEngine.Debug.Log("TestSingleton#OnInitialize");
+		LocalizationManager.CurrentLanguage = "Japanese";
 		Thread.CurrentThread.CurrentCulture = new CultureInfo("ja-JP");
 		Thread.CurrentThread.CurrentCulture = new CultureInfo("ja-JP");
 		UnityEngine.Debug.Log(SystemInfo.operatingSystem);
 		UnityEngine.Debug.Log(SystemInfo.operatingSystem);
 		UnityEngine.Debug.Log(string.Concat(new object[]
 		UnityEngine.Debug.Log(string.Concat(new object[]
@@ -666,7 +668,7 @@ public class GameMain : MonoSingleton<GameMain>
 		serializeHeader.nMaidNum = this.m_CharacterMgr.GetStockMaidCount();
 		serializeHeader.nMaidNum = this.m_CharacterMgr.GetStockMaidCount();
 		serializeHeader.strComment = f_strComment;
 		serializeHeader.strComment = f_strComment;
 		binaryWriter.Write("COM3D2_SAVE");
 		binaryWriter.Write("COM3D2_SAVE");
-		binaryWriter.Write(1160);
+		binaryWriter.Write(1170);
 		this.SerializeWriteHeader(binaryWriter, serializeHeader);
 		this.SerializeWriteHeader(binaryWriter, serializeHeader);
 		binaryWriter.Write("bookmark_kk_01");
 		binaryWriter.Write("bookmark_kk_01");
 		GameMain.BinaryBookmark binaryBookmark = new GameMain.BinaryBookmark(binaryWriter);
 		GameMain.BinaryBookmark binaryBookmark = new GameMain.BinaryBookmark(binaryWriter);
@@ -780,7 +782,7 @@ public class GameMain : MonoSingleton<GameMain>
 		MemoryStream memoryStream = new MemoryStream();
 		MemoryStream memoryStream = new MemoryStream();
 		BinaryWriter binaryWriter = new BinaryWriter(memoryStream);
 		BinaryWriter binaryWriter = new BinaryWriter(memoryStream);
 		binaryWriter.Write("COM3D2_SAVE");
 		binaryWriter.Write("COM3D2_SAVE");
-		binaryWriter.Write(1160);
+		binaryWriter.Write(1170);
 		this.SerializeWriteHeader(binaryWriter, saveDataHeader);
 		this.SerializeWriteHeader(binaryWriter, saveDataHeader);
 		binaryWriter.Write(array, (int)saveDataHeader.lHeaderSize, (int)((long)array.Length - saveDataHeader.lHeaderSize));
 		binaryWriter.Write(array, (int)saveDataHeader.lHeaderSize, (int)((long)array.Length - saveDataHeader.lHeaderSize));
 		File.WriteAllBytes(path, memoryStream.ToArray());
 		File.WriteAllBytes(path, memoryStream.ToArray());
@@ -1286,7 +1288,7 @@ public class GameMain : MonoSingleton<GameMain>
 		}
 		}
 		else
 		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));
 		}
 		}
 	}
 	}
 
 

+ 2 - 2
Assembly-CSharp/GameUty.cs

@@ -912,14 +912,14 @@ public class GameUty
 
 
 	public static string GetBuildVersionText()
 	public static string GetBuildVersionText()
 	{
 	{
-		int num = 1160;
+		int num = 1170;
 		return (num >= 1000) ? ((float)num / 1000f).ToString("F2") : ((float)num / 100f).ToString("F2");
 		return (num >= 1000) ? ((float)num / 1000f).ToString("F2") : ((float)num / 100f).ToString("F2");
 	}
 	}
 
 
 	public static string GetGameVersionText()
 	public static string GetGameVersionText()
 	{
 	{
 		string text = "COM3D2x64.exe";
 		string text = "COM3D2x64.exe";
-		int num = 1160;
+		int num = 1170;
 		string path = Path.GetFullPath(".\\") + "update.lst";
 		string path = Path.GetFullPath(".\\") + "update.lst";
 		string[] array = new string[0];
 		string[] array = new string[0];
 		if (File.Exists(path))
 		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(!string.IsNullOrEmpty(gravityData.categoryName), "GravityControlWindow 初期化エラーcategoryNameが不正です");
 			NDebug.Assert(0 < gravityData.slotIds.Length, "GravityControlWindow 初期化エラーslotIdsが不正です");
 			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++)
 				for (int j = 0; j < this.gravityDatas.Length; j++)
 				{
 				{

+ 22 - 1
Assembly-CSharp/HairLongWindow.cs

@@ -1,5 +1,6 @@
 using System;
 using System;
 using System.Collections.Generic;
 using System.Collections.Generic;
+using I2.Loc;
 using UnityEngine;
 using UnityEngine;
 
 
 public class HairLongWindow : BasePhotoWindow
 public class HairLongWindow : BasePhotoWindow
@@ -98,7 +99,27 @@ public class HairLongWindow : BasePhotoWindow
 			this.slider.MaxNum = 100f;
 			this.slider.MaxNum = 100f;
 			this.slider.ResetNum = 50f;
 			this.slider.ResetNum = 50f;
 			this.slider.onChangeValue.Add(new Action<float>(this.OnChangeValue));
 			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);
 			this.slider.value = (this.m_fBackValue = this.hl.GetLengthRate() * 100f);
 		}
 		}
 
 

+ 3 - 3
Assembly-CSharp/HandSignShortcut.cs

@@ -363,9 +363,9 @@ public class HandSignShortcut : MonoBehaviour
 		}
 		}
 	}
 	}
 
 
+	// Note: this type is marked as 'beforefieldinit'.
 	static HandSignShortcut()
 	static HandSignShortcut()
 	{
 	{
-		// Note: this type is marked as 'beforefieldinit'.
 		Quaternion[,] array = new Quaternion[4, 15];
 		Quaternion[,] array = new Quaternion[4, 15];
 		array[0, 0] = new Quaternion(1.379457E-08f, -1.907173E-10f, -0.1001217f, 0.9949752f);
 		array[0, 0] = new Quaternion(1.379457E-08f, -1.907173E-10f, -0.1001217f, 0.9949752f);
 		array[0, 1] = new Quaternion(-3.348364E-08f, -2.288052E-09f, -0.05697599f, 0.9983756f);
 		array[0, 1] = new Quaternion(-3.348364E-08f, -2.288052E-09f, -0.05697599f, 0.9983756f);
@@ -494,7 +494,7 @@ public class HandSignShortcut : MonoBehaviour
 	{
 	{
 		public void OnBeforeSerialize()
 		public void OnBeforeSerialize()
 		{
 		{
-			this.m_nVersion = 1160;
+			this.m_nVersion = 1170;
 		}
 		}
 
 
 		public void OnAfterDeserialize()
 		public void OnAfterDeserialize()
@@ -803,7 +803,7 @@ public class HandSignShortcut : MonoBehaviour
 		private const string CONF_NAME = "MaidFingerDataList.json";
 		private const string CONF_NAME = "MaidFingerDataList.json";
 
 
 		[SerializeField]
 		[SerializeField]
-		private int m_nVersion = 1160;
+		private int m_nVersion = 1170;
 
 
 		[SerializeField]
 		[SerializeField]
 		private List<HandSignShortcut.MaidFingerData> MaidFingerDataList = new List<HandSignShortcut.MaidFingerData>();
 		private List<HandSignShortcut.MaidFingerData> MaidFingerDataList = new List<HandSignShortcut.MaidFingerData>();

+ 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;
 using System.Collections;
 using System.Collections;
 using System.Collections.Generic;
 using System.Collections.Generic;
+using System.Diagnostics;
 using System.Linq;
 using System.Linq;
 using System.Text;
 using System.Text;
 using UnityEngine;
 using UnityEngine;
@@ -679,6 +680,7 @@ namespace I2.Loc
 			}
 			}
 		}
 		}
 
 
+		[DebuggerBrowsable(DebuggerBrowsableState.Never)]
 		public event Action<LanguageSource, bool, string> Event_OnSourceUpdateFromGoogle;
 		public event Action<LanguageSource, bool, string> Event_OnSourceUpdateFromGoogle;
 
 
 		public static void FreeUnusedLanguages()
 		public static void FreeUnusedLanguages()
@@ -836,7 +838,7 @@ namespace I2.Loc
 				{
 				{
 					if (!flag)
 					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;
 					yield break;
 				}
 				}
@@ -850,7 +852,7 @@ namespace I2.Loc
 							this.Event_OnSourceUpdateFromGoogle(this, true, www.error);
 							this.Event_OnSourceUpdateFromGoogle(this, true, www.error);
 						}
 						}
 						LocalizationManager.LocalizeAll(true);
 						LocalizationManager.LocalizeAll(true);
-						Debug.Log("Done Google Sync");
+						UnityEngine.Debug.Log("Done Google Sync");
 					}
 					}
 					else
 					else
 					{
 					{
@@ -858,7 +860,7 @@ namespace I2.Loc
 						{
 						{
 							this.Event_OnSourceUpdateFromGoogle(this, false, www.error);
 							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;
 					yield break;
 				}
 				}
@@ -867,7 +869,7 @@ namespace I2.Loc
 			{
 			{
 				this.Event_OnSourceUpdateFromGoogle(this, false, www.error);
 				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;
 			yield break;
 		}
 		}
 
 
@@ -972,7 +974,7 @@ namespace I2.Loc
 			}
 			}
 			catch (Exception ex)
 			catch (Exception ex)
 			{
 			{
-				Debug.LogWarning(ex);
+				UnityEngine.Debug.LogWarning(ex);
 				result = ex.ToString();
 				result = ex.ToString();
 			}
 			}
 			return result;
 			return result;

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

@@ -1,6 +1,7 @@
 using System;
 using System;
 using System.Collections;
 using System.Collections;
 using System.Collections.Generic;
 using System.Collections.Generic;
+using System.Diagnostics;
 using System.Globalization;
 using System.Globalization;
 using System.Linq;
 using System.Linq;
 using System.Text.RegularExpressions;
 using System.Text.RegularExpressions;
@@ -819,6 +820,7 @@ namespace I2.Loc
 			LocalizationManager.mLocalizeTargets.Add(desc);
 			LocalizationManager.mLocalizeTargets.Add(desc);
 		}
 		}
 
 
+		[DebuggerBrowsable(DebuggerBrowsableState.Never)]
 		public static event LocalizationManager.OnLocalizeCallback OnLocalizeEvent;
 		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)
 		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);
 					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;
 				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;
-	}
-}

A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 1093 - 0
Assembly-CSharp/IKCtrlData.cs


+ 122 - 281
Assembly-CSharp/IKManager.cs

@@ -14,285 +14,121 @@ public class IKManager : MonoBehaviour
 			return null;
 			return null;
 		}
 		}
 		NDebug.Assert(maid.body0 != null, "[body0] it does not end load.");
 		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()
 	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_ = IKManager.CreateIKDragPoint(this.GetBone(IKManager.BoneType.Root), this.maid);
 		this.root_drag_point_.PositonCorrectionEnabled = false;
 		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_.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();
 			this.HistoryPush();
 		};
 		};
@@ -874,7 +710,12 @@ public class IKManager : MonoBehaviour
 		Toe1_Root_L,
 		Toe1_Root_L,
 		Toe1_0_L,
 		Toe1_0_L,
 		Toe2_Root_L,
 		Toe2_Root_L,
-		Toe2_0_L
+		Toe2_0_L,
+		Mouth,
+		Bust_L_Sub,
+		Bust_R_Sub,
+		Nipple_L,
+		Nipple_R
 	}
 	}
 
 
 	public enum BoneSetType
 	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 System;
+using I2.Loc;
 using UnityEngine;
 using UnityEngine;
 
 
 public class ItemInfoWnd : MonoBehaviour
 public class ItemInfoWnd : MonoBehaviour
@@ -35,9 +36,10 @@ public class ItemInfoWnd : MonoBehaviour
 		{
 		{
 			this.m_uiInfo.text = string.Concat(new object[]
 			this.m_uiInfo.text = string.Concat(new object[]
 			{
 			{
-				"全",
+				LocalizationManager.GetTranslation("SceneEdit/インフォ文/全", true, 0, true, false, null, null),
 				group_num,
 				group_num,
-				"種\n",
+				LocalizationManager.GetTranslation("SceneEdit/インフォ文/種", true, 0, true, false, null, null),
+				"\n",
 				f_strInfo
 				f_strInfo
 			});
 			});
 		}
 		}

+ 25 - 9
Assembly-CSharp/KaraokeDataManager.cs

@@ -245,19 +245,35 @@ public class KaraokeDataManager : MonoBehaviour
 
 
 	public static void GetMaidListKaraoke(List<Maid> draw_list)
 	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>();
 		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)
 			if (maid.status.heroineType != HeroineType.Sub)
 			{
 			{
-				list.Add(maid);
+				if (list.Contains(maid.status.personal.uniqueName))
+				{
+					list2.Add(maid);
+				}
 			}
 			}
 		}
 		}
 		draw_list.Clear();
 		draw_list.Clear();
-		draw_list.AddRange(list);
+		draw_list.AddRange(list2);
 	}
 	}
 
 
 	private void Awake()
 	private void Awake()
@@ -499,7 +515,7 @@ public class KaraokeDataManager : MonoBehaviour
 	public void ButtonExit()
 	public void ButtonExit()
 	{
 	{
 		UICanvasFade mainMenu = this.m_CanvasKaraokeMainMenu;
 		UICanvasFade mainMenu = this.m_CanvasKaraokeMainMenu;
-		mainMenu.FadeOut(mainMenu.fadeTime, mainMenu.isTimeScaling, delegate
+		mainMenu.FadeOut(mainMenu.fadeTime, mainMenu.isTimeScaling, delegate()
 		{
 		{
 			VRDialogMenu dialog = VRDialogMenu.CreateDialog();
 			VRDialogMenu dialog = VRDialogMenu.CreateDialog();
 			if (dialog)
 			if (dialog)
@@ -648,7 +664,7 @@ public class KaraokeDataManager : MonoBehaviour
 	public void ButtonEventOpenVRConfig()
 	public void ButtonEventOpenVRConfig()
 	{
 	{
 		UICanvasFade canvasKaraokeMainMenu = this.m_CanvasKaraokeMainMenu;
 		UICanvasFade canvasKaraokeMainMenu = this.m_CanvasKaraokeMainMenu;
-		canvasKaraokeMainMenu.FadeOut(canvasKaraokeMainMenu.fadeTime, canvasKaraokeMainMenu.isTimeScaling, delegate
+		canvasKaraokeMainMenu.FadeOut(canvasKaraokeMainMenu.fadeTime, canvasKaraokeMainMenu.isTimeScaling, delegate()
 		{
 		{
 			this.m_CanvasVRConfig.FadeIn();
 			this.m_CanvasVRConfig.FadeIn();
 		});
 		});
@@ -657,7 +673,7 @@ public class KaraokeDataManager : MonoBehaviour
 	public void ButtonEventOpenKaraokeMainMenu()
 	public void ButtonEventOpenKaraokeMainMenu()
 	{
 	{
 		UICanvasFade canvasVRConfig = this.m_CanvasVRConfig;
 		UICanvasFade canvasVRConfig = this.m_CanvasVRConfig;
-		canvasVRConfig.FadeOut(canvasVRConfig.fadeTime, canvasVRConfig.isTimeScaling, delegate
+		canvasVRConfig.FadeOut(canvasVRConfig.fadeTime, canvasVRConfig.isTimeScaling, delegate()
 		{
 		{
 			this.m_CanvasKaraokeMainMenu.FadeIn();
 			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);
 		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>();
 			UIButton uiButton = trans.GetComponent<UIButton>();
 			if (uiButton)
 			if (uiButton)
 			{
 			{
-				EventDelegate.Add(uiButton.onClick, delegate
+				EventDelegate.Add(uiButton.onClick, delegate()
 				{
 				{
 					this.OnClickItem(uiButton, data);
 					this.OnClickItem(uiButton, data);
 				});
 				});

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

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

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

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

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

@@ -23,18 +23,20 @@ namespace Kasizuki
 
 
 		private void SetUpManList()
 		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();
 			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>();
 			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>();
 				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>();
 			UIGrid component2 = component.parentItemArea.GetComponent<UIGrid>();
 			if (component2)
 			if (component2)

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

@@ -618,7 +618,23 @@ namespace Kasizuki
 			{
 			{
 				return this.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F本編, false);
 				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);
 				NDebug.Assert("[KasizukiManager.GetMaidLikability] 男種類に不正な値が入りました", false);
 				Debug.LogErrorFormat("[KasizukiManager.GetMaidLikability] 男種類に不正な値が入りました\n男種類.{0}", new object[]
 				Debug.LogErrorFormat("[KasizukiManager.GetMaidLikability] 男種類に不正な値が入りました\n男種類.{0}", new object[]
@@ -627,7 +643,7 @@ namespace Kasizuki
 				});
 				});
 				return -1;
 				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)
 		public bool TryGetMaidData<T>(Maid maid, string valueName, out T value)
@@ -788,7 +804,7 @@ namespace Kasizuki
 		public void Serialize(BinaryWriter bw)
 		public void Serialize(BinaryWriter bw)
 		{
 		{
 			bw.Write("COM3D2_KASIZUKI");
 			bw.Write("COM3D2_KASIZUKI");
-			bw.Write(1160);
+			bw.Write(1170);
 			this.SerializeOriginHeader(bw);
 			this.SerializeOriginHeader(bw);
 			foreach (KeyValuePair<int, KasizukiManager.SaveData> keyValuePair in this.m_SaveDataArray)
 			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)
 		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>();
 			ListViewerWindow component = this.m_WindowRoomList.GetComponent<ListViewerWindow>();
 			component.Show<RoomData.Data, UIWFTabButton>(roomDataList, delegate(int index, RoomData.Data data, UIWFTabButton item)
 			component.Show<RoomData.Data, UIWFTabButton>(roomDataList, delegate(int index, RoomData.Data data, UIWFTabButton item)
 			{
 			{
 				UILabel componentInChildren = item.GetComponentInChildren<UILabel>();
 				UILabel componentInChildren = item.GetComponentInChildren<UILabel>();
 				componentInChildren.text = data.drawName;
 				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);
 					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)
 		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>();
 			ListViewerWindow component = this.m_WindowManList.GetComponent<ListViewerWindow>();
 			component.Show<ManData.Data, UIWFTabButton>(manDataList, delegate(int index, ManData.Data data, UIWFTabButton item)
 			component.Show<ManData.Data, UIWFTabButton>(manDataList, delegate(int index, ManData.Data data, UIWFTabButton item)
 			{
 			{
 				UILabel componentInChildren = item.GetComponentInChildren<UILabel>();
 				UILabel componentInChildren = item.GetComponentInChildren<UILabel>();
 				componentInChildren.text = data.drawName;
 				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);
 					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>();
 			UIWFTabPanel component2 = component.viewer.parentItemArea.GetComponent<UIWFTabPanel>();
@@ -154,32 +161,35 @@ namespace Kasizuki
 
 
 		public void OpenPlayList(List<PlayData.Data> playDataList, PlayData.Data selectingData = null)
 		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>();
 			ListViewerWindow component = this.m_WindowPlayList.GetComponent<ListViewerWindow>();
 			component.Show<PlayData.Data, UIWFTabButton>(playDataList, delegate(int index, PlayData.Data data, UIWFTabButton item)
 			component.Show<PlayData.Data, UIWFTabButton>(playDataList, delegate(int index, PlayData.Data data, UIWFTabButton item)
 			{
 			{
 				UILabel componentInChildren = item.GetComponentInChildren<UILabel>();
 				UILabel componentInChildren = item.GetComponentInChildren<UILabel>();
 				componentInChildren.text = data.drawName;
 				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);
 					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");
 			this.m_CacheSaveObjects.CacheChildObject<Component>(base.gameObject, "TitleGroup/TitleSave", "SavePanel");
 			UIButton childObject = this.m_CacheSaveObjects.GetChildObject<UIButton>(base.gameObject, "DisplayButtonGroup/DisplayLoad");
 			UIButton childObject = this.m_CacheSaveObjects.GetChildObject<UIButton>(base.gameObject, "DisplayButtonGroup/DisplayLoad");
 			this.m_CacheSaveObjects.AddCache<UIButton>("LoadButton", childObject);
 			this.m_CacheSaveObjects.AddCache<UIButton>("LoadButton", childObject);
-			EventDelegate.Add(childObject.onClick, delegate
+			EventDelegate.Add(childObject.onClick, delegate()
 			{
 			{
 				this.Open(SaveAndLoadMgr.ViewType.Load, true);
 				this.Open(SaveAndLoadMgr.ViewType.Load, true);
 			});
 			});
@@ -38,7 +38,7 @@ namespace Kasizuki
 			this.m_CacheLoadObjects.CacheChildObject<Component>(base.gameObject, "TitleGroup/TitleLoad", "LoadPanel");
 			this.m_CacheLoadObjects.CacheChildObject<Component>(base.gameObject, "TitleGroup/TitleLoad", "LoadPanel");
 			UIButton childObject = this.m_CacheLoadObjects.GetChildObject<UIButton>(base.gameObject, "DisplayButtonGroup/DisplaySave");
 			UIButton childObject = this.m_CacheLoadObjects.GetChildObject<UIButton>(base.gameObject, "DisplayButtonGroup/DisplaySave");
 			this.m_CacheLoadObjects.AddCache<UIButton>("SaveButton", childObject);
 			this.m_CacheLoadObjects.AddCache<UIButton>("SaveButton", childObject);
-			EventDelegate.Add(childObject.onClick, delegate
+			EventDelegate.Add(childObject.onClick, delegate()
 			{
 			{
 				this.Open(SaveAndLoadMgr.ViewType.Save, true);
 				this.Open(SaveAndLoadMgr.ViewType.Save, true);
 			});
 			});
@@ -65,7 +65,7 @@ namespace Kasizuki
 				buttonPage.btnPageNo = button;
 				buttonPage.btnPageNo = button;
 				buttonPage.selectCursor = button.transform.Find("SelectCursor").gameObject;
 				buttonPage.selectCursor = button.transform.Find("SelectCursor").gameObject;
 				this.m_PageButtonDic.Add(buttonPage.pageNo, buttonPage);
 				this.m_PageButtonDic.Add(buttonPage.pageNo, buttonPage);
-				EventDelegate.Add(button.onClick, delegate
+				EventDelegate.Add(button.onClick, delegate()
 				{
 				{
 					this.OnClickPageButton(buttonPage.pageNo);
 					this.OnClickPageButton(buttonPage.pageNo);
 				});
 				});
@@ -81,20 +81,20 @@ namespace Kasizuki
 				UIButton component = dataUnit.GetComponent<UIButton>();
 				UIButton component = dataUnit.GetComponent<UIButton>();
 				if (index == 0)
 				if (index == 0)
 				{
 				{
-					EventDelegate.Add(component.onClick, delegate
+					EventDelegate.Add(component.onClick, delegate()
 					{
 					{
 						this.OnClickNewGameUnit(dataUnit);
 						this.OnClickNewGameUnit(dataUnit);
 					});
 					});
 				}
 				}
 				else
 				else
 				{
 				{
-					EventDelegate.Add(component.onClick, delegate
+					EventDelegate.Add(component.onClick, delegate()
 					{
 					{
 						this.OnClickDataUnit(dataUnit);
 						this.OnClickDataUnit(dataUnit);
 					});
 					});
 				}
 				}
 				UIInput inputComment = dataUnit.inputComment;
 				UIInput inputComment = dataUnit.inputComment;
-				EventDelegate.Add(inputComment.onChange, delegate
+				EventDelegate.Add(inputComment.onChange, delegate()
 				{
 				{
 					this.OnChangeDataUnitComment(dataUnit);
 					this.OnChangeDataUnitComment(dataUnit);
 				});
 				});

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

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

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

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

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

@@ -53,7 +53,35 @@ namespace Kasizuki
 				ManDataType manType = data.manType;
 				ManDataType manType = data.manType;
 				if (manType != ManDataType.主人公)
 				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);
 						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");
 			base.CacheChildObject<UILabel>("WorkCount/Value", "WorkCount");
 			MaidAppealComment maidAppealComment = base.CacheChildObject<MaidAppealComment>("AppealComment", "Appeal");
 			MaidAppealComment maidAppealComment = base.CacheChildObject<MaidAppealComment>("AppealComment", "Appeal");
 			MaidAppealComment maidAppealComment2 = maidAppealComment;
 			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);
 				this.ChangeMaidAppeal(1);
 			}));
 			}));
 			MaidAppealComment maidAppealComment3 = maidAppealComment;
 			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);
 				this.ChangeMaidAppeal(-1);
 			}));
 			}));

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

@@ -84,6 +84,21 @@ namespace Kasizuki
 			return list;
 			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()
 		public static void CreateData()
 		{
 		{
 			if (ManData.commonIdManager != null)
 			if (ManData.commonIdManager != null)

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

@@ -5,6 +5,10 @@ namespace Kasizuki
 	public enum ManDataType
 	public enum ManDataType
 	{
 	{
 		主人公 = 10,
 		主人公 = 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.OnOpen();
 			}
 			}
 			this.SetRaycastBlockerActive(true);
 			this.SetRaycastBlockerActive(true);
-			this.tweenAlpha.SetOnFinished(delegate
+			this.tweenAlpha.SetOnFinished(delegate()
 			{
 			{
 				if (callback != null)
 				if (callback != null)
 				{
 				{
@@ -41,7 +41,7 @@ namespace Kasizuki
 			{
 			{
 				return;
 				return;
 			}
 			}
-			callback = (Action)Delegate.Combine(callback, new Action(delegate
+			callback = (Action)Delegate.Combine(callback, new Action(delegate()
 			{
 			{
 				this.gameObject.SetActive(false);
 				this.gameObject.SetActive(false);
 				if (this.OnClose != null)
 				if (this.OnClose != null)
@@ -50,7 +50,7 @@ namespace Kasizuki
 				}
 				}
 			}));
 			}));
 			this.SetRaycastBlockerActive(true);
 			this.SetRaycastBlockerActive(true);
-			this.tweenAlpha.SetOnFinished(delegate
+			this.tweenAlpha.SetOnFinished(delegate()
 			{
 			{
 				if (callback != null)
 				if (callback != null)
 				{
 				{

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

@@ -246,7 +246,7 @@ namespace Kasizuki
 						this.drawName = csv.GetCellAsString(cell_x++, i);
 						this.drawName = csv.GetCellAsString(cell_x++, i);
 						this.strDescription = csv.GetCellAsString(cell_x++, i);
 						this.strDescription = csv.GetCellAsString(cell_x++, i);
 						List<string> list = new List<string>();
 						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);
 							string cellAsString2 = csv.GetCellAsString(cell_x++, i);
 							if (!string.IsNullOrEmpty(cellAsString2))
 							if (!string.IsNullOrEmpty(cellAsString2))
@@ -305,12 +305,26 @@ namespace Kasizuki
 							','
 							','
 						}));
 						}));
 						this.roomID = RoomData.GetData(cellAsString).ID;
 						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>();
 						Dictionary<ManDataType, bool> dictionary = new Dictionary<ManDataType, bool>();
 						int num = Enum.GetNames(typeof(ManDataType)).Length;
 						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) == "○");
 							dictionary.Add(manType, csv.GetCellAsString(cell_x++, i) == "○");
 						}
 						}
 						this.enableManTypeDic = new ReadOnlyDictionary<ManDataType, bool>(dictionary);
 						this.enableManTypeDic = new ReadOnlyDictionary<ManDataType, bool>(dictionary);
@@ -342,7 +356,7 @@ namespace Kasizuki
 
 
 			public bool IsCorrectMaid(Maid maid, ManDataType manType)
 			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)
 			public bool IsCorrectParameter(Maid maid)
@@ -428,6 +442,22 @@ namespace Kasizuki
 				return this.relationEnableDic.ContainsKey(relation);
 				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)
 			public List<Maid> GetFilteringPlayDataMaidArray(ManDataType manType)
 			{
 			{
 				CharacterMgr characterMgr = GameMain.Instance.CharacterMgr;
 				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;
 			public readonly int ID;
 
 
@@ -502,6 +532,8 @@ namespace Kasizuki
 
 
 			public readonly Dictionary<Relation, bool> relationEnableDic;
 			public readonly Dictionary<Relation, bool> relationEnableDic;
 
 
+			public readonly string[] strEnablePersonalArray;
+
 			public readonly ReadOnlyDictionary<ManDataType, bool> enableManTypeDic;
 			public readonly ReadOnlyDictionary<ManDataType, bool> enableManTypeDic;
 		}
 		}
 	}
 	}

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

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

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

@@ -127,8 +127,8 @@ namespace Leap.Unity
 			yield return new WaitForSeconds(2f);
 			yield return new WaitForSeconds(2f);
 			this._provider.GetLeapController().Config.Get<int>("images_mode", delegate(int enabled)
 			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;
 			yield break;
 		}
 		}
@@ -136,7 +136,7 @@ namespace Leap.Unity
 		private void onController(Controller controller)
 		private void onController(Controller controller)
 		{
 		{
 			controller.DistortionChange += new EventHandler<DistortionEventArgs>(this.onDistortionChange);
 			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)
 				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;
+using System.Diagnostics;
 using UnityEngine;
 using UnityEngine;
 
 
 namespace Leap.Unity
 namespace Leap.Unity
 {
 {
 	public abstract class LeapProvider : MonoBehaviour
 	public abstract class LeapProvider : MonoBehaviour
 	{
 	{
+		[DebuggerBrowsable(DebuggerBrowsableState.Never)]
 		public event Action<Frame> OnUpdateFrame;
 		public event Action<Frame> OnUpdateFrame;
 
 
+		[DebuggerBrowsable(DebuggerBrowsableState.Never)]
 		public event Action<Frame> OnFixedFrame;
 		public event Action<Frame> OnFixedFrame;
 
 
 		public abstract Frame CurrentFrame { get; }
 		public abstract Frame CurrentFrame { get; }

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

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

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

@@ -1,5 +1,6 @@
 using System;
 using System;
 using System.Collections.Generic;
 using System.Collections.Generic;
+using System.Diagnostics;
 using UnityEngine;
 using UnityEngine;
 using UnityEngine.SceneManagement;
 using UnityEngine.SceneManagement;
 
 
@@ -8,6 +9,7 @@ namespace Leap.Unity.RuntimeGizmos
 	[ExecuteInEditMode]
 	[ExecuteInEditMode]
 	public class RuntimeGizmoManager : MonoBehaviour
 	public class RuntimeGizmoManager : MonoBehaviour
 	{
 	{
+		[DebuggerBrowsable(DebuggerBrowsableState.Never)]
 		public static event Action<RuntimeGizmoDrawer> OnPostRenderGizmos;
 		public static event Action<RuntimeGizmoDrawer> OnPostRenderGizmos;
 
 
 		public static bool TryGetGizmoDrawer(out RuntimeGizmoDrawer drawer)
 		public static bool TryGetGizmoDrawer(out RuntimeGizmoDrawer drawer)
@@ -43,7 +45,7 @@ namespace Leap.Unity.RuntimeGizmos
 				hideFlags = HideFlags.HideAndDontSave
 				hideFlags = HideFlags.HideAndDontSave
 			}.passCount != 4)
 			}.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");
 				this._gizmoShader = Shader.Find("Hidden/Runtime Gizmos");
 			}
 			}
 			if (this._sphereMesh == null)
 			if (this._sphereMesh == null)
@@ -109,7 +111,7 @@ namespace Leap.Unity.RuntimeGizmos
 						}
 						}
 						catch (Exception exception)
 						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.name = target.guid.ToString();
 		gameObject.GetComponentInChildren<UILabel>().text = target.draw_name;
 		gameObject.GetComponentInChildren<UILabel>().text = target.draw_name;
 		UIWFTabButton componentInChildren = gameObject.GetComponentInChildren<UIWFTabButton>();
 		UIWFTabButton componentInChildren = gameObject.GetComponentInChildren<UIWFTabButton>();
-		EventDelegate.Add(componentInChildren.onSelect, delegate
+		EventDelegate.Add(componentInChildren.onSelect, delegate()
 		{
 		{
 			if (!UIWFSelectButton.current.isSelected)
 			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_.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[0], root_trans);
 				this.ik_fabrik_.solver.SetChain(new Transform[]
 				this.ik_fabrik_.solver.SetChain(new Transform[]
@@ -223,7 +223,7 @@ public class LimbControl : MonoBehaviour
 				}, root_trans);
 				}, root_trans);
 				this.ik_fabrik_.solver.target = this.joint_drag_point_.transform;
 				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_fabrik_.solver.SetChain(new Transform[0], root_trans);
 				this.ik_mgr_.HistoryPush();
 				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_.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)
 			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.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_fabrik_.solver.SetChain(new Transform[0], root_trans);
 			this.ik_mgr_.HistoryPush();
 			this.ik_mgr_.HistoryPush();

+ 79 - 115
Assembly-CSharp/Maid.cs

@@ -5,6 +5,7 @@ using System.IO;
 using System.Linq;
 using System.Linq;
 using MaidStatus;
 using MaidStatus;
 using UnityEngine;
 using UnityEngine;
+using XVI.AniLipSync;
 
 
 public class Maid : MonoBehaviour
 public class Maid : MonoBehaviour
 {
 {
@@ -62,6 +63,14 @@ public class Maid : MonoBehaviour
 		}
 		}
 	}
 	}
 
 
+	public FullBodyIKCtrl IKCtrl
+	{
+		get
+		{
+			return this.body0.IKCtrl;
+		}
+	}
+
 	public int ActiveSlotNo
 	public int ActiveSlotNo
 	{
 	{
 		get
 		get
@@ -1205,7 +1214,7 @@ public class Maid : MonoBehaviour
 	public bool SerializeProp(BinaryWriter f_bwWrite)
 	public bool SerializeProp(BinaryWriter f_bwWrite)
 	{
 	{
 		f_bwWrite.Write("CM3D2_MPROP_LIST");
 		f_bwWrite.Write("CM3D2_MPROP_LIST");
-		f_bwWrite.Write(1160);
+		f_bwWrite.Write(1170);
 		f_bwWrite.Write(this.m_dicMaidProp.Count);
 		f_bwWrite.Write(this.m_dicMaidProp.Count);
 		foreach (KeyValuePair<string, MaidProp> keyValuePair in this.m_dicMaidProp)
 		foreach (KeyValuePair<string, MaidProp> keyValuePair in this.m_dicMaidProp)
 		{
 		{
@@ -1237,7 +1246,7 @@ public class Maid : MonoBehaviour
 	public bool SerializeMisc(BinaryWriter f_bwWrite)
 	public bool SerializeMisc(BinaryWriter f_bwWrite)
 	{
 	{
 		f_bwWrite.Write("CM3D2_MAID_MISC");
 		f_bwWrite.Write("CM3D2_MAID_MISC");
-		f_bwWrite.Write(1160);
+		f_bwWrite.Write(1170);
 		f_bwWrite.Write(this.m_nActiveSlotNo);
 		f_bwWrite.Write(this.m_nActiveSlotNo);
 		if (this.m_texIcon != null)
 		if (this.m_texIcon != null)
 		{
 		{
@@ -1262,7 +1271,7 @@ public class Maid : MonoBehaviour
 	public bool SerializeBody(BinaryWriter f_bwWrite)
 	public bool SerializeBody(BinaryWriter f_bwWrite)
 	{
 	{
 		f_bwWrite.Write("CM3D2_MAID_BODY");
 		f_bwWrite.Write("CM3D2_MAID_BODY");
-		f_bwWrite.Write(1160);
+		f_bwWrite.Write(1170);
 		return true;
 		return true;
 	}
 	}
 
 
@@ -1877,8 +1886,8 @@ public class Maid : MonoBehaviour
 			{
 			{
 				this.body0.MuneYureL(1f);
 				this.body0.MuneYureL(1f);
 				this.body0.MuneYureR(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)
 			if (!this.MicLipData.Context)
 			{
 			{
-				this.MicLipData.Context = this.AudioMan.gameObject.AddComponent<OVRLipSyncContext>();
+				this.MicLipData.Context = this.AudioMan.gameObject.AddComponent<LowLatencyLipSyncContext>();
 			}
 			}
 			if (!this.MicLipData.MorphTarget)
 			if (!this.MicLipData.MorphTarget)
 			{
 			{
@@ -1956,148 +1965,103 @@ public class Maid : MonoBehaviour
 		this.m_bFoceKuchipakuSelfUpdateTime = false;
 		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
 		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
 		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;
 			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]
 		[HideInInspector]
 		public bool IsInit = true;
 		public bool IsInit = true;
 
 
-		public OVRLipSyncContext Context;
+		public LowLatencyLipSyncContext Context;
 
 
 		public OVRLipSyncContextMorphTarget MorphTarget;
 		public OVRLipSyncContextMorphTarget MorphTarget;
 
 

+ 1 - 1
Assembly-CSharp/MaidParts.cs

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

+ 6 - 0
Assembly-CSharp/MaidPlate.cs

@@ -1,5 +1,6 @@
 using System;
 using System;
 using System.Collections.Generic;
 using System.Collections.Generic;
+using I2.Loc;
 using MaidStatus;
 using MaidStatus;
 using UnityEngine;
 using UnityEngine;
 using wf;
 using wf;
@@ -141,6 +142,11 @@ public class MaidPlate : MonoBehaviour
 		if (status.heroineType != HeroineType.Sub)
 		if (status.heroineType != HeroineType.Sub)
 		{
 		{
 			this.left_plate_.contract_type_label.text = EnumConvert.GetString(status.contract);
 			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
 		else
 		{
 		{

+ 1 - 1
Assembly-CSharp/MaidProp.cs

@@ -8,7 +8,7 @@ public class MaidProp
 	public bool Serialize(BinaryWriter f_bwWrite)
 	public bool Serialize(BinaryWriter f_bwWrite)
 	{
 	{
 		f_bwWrite.Write("CM3D2_MPROP");
 		f_bwWrite.Write("CM3D2_MPROP");
-		f_bwWrite.Write(1160);
+		f_bwWrite.Write(1170);
 		f_bwWrite.Write(this.idx);
 		f_bwWrite.Write(this.idx);
 		f_bwWrite.Write(this.name);
 		f_bwWrite.Write(this.name);
 		f_bwWrite.Write(this.type);
 		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; }
 		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 int id;
 
 
 		public readonly string uniqueName;
 		public readonly string uniqueName;

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

@@ -5,6 +5,21 @@ namespace MaidStatus
 {
 {
 	public static class EnumConvert
 	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)
 		public static string GetString(HeroineType heroineType)
 		{
 		{
 			string result = string.Empty;
 			string result = string.Empty;

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

@@ -115,6 +115,8 @@ namespace MaidStatus
 
 
 		private const string typeNameForErrorLog = "特徴";
 		private const string typeNameForErrorLog = "特徴";
 
 
+		public const string termRootText = "MaidStatus/性癖タイプ/";
+
 		private static CsvCommonIdManager commonIdManager;
 		private static CsvCommonIdManager commonIdManager;
 
 
 		private static Dictionary<int, Feature.Data> basicDatas;
 		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 int id;
 
 
 			public readonly string uniqueName;
 			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)
 			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 = "性格";
 		private const string typeNameForErrorLog = "性格";
 
 
+		public const string termRootText = "MaidStatus/性格タイプ/";
+
 		private static CsvCommonIdManager commonIdManager;
 		private static CsvCommonIdManager commonIdManager;
 
 
 		private static Dictionary<int, Personal.Data> basicDatas;
 		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 int id;
 
 
 			public readonly string uniqueName;
 			public readonly string uniqueName;

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

@@ -115,6 +115,8 @@ namespace MaidStatus
 
 
 		private const string typeNameForErrorLog = "性癖";
 		private const string typeNameForErrorLog = "性癖";
 
 
+		public const string termRootText = "MaidStatus/性癖タイプ/";
+
 		private static CsvCommonIdManager commonIdManager;
 		private static CsvCommonIdManager commonIdManager;
 
 
 		private static Dictionary<int, Propensity.Data> basicDatas;
 		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 int id;
 
 
 			public readonly string uniqueName;
 			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
 		public int playCountYotogi
 		{
 		{
 			get
 			get
@@ -1207,7 +1215,7 @@ namespace MaidStatus
 		public void Serialize(BinaryWriter binary)
 		public void Serialize(BinaryWriter binary)
 		{
 		{
 			binary.Write("CM3D2_MAID_STATUS");
 			binary.Write("CM3D2_MAID_STATUS");
-			binary.Write(1160);
+			binary.Write(1170);
 			binary.Write(this.guid);
 			binary.Write(this.guid);
 			binary.Write(this.creationTime);
 			binary.Write(this.creationTime);
 			binary.Write((short)this.heroineType);
 			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)
 			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[]
 	public static readonly Vector3[] touchPointRotationArray = new Vector3[]
@@ -55,6 +58,8 @@ public class MaidTouch : MonoBehaviour
 		尻穴,
 		尻穴,
 		尻,
 		尻,
 		発情,
 		発情,
+		操作胸,
+		操作クリトリス,
 		MAX
 		MAX
 	}
 	}
 
 

+ 1 - 1
Assembly-CSharp/MaidTransferMain.cs

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

+ 20 - 18
Assembly-CSharp/MainBusinessWindow.cs

@@ -48,31 +48,33 @@ public class MainBusinessWindow : MonoBehaviour
 
 
 	public void OpenBusinessWindow()
 	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.interactable = false;
 		this.UGUICanvas.blocksRaycasts = true;
 		this.UGUICanvas.blocksRaycasts = true;
 		this.UGUICanvas.FadeIn(0.5f, delegate
 		this.UGUICanvas.FadeIn(0.5f, delegate
 		{
 		{
-			this.UGUICanvas.interactable = true;
+			<OpenBusinessWindow>c__AnonStorey.$this.UGUICanvas.interactable = true;
 		});
 		});
 		this.m_LastSelectToggle = null;
 		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;
 				toggle.isOn = true;
 			}
 			}
 			if (toggle.image)
 			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)
 				if (spriteInAtlas != null)
 				{
 				{
 					toggle.image.sprite = spriteInAtlas;
 					toggle.image.sprite = spriteInAtlas;
@@ -84,18 +86,18 @@ public class MainBusinessWindow : MonoBehaviour
 				{
 				{
 					return;
 					return;
 				}
 				}
-				this.OnClickBusinessBanner(toggle, data.ID);
+				<OpenBusinessWindow>c__AnonStorey.OnClickBusinessBanner(toggle, data.ID);
 			});
 			});
 			MainBusinessWindow.BannerEnterHandler component = toggle.GetComponent<MainBusinessWindow.BannerEnterHandler>();
 			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);
 		this.UpdateBusinessTypeDescription(this.m_NowSelectingBusinessTypeID);

+ 2 - 2
Assembly-CSharp/Menu.cs

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

+ 5 - 3
Assembly-CSharp/MessageClass.cs

@@ -124,9 +124,11 @@ public class MessageClass
 	public void Clear()
 	public void Clear()
 	{
 	{
 		this.exit_wait_count_ = -1;
 		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.mainTextAnimation.Clear();
 		this.subTextAnimation.Clear();
 		this.subTextAnimation.Clear();
 		this.hitret_sprite_.alpha = 0f;
 		this.hitret_sprite_.alpha = 0f;

+ 1 - 1
Assembly-CSharp/Misc.cs

@@ -2,7 +2,7 @@
 
 
 public class Misc
 public class Misc
 {
 {
-	public const int GAME_VERSION = 1160;
+	public const int GAME_VERSION = 1170;
 
 
 	public const string GAME_DATA_PATH = "GameData";
 	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();
 		MemoryStream memoryStream = new MemoryStream();
 		BinaryWriter binaryWriter = new BinaryWriter(memoryStream);
 		BinaryWriter binaryWriter = new BinaryWriter(memoryStream);
 		binaryWriter.Write("CM3D2_MESH");
 		binaryWriter.Write("CM3D2_MESH");
-		binaryWriter.Write(1160);
+		binaryWriter.Write(1170);
 		string fileNameWithoutExtension = Path.GetFileNameWithoutExtension(f_strMqoFile);
 		string fileNameWithoutExtension = Path.GetFileNameWithoutExtension(f_strMqoFile);
 		binaryWriter.Write(fileNameWithoutExtension);
 		binaryWriter.Write(fileNameWithoutExtension);
 		binaryWriter.Write(exObjIn2.strName);
 		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)
 	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++)
 			for (int i = 0; i < GameMain.Instance.CharacterMgr.GetMaidCount(); i++)
 			{
 			{

+ 13 - 0
Assembly-CSharp/MouseExposition.cs

@@ -1,4 +1,5 @@
 using System;
 using System;
+using I2.Loc;
 using UnityEngine;
 using UnityEngine;
 using wf;
 using wf;
 
 
@@ -150,6 +151,18 @@ public class MouseExposition : MonoBehaviour
 		this.text = string.Empty;
 		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
 	public string text
 	{
 	{
 		get
 		get

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

@@ -1145,7 +1145,7 @@ namespace MyRoomCustom
 			{
 			{
 				RawImage component = button.GetComponent<RawImage>();
 				RawImage component = button.GetComponent<RawImage>();
 				component.texture = CreativeRoom.m_Materials[index].mainTexture;
 				component.texture = CreativeRoom.m_Materials[index].mainTexture;
-				button.onClick.AddListener(delegate
+				button.onClick.AddListener(delegate()
 				{
 				{
 					this.ButtonEvent_SetPanelsMaterial(index);
 					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)
 			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)
 					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)
 			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)
 					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)
 			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)
 					if (this.m_SelectingObject == null)
 					{
 					{
@@ -511,22 +511,25 @@ namespace MyRoomCustom
 
 
 		public void CreateOdoguObjectButtons(int placementObjCategoryID)
 		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[]
 			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>();
 				Text componentInChildren = button.GetComponentInChildren<Text>();
 				RawImage component = button.GetComponent<RawImage>();
 				RawImage component = button.GetComponent<RawImage>();
 				Texture texture = null;
 				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();
 					texture = data.GetThumbnail();
-					this.m_CachedItemIconDic.Add(data.ID, texture);
+					<CreateOdoguObjectButtons>c__AnonStorey.$this.m_CachedItemIconDic.Add(data.ID, texture);
 				}
 				}
 				if (texture != null)
 				if (texture != null)
 				{
 				{
@@ -537,17 +540,17 @@ namespace MyRoomCustom
 				{
 				{
 					componentInChildren.text = data.drawName;
 					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)
 					if (!gameObject)
 					{
 					{
 						return;
 						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].GetComponentInChildren<Text>().text = PlacementData.GetData(deployObjectInstanceData.objectID).drawName;
 						componentsInChildren[0].onClick.RemoveAllListeners();
 						componentsInChildren[0].onClick.RemoveAllListeners();
 						componentsInChildren[1].onClick.RemoveAllListeners();
 						componentsInChildren[1].onClick.RemoveAllListeners();
-						componentsInChildren[0].onClick.AddListener(delegate
+						componentsInChildren[0].onClick.AddListener(delegate()
 						{
 						{
 							if (this.m_SelectingObject == Obj)
 							if (this.m_SelectingObject == Obj)
 							{
 							{
@@ -797,7 +800,7 @@ namespace MyRoomCustom
 								this.SetSelectingObject(Obj, null);
 								this.SetSelectingObject(Obj, null);
 							}
 							}
 						});
 						});
-						componentsInChildren[1].onClick.AddListener(delegate
+						componentsInChildren[1].onClick.AddListener(delegate()
 						{
 						{
 							this.DestroyDeploymentObject(Obj);
 							this.DestroyDeploymentObject(Obj);
 						});
 						});
@@ -932,18 +935,20 @@ namespace MyRoomCustom
 
 
 		private void OnEnable()
 		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>();
 				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[]
 					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;
 					componentInChildren2.text = string.Empty;
 				}
 				}
 				componentInChildren.onClick.RemoveAllListeners();
 				componentInChildren.onClick.RemoveAllListeners();
-				componentInChildren.onClick.AddListener(delegate
+				componentInChildren.onClick.AddListener(delegate()
 				{
 				{
 					if (!GameMain.Instance.SysDlg.IsDecided)
 					if (!GameMain.Instance.SysDlg.IsDecided)
 					{
 					{
@@ -112,7 +112,7 @@ namespace MyRoomCustom
 					componentInChildren3.text = string.Empty;
 					componentInChildren3.text = string.Empty;
 				}
 				}
 				componentInChildren.onClick.RemoveAllListeners();
 				componentInChildren.onClick.RemoveAllListeners();
-				componentInChildren.onClick.AddListener(delegate
+				componentInChildren.onClick.AddListener(delegate()
 				{
 				{
 					if (head == null)
 					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();
 			Score_Mgr.Instance.NotMissClear();
 			this.m_FullComboObj.gameObject.SetActive(true);
 			this.m_FullComboObj.gameObject.SetActive(true);
 			this.NoteSEPlay(this.m_FullComboSe);
 			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);
 				this.m_FullComboObj.gameObject.SetActive(false);
 			}));
 			}));

+ 2 - 0
Assembly-CSharp/OVRCameraRig.cs

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

+ 2 - 0
Assembly-CSharp/OVRDisplay.cs

@@ -1,4 +1,5 @@
 using System;
 using System;
+using System.Diagnostics;
 using System.Text.RegularExpressions;
 using System.Text.RegularExpressions;
 using UnityEngine;
 using UnityEngine;
 using UnityEngine.VR;
 using UnityEngine.VR;
@@ -15,6 +16,7 @@ public class OVRDisplay
 		this.UpdateTextures();
 		this.UpdateTextures();
 	}
 	}
 
 
+	[DebuggerBrowsable(DebuggerBrowsableState.Never)]
 	public event Action RecenteredPose;
 	public event Action RecenteredPose;
 
 
 	public void RecenterPose()
 	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()
 	public void Init()
 	{
 	{
 		if (OVRLipSync.sInstance == null)
 		if (OVRLipSync.sInstance == null)
@@ -50,6 +54,8 @@ public class OVRLipSync : MonoBehaviour
 			int num;
 			int num;
 			int num2;
 			int num2;
 			AudioSettings.GetDSPBufferSize(out num, out 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);
 			string message = string.Format("OvrLipSync Awake: Queried SampleRate: {0:F0} BufferSize: {1:F0}", outputSampleRate, num);
 			Debug.LogWarning(message);
 			Debug.LogWarning(message);
 			OVRLipSync.sInitialized = OVRLipSync.Initialize(outputSampleRate, num);
 			OVRLipSync.sInitialized = OVRLipSync.Initialize(outputSampleRate, num);

+ 1 - 0
Assembly-CSharp/OVRLipSyncContextBase.cs

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

+ 3 - 3
Assembly-CSharp/OVRLipSyncContextMorphTarget.cs

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

+ 30 - 2
Assembly-CSharp/OVRLipSyncMicInput.cs

@@ -1,5 +1,7 @@
 using System;
 using System;
 using UnityEngine;
 using UnityEngine;
+using UnityEngine.Audio;
+using wf;
 
 
 [RequireComponent(typeof(AudioSource))]
 [RequireComponent(typeof(AudioSource))]
 public class OVRLipSyncMicInput : MonoBehaviour
 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)
 	public void Init(Maid maid)
 	{
 	{
 		if (!this.audioSource)
 		if (!this.audioSource)
@@ -41,7 +51,11 @@ public class OVRLipSyncMicInput : MonoBehaviour
 		this.TargetMaid = maid;
 		this.TargetMaid = maid;
 		this.audioSource.loop = true;
 		this.audioSource.loop = true;
 		this.audioSource.mute = false;
 		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.lipsyncContext = base.GetComponent<OVRLipSyncContextBase>();
+		this.micFrequency = OVRLipSync.SamplingRate;
 		if (Microphone.devices.Length != 0)
 		if (Microphone.devices.Length != 0)
 		{
 		{
 			this.selectedDevice = Microphone.devices[0].ToString();
 			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()
 	private void Update()
 	{
 	{
-		this.audioSource.volume = this.sourceVolume;
 		if (!Microphone.IsRecording(this.selectedDevice))
 		if (!Microphone.IsRecording(this.selectedDevice))
 		{
 		{
 			this.StartMicrophone();
 			this.StartMicrophone();
 		}
 		}
+		this.m_outputMixer.audioMixer.SetFloat("OutVolume", (!this.m_Variable.Mute) ? Utility.VolumeToDecibel(this.m_Variable.MicVolume) : -80f);
 	}
 	}
 
 
 	private void OnApplicationFocus(bool focus)
 	private void OnApplicationFocus(bool focus)
@@ -112,7 +134,7 @@ public class OVRLipSyncMicInput : MonoBehaviour
 		{
 		{
 			return;
 			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)
 		while (Microphone.GetPosition(this.selectedDevice) <= 0)
 		{
 		{
 		}
 		}
@@ -132,6 +154,8 @@ public class OVRLipSyncMicInput : MonoBehaviour
 		Microphone.End(this.selectedDevice);
 		Microphone.End(this.selectedDevice);
 	}
 	}
 
 
+	public const int RECORD = 10;
+
 	public Maid TargetMaid;
 	public Maid TargetMaid;
 
 
 	public AudioSource audioSource;
 	public AudioSource audioSource;
@@ -155,4 +179,8 @@ public class OVRLipSyncMicInput : MonoBehaviour
 	private bool focused = true;
 	private bool focused = true;
 
 
 	private OVRLipSyncContextBase lipsyncContext;
 	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;
 using System.Collections.Generic;
 using System.Collections.Generic;
+using System.Diagnostics;
 using UnityEngine;
 using UnityEngine;
 using UnityEngine.Rendering;
 using UnityEngine.Rendering;
 using UnityEngine.VR;
 using UnityEngine.VR;
@@ -42,27 +43,38 @@ public class OVRManager : MonoBehaviour
 		}
 		}
 	}
 	}
 
 
+	[DebuggerBrowsable(DebuggerBrowsableState.Never)]
 	public static event Action HMDAcquired;
 	public static event Action HMDAcquired;
 
 
+	[DebuggerBrowsable(DebuggerBrowsableState.Never)]
 	public static event Action HMDLost;
 	public static event Action HMDLost;
 
 
+	[DebuggerBrowsable(DebuggerBrowsableState.Never)]
 	public static event Action HMDMounted;
 	public static event Action HMDMounted;
 
 
+	[DebuggerBrowsable(DebuggerBrowsableState.Never)]
 	public static event Action HMDUnmounted;
 	public static event Action HMDUnmounted;
 
 
+	[DebuggerBrowsable(DebuggerBrowsableState.Never)]
 	public static event Action VrFocusAcquired;
 	public static event Action VrFocusAcquired;
 
 
+	[DebuggerBrowsable(DebuggerBrowsableState.Never)]
 	public static event Action VrFocusLost;
 	public static event Action VrFocusLost;
 
 
+	[DebuggerBrowsable(DebuggerBrowsableState.Never)]
 	public static event Action AudioOutChanged;
 	public static event Action AudioOutChanged;
 
 
+	[DebuggerBrowsable(DebuggerBrowsableState.Never)]
 	public static event Action AudioInChanged;
 	public static event Action AudioInChanged;
 
 
+	[DebuggerBrowsable(DebuggerBrowsableState.Never)]
 	public static event Action TrackingAcquired;
 	public static event Action TrackingAcquired;
 
 
+	[DebuggerBrowsable(DebuggerBrowsableState.Never)]
 	public static event Action TrackingLost;
 	public static event Action TrackingLost;
 
 
 	[Obsolete]
 	[Obsolete]
+	[DebuggerBrowsable(DebuggerBrowsableState.Never)]
 	public static event Action HSWDismissed;
 	public static event Action HSWDismissed;
 
 
 	public static bool isHmdPresent
 	public static bool isHmdPresent
@@ -331,7 +343,7 @@ public class OVRManager : MonoBehaviour
 			return;
 			return;
 		}
 		}
 		OVRManager.instance = this;
 		OVRManager.instance = this;
-		Debug.Log(string.Concat(new object[]
+		UnityEngine.Debug.Log(string.Concat(new object[]
 		{
 		{
 			"Unity v",
 			"Unity v",
 			Application.unityVersion,
 			Application.unityVersion,
@@ -345,7 +357,7 @@ public class OVRManager : MonoBehaviour
 		}));
 		}));
 		if (SystemInfo.graphicsDeviceType != GraphicsDeviceType.Direct3D11)
 		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;
 		RuntimePlatform platform = Application.platform;
 		this.isSupportedPlatform |= (platform == RuntimePlatform.Android);
 		this.isSupportedPlatform |= (platform == RuntimePlatform.Android);
@@ -355,7 +367,7 @@ public class OVRManager : MonoBehaviour
 		this.isSupportedPlatform |= (platform == RuntimePlatform.WindowsPlayer);
 		this.isSupportedPlatform |= (platform == RuntimePlatform.WindowsPlayer);
 		if (!this.isSupportedPlatform)
 		if (!this.isSupportedPlatform)
 		{
 		{
-			Debug.LogWarning("This platform is unsupported");
+			UnityEngine.Debug.LogWarning("This platform is unsupported");
 			return;
 			return;
 		}
 		}
 		if (OVRManager.display == null)
 		if (OVRManager.display == null)
@@ -398,7 +410,7 @@ public class OVRManager : MonoBehaviour
 		OVRManager.isHmdPresent = OVRPlugin.hmdPresent;
 		OVRManager.isHmdPresent = OVRPlugin.hmdPresent;
 		if (this.useRecommendedMSAALevel && QualitySettings.antiAliasing != OVRManager.display.recommendedMSAALevel)
 		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 ",
 				"The current MSAA level is ",
 				QualitySettings.antiAliasing,
 				QualitySettings.antiAliasing,
@@ -419,7 +431,7 @@ public class OVRManager : MonoBehaviour
 			}
 			}
 			catch (Exception arg)
 			catch (Exception arg)
 			{
 			{
-				Debug.LogError("Caught Exception: " + arg);
+				UnityEngine.Debug.LogError("Caught Exception: " + arg);
 			}
 			}
 		}
 		}
 		if (!OVRManager._wasHmdPresent && OVRManager.isHmdPresent)
 		if (!OVRManager._wasHmdPresent && OVRManager.isHmdPresent)
@@ -433,7 +445,7 @@ public class OVRManager : MonoBehaviour
 			}
 			}
 			catch (Exception arg2)
 			catch (Exception arg2)
 			{
 			{
-				Debug.LogError("Caught Exception: " + arg2);
+				UnityEngine.Debug.LogError("Caught Exception: " + arg2);
 			}
 			}
 		}
 		}
 		OVRManager._wasHmdPresent = OVRManager.isHmdPresent;
 		OVRManager._wasHmdPresent = OVRManager.isHmdPresent;
@@ -449,7 +461,7 @@ public class OVRManager : MonoBehaviour
 			}
 			}
 			catch (Exception arg3)
 			catch (Exception arg3)
 			{
 			{
-				Debug.LogError("Caught Exception: " + arg3);
+				UnityEngine.Debug.LogError("Caught Exception: " + arg3);
 			}
 			}
 		}
 		}
 		if (!OVRManager._wasUserPresent && this.isUserPresent)
 		if (!OVRManager._wasUserPresent && this.isUserPresent)
@@ -463,7 +475,7 @@ public class OVRManager : MonoBehaviour
 			}
 			}
 			catch (Exception arg4)
 			catch (Exception arg4)
 			{
 			{
-				Debug.LogError("Caught Exception: " + arg4);
+				UnityEngine.Debug.LogError("Caught Exception: " + arg4);
 			}
 			}
 		}
 		}
 		OVRManager._wasUserPresent = this.isUserPresent;
 		OVRManager._wasUserPresent = this.isUserPresent;
@@ -479,7 +491,7 @@ public class OVRManager : MonoBehaviour
 			}
 			}
 			catch (Exception arg5)
 			catch (Exception arg5)
 			{
 			{
-				Debug.LogError("Caught Exception: " + arg5);
+				UnityEngine.Debug.LogError("Caught Exception: " + arg5);
 			}
 			}
 		}
 		}
 		if (!OVRManager._hadVrFocus && OVRManager.hasVrFocus)
 		if (!OVRManager._hadVrFocus && OVRManager.hasVrFocus)
@@ -493,7 +505,7 @@ public class OVRManager : MonoBehaviour
 			}
 			}
 			catch (Exception arg6)
 			catch (Exception arg6)
 			{
 			{
-				Debug.LogError("Caught Exception: " + arg6);
+				UnityEngine.Debug.LogError("Caught Exception: " + arg6);
 			}
 			}
 		}
 		}
 		OVRManager._hadVrFocus = OVRManager.hasVrFocus;
 		OVRManager._hadVrFocus = OVRManager.hasVrFocus;
@@ -529,7 +541,7 @@ public class OVRManager : MonoBehaviour
 			}
 			}
 			catch (Exception arg7)
 			catch (Exception arg7)
 			{
 			{
-				Debug.LogError("Caught Exception: " + arg7);
+				UnityEngine.Debug.LogError("Caught Exception: " + arg7);
 			}
 			}
 			OVRManager.prevAudioOutId = audioOutId;
 			OVRManager.prevAudioOutId = audioOutId;
 		}
 		}
@@ -550,7 +562,7 @@ public class OVRManager : MonoBehaviour
 			}
 			}
 			catch (Exception arg8)
 			catch (Exception arg8)
 			{
 			{
-				Debug.LogError("Caught Exception: " + arg8);
+				UnityEngine.Debug.LogError("Caught Exception: " + arg8);
 			}
 			}
 			OVRManager.prevAudioInId = audioInId;
 			OVRManager.prevAudioInId = audioInId;
 		}
 		}
@@ -565,7 +577,7 @@ public class OVRManager : MonoBehaviour
 			}
 			}
 			catch (Exception arg9)
 			catch (Exception arg9)
 			{
 			{
-				Debug.LogError("Caught Exception: " + arg9);
+				UnityEngine.Debug.LogError("Caught Exception: " + arg9);
 			}
 			}
 		}
 		}
 		if (!OVRManager.wasPositionTracked && OVRManager.tracker.isPositionTracked)
 		if (!OVRManager.wasPositionTracked && OVRManager.tracker.isPositionTracked)
@@ -579,7 +591,7 @@ public class OVRManager : MonoBehaviour
 			}
 			}
 			catch (Exception arg10)
 			catch (Exception arg10)
 			{
 			{
-				Debug.LogError("Caught Exception: " + arg10);
+				UnityEngine.Debug.LogError("Caught Exception: " + arg10);
 			}
 			}
 		}
 		}
 		OVRManager.wasPositionTracked = OVRManager.tracker.isPositionTracked;
 		OVRManager.wasPositionTracked = OVRManager.tracker.isPositionTracked;

+ 2 - 1
Assembly-CSharp/OVROverlay.cs

@@ -104,8 +104,9 @@ public class OVROverlay : MonoBehaviour
 		Vector3 lossyScale = base.transform.lossyScale;
 		Vector3 lossyScale = base.transform.lossyScale;
 		for (int j = 0; j < 3; j++)
 		for (int j = 0; j < 3; j++)
 		{
 		{
+			ref Vector3 ptr = ref lossyScale;
 			int index;
 			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)
 		if (this.currentOverlayShape == OVROverlay.OverlayShape.Cubemap)
 		{
 		{

+ 2 - 0
Assembly-CSharp/OVRTouchpad.cs

@@ -1,8 +1,10 @@
 using System;
 using System;
+using System.Diagnostics;
 using UnityEngine;
 using UnityEngine;
 
 
 public static class OVRTouchpad
 public static class OVRTouchpad
 {
 {
+	[DebuggerBrowsable(DebuggerBrowsableState.Never)]
 	public static event EventHandler TouchHandler;
 	public static event EventHandler TouchHandler;
 
 
 	public static void Create()
 	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));
 		EventDelegate.Add(this.selectTextureButton.onClick, new EventDelegate.Callback(this.OnClickSelectTextureButton));
 		if (this.typeSelectPopupList != null)
 		if (this.typeSelectPopupList != null)
 		{
 		{
-			EventDelegate.Add(this.typeSelectPopupList.onChange, delegate
+			EventDelegate.Add(this.typeSelectPopupList.onChange, delegate()
 			{
 			{
 				if (this.selectData == this.target_list_[0])
 				if (this.selectData == this.target_list_[0])
 				{
 				{
@@ -89,7 +89,7 @@ public class ObjectCreateWindow : BaseMaidPhotoWindow
 				this.selectData.customObject.textureColor = setColor;
 				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)
 			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;
 				(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)
 			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;
 		gameObject.GetComponentInChildren<UILabel>().text = gameObject.name;
 		UIWFTabButton component = gameObject.GetComponent<UIWFTabButton>();
 		UIWFTabButton component = gameObject.GetComponent<UIWFTabButton>();
 		this.buttonDic.Add(component.GetHashCode(), target);
 		this.buttonDic.Add(component.GetHashCode(), target);
-		EventDelegate.Add(component.onSelect, delegate
+		EventDelegate.Add(component.onSelect, delegate()
 		{
 		{
 			if (!UIWFSelectButton.current.isSelected)
 			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);
 				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)
 			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.name = target.guid.ToString();
 		gameObject.GetComponentInChildren<UILabel>().text = target.draw_name;
 		gameObject.GetComponentInChildren<UILabel>().text = target.draw_name;
 		UIWFTabButton component = gameObject.GetComponent<UIWFTabButton>();
 		UIWFTabButton component = gameObject.GetComponent<UIWFTabButton>();
-		EventDelegate.Add(component.onSelect, delegate
+		EventDelegate.Add(component.onSelect, delegate()
 		{
 		{
 			if (!UIWFSelectButton.current.isSelected)
 			if (!UIWFSelectButton.current.isSelected)
 			{
 			{

+ 2 - 2
Assembly-CSharp/OnaholeBaseNodeMenuManager.cs

@@ -72,7 +72,7 @@ public class OnaholeBaseNodeMenuManager : MonoBehaviour
 	{
 	{
 		get
 		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
 		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 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
 	public float arrowUp
 	{
 	{
 		get
 		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 Dictionary<string, float> data_dic_ = new Dictionary<string, float>();
 
 
 	private float insertDepth;
 	private float insertDepth;
@@ -122,5 +214,9 @@ public class OnaholeChuBlipDevice : MonoBehaviour
 
 
 	private bool beforeButtonC;
 	private bool beforeButtonC;
 
 
+	private float m_ArrowKeyFierceRate;
+
 	public const float RECIPROCAL_ARROW_VALUE = 1.52590219E-05f;
 	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;
 	public bool nextModePermit;
 
 
+	[Obsolete]
 	public bool nextModePermitHarf;
 	public bool nextModePermitHarf;
 
 
 	public string blendAnimeName = string.Empty;
 	public string blendAnimeName = string.Empty;
@@ -119,6 +120,7 @@ public class OnaholeMotion : MonoBehaviour
 	public float blendPlugMultiple;
 	public float blendPlugMultiple;
 
 
 	[SerializeField]
 	[SerializeField]
+	[Obsolete]
 	public float blendStopTime;
 	public float blendStopTime;
 
 
 	public List<string> loadedAnimeList = new List<string>();
 	public List<string> loadedAnimeList = new List<string>();
@@ -184,8 +186,10 @@ public class OnaholeMotion : MonoBehaviour
 
 
 	private class BlendAnimeData
 	private class BlendAnimeData
 	{
 	{
+		[Obsolete]
 		public string key = string.Empty;
 		public string key = string.Empty;
 
 
+		[Obsolete]
 		public MaidTouch.POINT point;
 		public MaidTouch.POINT point;
 
 
 		public AnimationState start;
 		public AnimationState start;

+ 3 - 3
Assembly-CSharp/OnaholeNodeMenuChildSecondRow.cs

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

+ 37 - 2
Assembly-CSharp/OvrIK.cs

@@ -322,6 +322,10 @@ public class OvrIK : MonoBehaviour
 			GameMain.Instance.OvrMgr.OvrCamera.HandVRIKMode = false;
 			GameMain.Instance.OvrMgr.OvrCamera.HandVRIKMode = false;
 			GameObject obj = this.m_maid.body0.GetSlot(1).obj;
 			GameObject obj = this.m_maid.body0.GetSlot(1).obj;
 			this.LayerCheck(obj, LayerMask.NameToLayer("Charactor"));
 			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>();
 			Animation componentInChildren = this.m_maid.GetComponentInChildren<Animation>();
 			if (componentInChildren != null)
 			if (componentInChildren != null)
 			{
 			{
@@ -782,6 +786,7 @@ public class OvrIK : MonoBehaviour
 				this.m_trTargetOffsHeadTracker.SetParent(transform9, true);
 				this.m_trTargetOffsHeadTracker.SetParent(transform9, true);
 				this.m_ik.solver.spine.headTarget = this.m_trTargetOffsHeadTracker;
 				this.m_ik.solver.spine.headTarget = this.m_trTargetOffsHeadTracker;
 				trackingObjects.Remove(transform);
 				trackingObjects.Remove(transform);
+				this.CheckHeadIsTracker();
 			}
 			}
 			if (num <= trackingObjects.Count)
 			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;
 		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()
 	private void OnDisable()
 	{
 	{
 		this.Finish();
 		this.Finish();
@@ -1012,6 +1044,7 @@ public class OvrIK : MonoBehaviour
 					this.m_goMoni.SetActive(!this.m_goMoni.activeSelf);
 					this.m_goMoni.SetActive(!this.m_goMoni.activeSelf);
 				}
 				}
 			}
 			}
+			this.CheckHeadIsTracker();
 			if (this.m_trEyeTarget != null && this.m_maid != null)
 			if (this.m_trEyeTarget != null && this.m_maid != null)
 			{
 			{
 				Transform realHeadTransform = GameMain.Instance.OvrMgr.OvrCamera.GetRealHeadTransform();
 				Transform realHeadTransform = GameMain.Instance.OvrMgr.OvrCamera.GetRealHeadTransform();
@@ -1382,6 +1415,8 @@ public class OvrIK : MonoBehaviour
 
 
 	private AMTween[] m_aryBackAMTween;
 	private AMTween[] m_aryBackAMTween;
 
 
+	private bool m_isHeadIsTracker;
+
 	private Vector3 m_vFootDefOffsLocalL;
 	private Vector3 m_vFootDefOffsLocalL;
 
 
 	private Vector3 m_vFootDefOffsLocalR;
 	private Vector3 m_vFootDefOffsLocalR;
@@ -1403,7 +1438,7 @@ public class OvrIK : MonoBehaviour
 	{
 	{
 		public void OnBeforeSerialize()
 		public void OnBeforeSerialize()
 		{
 		{
-			this.m_nVersion = 1160;
+			this.m_nVersion = 1170;
 		}
 		}
 
 
 		public void OnAfterDeserialize()
 		public void OnAfterDeserialize()
@@ -1463,7 +1498,7 @@ public class OvrIK : MonoBehaviour
 		private const string CONF_NAME = "OvrIK.json";
 		private const string CONF_NAME = "OvrIK.json";
 
 
 		[SerializeField]
 		[SerializeField]
-		private int m_nVersion = 1160;
+		private int m_nVersion = 1170;
 
 
 		[SerializeField]
 		[SerializeField]
 		private float solver_locomotion_weight = 1f;
 		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>();
 		UICamera[] array = UnityEngine.Object.FindObjectsOfType<UICamera>();
 		for (int i = 0; i < array.Length; i++)
 		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");
 		GameObject gameObject3 = GameObject.Find("UI Root");
 		if (gameObject3 != null)
 		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)
 	public void Apply(Maid maid)
 	{
 	{
 		if (maid == null || maid.body0 == null || maid.body0.m_Bones == null || maid.IsBusy)
 		if (maid == null || maid.body0 == null || maid.body0.m_Bones == null || maid.IsBusy)

+ 28 - 0
Assembly-CSharp/PhotoFaceDataShortcut.cs

@@ -1,5 +1,6 @@
 using System;
 using System;
 using System.Collections.Generic;
 using System.Collections.Generic;
+using I2.Loc;
 using UnityEngine;
 using UnityEngine;
 using UnityEngine.Events;
 using UnityEngine.Events;
 using UnityEngine.UI;
 using UnityEngine.UI;
@@ -37,6 +38,7 @@ public class PhotoFaceDataShortcut : MonoBehaviour
 		this.m_CircleList.SetActiveUI(true);
 		this.m_CircleList.SetActiveUI(true);
 		GameObject childObject = UTY.GetChildObject(base.gameObject, "CircleCommandUI/text right hand", false);
 		GameObject childObject = UTY.GetChildObject(base.gameObject, "CircleCommandUI/text right hand", false);
 		childObject.GetComponent<Text>().text = ((!isLeftHand) ? "右" : "左");
 		childObject.GetComponent<Text>().text = ((!isLeftHand) ? "右" : "左");
+		childObject.GetComponent<Localize>().SetTerm("System/" + ((!isLeftHand) ? "右" : "左"));
 	}
 	}
 
 
 	public void CreateItemList(int count)
 	public void CreateItemList(int count)
@@ -50,10 +52,12 @@ public class PhotoFaceDataShortcut : MonoBehaviour
 		circleCommandUI.Show<Transform>(count, delegate(int index, Transform trans)
 		circleCommandUI.Show<Transform>(count, delegate(int index, Transform trans)
 		{
 		{
 			Text componentInChildren = trans.GetComponentInChildren<Text>();
 			Text componentInChildren = trans.GetComponentInChildren<Text>();
+			Localize componentInChildren2 = trans.GetComponentInChildren<Localize>();
 			PhotoFaceDataShortcut.ItemData itemData = trans.gameObject.AddComponent<PhotoFaceDataShortcut.ItemData>();
 			PhotoFaceDataShortcut.ItemData itemData = trans.gameObject.AddComponent<PhotoFaceDataShortcut.ItemData>();
 			itemData.handController = this;
 			itemData.handController = this;
 			itemData.index = index;
 			itemData.index = index;
 			itemData.text = componentInChildren;
 			itemData.text = componentInChildren;
+			itemData.localize = componentInChildren2;
 			this.itemDataList.Add(itemData);
 			this.itemDataList.Add(itemData);
 		});
 		});
 		ControllerShortcutSettingData.LoadDefault();
 		ControllerShortcutSettingData.LoadDefault();
@@ -324,6 +328,18 @@ public class PhotoFaceDataShortcut : MonoBehaviour
 			}
 			}
 		}
 		}
 
 
+		public Localize localize
+		{
+			get
+			{
+				return this.m_Localize;
+			}
+			set
+			{
+				this.m_Localize = value;
+			}
+		}
+
 		public TMorph.AddBlendType blendType
 		public TMorph.AddBlendType blendType
 		{
 		{
 			get
 			get
@@ -355,6 +371,7 @@ public class PhotoFaceDataShortcut : MonoBehaviour
 				return;
 				return;
 			}
 			}
 			this.text.text = this.GetDataName();
 			this.text.text = this.GetDataName();
+			this.localize.SetTerm(this.GetDataTermName());
 		}
 		}
 
 
 		public string GetDataName()
 		public string GetDataName()
@@ -366,6 +383,15 @@ public class PhotoFaceDataShortcut : MonoBehaviour
 			return this.data.name;
 			return this.data.name;
 		}
 		}
 
 
+		public string GetDataTermName()
+		{
+			if (this.data == null)
+			{
+				return "無し";
+			}
+			return this.data.termName;
+		}
+
 		private void UpdateConfigData()
 		private void UpdateConfigData()
 		{
 		{
 			if (this.handController.IsLeftHand)
 			if (this.handController.IsLeftHand)
@@ -431,6 +457,8 @@ public class PhotoFaceDataShortcut : MonoBehaviour
 
 
 		private Text m_Text;
 		private Text m_Text;
 
 
+		private Localize m_Localize;
+
 		private static SortedDictionary<string, int> m_PhotoFaceDataNameDic;
 		private static SortedDictionary<string, int> m_PhotoFaceDataNameDic;
 	}
 	}
 }
 }

+ 27 - 4
Assembly-CSharp/PhotoFaceDataShortcutSetter.cs

@@ -1,6 +1,7 @@
 using System;
 using System;
 using System.Collections;
 using System.Collections;
 using System.Collections.Generic;
 using System.Collections.Generic;
+using I2.Loc;
 using Kasizuki;
 using Kasizuki;
 using UnityEngine;
 using UnityEngine;
 
 
@@ -48,7 +49,8 @@ public class PhotoFaceDataShortcutSetter : MonoBehaviour
 		{
 		{
 			UILabel componentInChildren = item.GetComponentInChildren<UILabel>();
 			UILabel componentInChildren = item.GetComponentInChildren<UILabel>();
 			componentInChildren.text = data.name;
 			componentInChildren.text = data.name;
-			EventDelegate.Add(item.onClick, delegate
+			componentInChildren.GetComponent<Localize>().SetTerm(data.termName);
+			EventDelegate.Add(item.onClick, delegate()
 			{
 			{
 				this.OnClickData(data);
 				this.OnClickData(data);
 			});
 			});
@@ -63,13 +65,16 @@ public class PhotoFaceDataShortcutSetter : MonoBehaviour
 			PhotoFaceDataShortcut.ItemData data = this.targetControllerRight.itemDataList[index];
 			PhotoFaceDataShortcut.ItemData data = this.targetControllerRight.itemDataList[index];
 			UILabel componentInChildren = trans.GetComponentInChildren<UILabel>();
 			UILabel componentInChildren = trans.GetComponentInChildren<UILabel>();
 			UIButton componentInChildren2 = trans.GetComponentInChildren<UIButton>();
 			UIButton componentInChildren2 = trans.GetComponentInChildren<UIButton>();
+			Localize componentInChildren3 = trans.GetComponentInChildren<Localize>();
 			componentInChildren.text = data.GetDataName();
 			componentInChildren.text = data.GetDataName();
-			EventDelegate.Add(componentInChildren2.onClick, delegate
+			componentInChildren3.SetTerm(data.GetDataTermName());
+			EventDelegate.Add(componentInChildren2.onClick, delegate()
 			{
 			{
 				this.OnClickShortcutButton(data);
 				this.OnClickShortcutButton(data);
 			});
 			});
 			PhotoFaceDataShortcutSetter.ItemData itemData = trans.gameObject.AddComponent<PhotoFaceDataShortcutSetter.ItemData>();
 			PhotoFaceDataShortcutSetter.ItemData itemData = trans.gameObject.AddComponent<PhotoFaceDataShortcutSetter.ItemData>();
 			itemData.label = componentInChildren;
 			itemData.label = componentInChildren;
+			itemData.localize = componentInChildren3;
 			this.m_ItemPairDic.Add(data, itemData);
 			this.m_ItemPairDic.Add(data, itemData);
 		});
 		});
 		this.m_ButtonListShortcutLeft.Show<Transform>(this.targetControllerLeft.itemDataList.Count, delegate(int index, Transform trans)
 		this.m_ButtonListShortcutLeft.Show<Transform>(this.targetControllerLeft.itemDataList.Count, delegate(int index, Transform trans)
@@ -77,13 +82,16 @@ public class PhotoFaceDataShortcutSetter : MonoBehaviour
 			PhotoFaceDataShortcut.ItemData data = this.targetControllerLeft.itemDataList[index];
 			PhotoFaceDataShortcut.ItemData data = this.targetControllerLeft.itemDataList[index];
 			UILabel componentInChildren = trans.GetComponentInChildren<UILabel>();
 			UILabel componentInChildren = trans.GetComponentInChildren<UILabel>();
 			UIButton componentInChildren2 = trans.GetComponentInChildren<UIButton>();
 			UIButton componentInChildren2 = trans.GetComponentInChildren<UIButton>();
+			Localize componentInChildren3 = trans.GetComponentInChildren<Localize>();
 			componentInChildren.text = data.GetDataName();
 			componentInChildren.text = data.GetDataName();
-			EventDelegate.Add(componentInChildren2.onClick, delegate
+			componentInChildren3.SetTerm(data.GetDataTermName());
+			EventDelegate.Add(componentInChildren2.onClick, delegate()
 			{
 			{
 				this.OnClickShortcutButton(data);
 				this.OnClickShortcutButton(data);
 			});
 			});
 			PhotoFaceDataShortcutSetter.ItemData itemData = trans.gameObject.AddComponent<PhotoFaceDataShortcutSetter.ItemData>();
 			PhotoFaceDataShortcutSetter.ItemData itemData = trans.gameObject.AddComponent<PhotoFaceDataShortcutSetter.ItemData>();
 			itemData.label = componentInChildren;
 			itemData.label = componentInChildren;
+			itemData.localize = componentInChildren3;
 			this.m_ItemPairDic.Add(data, itemData);
 			this.m_ItemPairDic.Add(data, itemData);
 		});
 		});
 		Transform transform = this.m_ParentAddFaceOptions.transform.Find("Buttons");
 		Transform transform = this.m_ParentAddFaceOptions.transform.Find("Buttons");
@@ -97,7 +105,7 @@ public class PhotoFaceDataShortcutSetter : MonoBehaviour
 		}
 		}
 		EventDelegate.Add(this.m_ButtonFaceListOK.onClick, new EventDelegate.Callback(this.OnClickFaceListOK));
 		EventDelegate.Add(this.m_ButtonFaceListOK.onClick, new EventDelegate.Callback(this.OnClickFaceListOK));
 		NGUIWindow fadeWindowFaceDataList = this.m_FadeWindowFaceDataList;
 		NGUIWindow fadeWindowFaceDataList = this.m_FadeWindowFaceDataList;
-		fadeWindowFaceDataList.OnOpen = (Action)Delegate.Combine(fadeWindowFaceDataList.OnOpen, new Action(delegate
+		fadeWindowFaceDataList.OnOpen = (Action)Delegate.Combine(fadeWindowFaceDataList.OnOpen, new Action(delegate()
 		{
 		{
 			this.m_WindowListFaceData.Reposition();
 			this.m_WindowListFaceData.Reposition();
 		}));
 		}));
@@ -111,6 +119,7 @@ public class PhotoFaceDataShortcutSetter : MonoBehaviour
 		if (this.m_ItemPairDic != null && this.m_ItemPairDic.TryGetValue(this.nowSelectItem, out itemData))
 		if (this.m_ItemPairDic != null && this.m_ItemPairDic.TryGetValue(this.nowSelectItem, out itemData))
 		{
 		{
 			itemData.label.text = this.nowSelectItem.GetDataName();
 			itemData.label.text = this.nowSelectItem.GetDataName();
+			itemData.localize.SetTerm(this.nowSelectItem.GetDataTermName());
 		}
 		}
 		if (this.nowSelectItem != null)
 		if (this.nowSelectItem != null)
 		{
 		{
@@ -415,6 +424,20 @@ public class PhotoFaceDataShortcutSetter : MonoBehaviour
 			}
 			}
 		}
 		}
 
 
+		public Localize localize
+		{
+			get
+			{
+				return this.m_Localize;
+			}
+			set
+			{
+				this.m_Localize = value;
+			}
+		}
+
 		private UILabel m_Label;
 		private UILabel m_Label;
+
+		private Localize m_Localize;
 	}
 	}
 }
 }

+ 2 - 2
Assembly-CSharp/PhotoModeObjectSave.cs

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

+ 2 - 2
Assembly-CSharp/PhotoModePoseSave.cs

@@ -170,7 +170,7 @@ public class PhotoModePoseSave : MonoBehaviour
 		tweenAlpha.to = 0f;
 		tweenAlpha.to = 0f;
 		tweenAlpha.duration = 0.3f;
 		tweenAlpha.duration = 0.3f;
 		tweenAlpha.PlayForward();
 		tweenAlpha.PlayForward();
-		EventDelegate.Set(tweenAlpha.onFinished, delegate
+		EventDelegate.Set(tweenAlpha.onFinished, delegate()
 		{
 		{
 			TweenAlpha component = base.gameObject.GetComponent<TweenAlpha>();
 			TweenAlpha component = base.gameObject.GetComponent<TweenAlpha>();
 			if (component != null)
 			if (component != null)
@@ -189,7 +189,7 @@ public class PhotoModePoseSave : MonoBehaviour
 		tweenAlpha.to = 1f;
 		tweenAlpha.to = 1f;
 		tweenAlpha.duration = 0.3f;
 		tweenAlpha.duration = 0.3f;
 		tweenAlpha.PlayForward();
 		tweenAlpha.PlayForward();
-		EventDelegate.Set(tweenAlpha.onFinished, delegate
+		EventDelegate.Set(tweenAlpha.onFinished, delegate()
 		{
 		{
 			TweenAlpha component = base.gameObject.GetComponent<TweenAlpha>();
 			TweenAlpha component = base.gameObject.GetComponent<TweenAlpha>();
 			if (component != null)
 			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].onChangeTitle = new Action<PhotSaveLoagDataUnit>(this.OnChangeTitle);
 			this.data_unit_[j].onChangeComment = new Action<PhotSaveLoagDataUnit>(this.OnChangeComment);
 			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.ChangeType((this.cur_type_ != PhotoModeSaveAndLoad.Type.Save) ? PhotoModeSaveAndLoad.Type.Save : PhotoModeSaveAndLoad.Type.Load);
 			this.UpdateDataUnit();
 			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.ChangeType((this.cur_type_ != PhotoModeSaveAndLoad.Type.Save) ? PhotoModeSaveAndLoad.Type.Save : PhotoModeSaveAndLoad.Type.Load);
 			this.UpdateDataUnit();
 			this.UpdateDataUnit();
@@ -88,7 +88,7 @@ public class PhotoModeSaveAndLoad : MonoBehaviour
 		tweenAlpha.to = 1f;
 		tweenAlpha.to = 1f;
 		tweenAlpha.duration = 0.3f;
 		tweenAlpha.duration = 0.3f;
 		tweenAlpha.PlayForward();
 		tweenAlpha.PlayForward();
-		EventDelegate.Set(tweenAlpha.onFinished, delegate
+		EventDelegate.Set(tweenAlpha.onFinished, delegate()
 		{
 		{
 			TweenAlpha component2 = base.gameObject.GetComponent<TweenAlpha>();
 			TweenAlpha component2 = base.gameObject.GetComponent<TweenAlpha>();
 			if (component2 != null)
 			if (component2 != null)
@@ -118,7 +118,7 @@ public class PhotoModeSaveAndLoad : MonoBehaviour
 		tweenAlpha.to = 0f;
 		tweenAlpha.to = 0f;
 		tweenAlpha.duration = 0.3f;
 		tweenAlpha.duration = 0.3f;
 		tweenAlpha.PlayForward();
 		tweenAlpha.PlayForward();
-		EventDelegate.Set(tweenAlpha.onFinished, delegate
+		EventDelegate.Set(tweenAlpha.onFinished, delegate()
 		{
 		{
 			TweenAlpha component2 = base.gameObject.GetComponent<TweenAlpha>();
 			TweenAlpha component2 = base.gameObject.GetComponent<TweenAlpha>();
 			if (component2 != null)
 			if (component2 != null)
@@ -450,7 +450,7 @@ public class PhotoModeSaveAndLoad : MonoBehaviour
 	private XElement CreateCommonData(string title, string comment)
 	private XElement CreateCommonData(string title, string comment)
 	{
 	{
 		string value = DateTime.ParseExact(DateTime.Now.ToString("yyyyMMddHHmmss"), "yyyyMMddHHmmss", null).ToString("yyyy.MM.dd HH:mm");
 		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 xelement2 = new XElement("SaveTime", value);
 		XElement xelement3 = new XElement("Title", title);
 		XElement xelement3 = new XElement("Title", title);
 		XElement xelement4 = new XElement("Comment", comment);
 		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))
 		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)
 			if (!this.is_mod && !this.is_mypose)
 			{
 			{
 				maid.CrossFade(this.direct_file, false, this.is_loop, false, 0f, 1f);
 				maid.CrossFade(this.direct_file, false, this.is_loop, false, 0f, 1f);

+ 3 - 3
Assembly-CSharp/PhotoMotionDataShortcutSetter.cs

@@ -60,7 +60,7 @@ public class PhotoMotionDataShortcutSetter : MonoBehaviour
 		{
 		{
 			UILabel componentInChildren = item.GetComponentInChildren<UILabel>();
 			UILabel componentInChildren = item.GetComponentInChildren<UILabel>();
 			componentInChildren.text = data.name;
 			componentInChildren.text = data.name;
-			EventDelegate.Add(item.onClick, delegate
+			EventDelegate.Add(item.onClick, delegate()
 			{
 			{
 				this.OnClickData(data);
 				this.OnClickData(data);
 			});
 			});
@@ -76,7 +76,7 @@ public class PhotoMotionDataShortcutSetter : MonoBehaviour
 			UILabel componentInChildren = trans.GetComponentInChildren<UILabel>();
 			UILabel componentInChildren = trans.GetComponentInChildren<UILabel>();
 			UIButton componentInChildren2 = trans.GetComponentInChildren<UIButton>();
 			UIButton componentInChildren2 = trans.GetComponentInChildren<UIButton>();
 			componentInChildren.text = data.GetDataName();
 			componentInChildren.text = data.GetDataName();
-			EventDelegate.Add(componentInChildren2.onClick, delegate
+			EventDelegate.Add(componentInChildren2.onClick, delegate()
 			{
 			{
 				this.OnClickShortcutButton(data);
 				this.OnClickShortcutButton(data);
 			});
 			});
@@ -90,7 +90,7 @@ public class PhotoMotionDataShortcutSetter : MonoBehaviour
 			UILabel componentInChildren = trans.GetComponentInChildren<UILabel>();
 			UILabel componentInChildren = trans.GetComponentInChildren<UILabel>();
 			UIButton componentInChildren2 = trans.GetComponentInChildren<UIButton>();
 			UIButton componentInChildren2 = trans.GetComponentInChildren<UIButton>();
 			componentInChildren.text = data.GetDataName();
 			componentInChildren.text = data.GetDataName();
-			EventDelegate.Add(componentInChildren2.onClick, delegate
+			EventDelegate.Add(componentInChildren2.onClick, delegate()
 			{
 			{
 				this.OnClickShortcutButton(data);
 				this.OnClickShortcutButton(data);
 			});
 			});

+ 1 - 1
Assembly-CSharp/PlacementWindow.cs

@@ -14,7 +14,7 @@ public class PlacementWindow : BaseMaidPhotoWindow
 		EventDelegate.Add(this.DeActiveButton.onClick, new EventDelegate.Callback(this.OnClickDeActive));
 		EventDelegate.Add(this.DeActiveButton.onClick, new EventDelegate.Callback(this.OnClickDeActive));
 		this.VisibleCheckButton.onClick.Add(new Action<WFCheckBox>(this.OnClickVisibleCheckButton));
 		this.VisibleCheckButton.onClick.Add(new Action<WFCheckBox>(this.OnClickVisibleCheckButton));
 		this.camera_move_support_ = base.gameObject.AddComponent<WfCameraMoveSupport>();
 		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);
 			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)
 		public void Serialize(BinaryWriter binary)
 		{
 		{
 			binary.Write("CM3D2_PLAYER_STATUS");
 			binary.Write("CM3D2_PLAYER_STATUS");
-			binary.Write(1160);
+			binary.Write(1170);
 			binary.Write(this.playerName_);
 			binary.Write(this.playerName_);
 			binary.Write(this.days_);
 			binary.Write(this.days_);
 			binary.Write(this.totalPurchasePrice_);
 			binary.Write(this.totalPurchasePrice_);

+ 2 - 2
Assembly-CSharp/PoseEditWindow.cs

@@ -501,8 +501,8 @@ public class PoseEditWindow : BaseMaidPhotoWindow
 				motionWindow.CheckbtnStop.check = true;
 				motionWindow.CheckbtnStop.check = true;
 				motionWindow.OnClickStopCheck(motionWindow.CheckbtnStop);
 				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();
 			this.ControlSelectBtnTab.ResetSelect();
 			Dictionary<PoseEditWindow.ControlType, UIWFTabButton> dictionary = new Dictionary<PoseEditWindow.ControlType, UIWFTabButton>();
 			Dictionary<PoseEditWindow.ControlType, UIWFTabButton> dictionary = new Dictionary<PoseEditWindow.ControlType, UIWFTabButton>();
 			foreach (UIWFTabButton uiwftabButton in this.ControlSelectBtnTab.button_list)
 			foreach (UIWFTabButton uiwftabButton in this.ControlSelectBtnTab.button_list)

+ 5 - 6
Assembly-CSharp/PresetCtrl.cs

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

+ 44 - 25
Assembly-CSharp/ProfileCtrl.cs

@@ -2,6 +2,7 @@
 using System.Collections;
 using System.Collections;
 using System.Collections.Generic;
 using System.Collections.Generic;
 using Edit;
 using Edit;
+using I2.Loc;
 using MaidStatus;
 using MaidStatus;
 using MaidStatus.CsvData;
 using MaidStatus.CsvData;
 using UnityEngine;
 using UnityEngine;
@@ -39,13 +40,13 @@ public class ProfileCtrl : MonoBehaviour
 		this.m_clLastName = childObject2.GetComponent<BoxCollider>();
 		this.m_clLastName = childObject2.GetComponent<BoxCollider>();
 		EventDelegate.Add(this.m_inLastName.onChange, new EventDelegate.Callback(BaseMgr<ProfileMgr>.Instance.OnChangeLastName));
 		EventDelegate.Add(this.m_inLastName.onChange, new EventDelegate.Callback(BaseMgr<ProfileMgr>.Instance.OnChangeLastName));
 		this.m_buFirstName = UTY.GetChildObject(childObject, "Random", false).GetComponent<UIButton>();
 		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.RemoveFocus();
 			this.m_inFirstName.value = MaidRandomName.GetFirstName();
 			this.m_inFirstName.value = MaidRandomName.GetFirstName();
 		});
 		});
 		this.m_buLastName = UTY.GetChildObject(childObject2, "Random", false).GetComponent<UIButton>();
 		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.RemoveFocus();
 			this.m_inLastName.value = MaidRandomName.GetLastName();
 			this.m_inLastName.value = MaidRandomName.GetLastName();
@@ -105,18 +106,16 @@ public class ProfileCtrl : MonoBehaviour
 			}
 			}
 		}
 		}
 		this.m_pPersonal.items.Clear();
 		this.m_pPersonal.items.Clear();
+		ProfileCtrl.m_dicPersonal = new Dictionary<string, Personal.Data>();
 		foreach (Personal.Data data2 in list)
 		foreach (Personal.Data data2 in list)
 		{
 		{
-			this.m_pPersonal.items.Add(data2.drawName);
+			string drawName = data2.drawName;
+			this.m_pPersonal.items.Add(drawName);
+			ProfileCtrl.m_dicPersonal.Add(drawName, 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_clPersonal = childObject3.GetComponent<BoxCollider>();
 		this.m_goPersonalSelectorIcon = UTY.GetChildObject(childObject3, "Symbol", false);
 		this.m_goPersonalSelectorIcon = UTY.GetChildObject(childObject3, "Symbol", false);
 		GameObject childObject4 = UTY.GetChildObject(this.m_goProfilePanel, "CharacterInfo/SexualExperience/PopupList", false);
 		GameObject childObject4 = UTY.GetChildObject(this.m_goProfilePanel, "CharacterInfo/SexualExperience/PopupList", false);
@@ -193,12 +192,12 @@ public class ProfileCtrl : MonoBehaviour
 			}
 			}
 		};
 		};
 		this.m_dicUpperBtn = new Dictionary<ProfileMgr.UpperButtonType, ProfileCtrl.UpperButton>();
 		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
 		try
 		{
 		{
-			while (enumerator4.MoveNext())
+			while (enumerator3.MoveNext())
 			{
 			{
-				object obj = enumerator4.Current;
+				object obj = enumerator3.Current;
 				ProfileMgr.UpperButtonType upperButtonType = (ProfileMgr.UpperButtonType)obj;
 				ProfileMgr.UpperButtonType upperButtonType = (ProfileMgr.UpperButtonType)obj;
 				if (upperButtonType != ProfileMgr.UpperButtonType.None)
 				if (upperButtonType != ProfileMgr.UpperButtonType.None)
 				{
 				{
@@ -217,7 +216,7 @@ public class ProfileCtrl : MonoBehaviour
 		finally
 		finally
 		{
 		{
 			IDisposable disposable;
 			IDisposable disposable;
-			if ((disposable = (enumerator4 as IDisposable)) != null)
+			if ((disposable = (enumerator3 as IDisposable)) != null)
 			{
 			{
 				disposable.Dispose();
 				disposable.Dispose();
 			}
 			}
@@ -335,13 +334,13 @@ public class ProfileCtrl : MonoBehaviour
 	public void LoadMaidParamData()
 	public void LoadMaidParamData()
 	{
 	{
 		this.UpdateProfileData(false);
 		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_inLastName.value = this.m_maidStatus.lastName;
 		this.m_inFirstName.value = this.m_maidStatus.firstName;
 		this.m_inFirstName.value = this.m_maidStatus.firstName;
 		ClassData<JobClass.Data> selectedJobClass = this.m_maidStatus.selectedJobClass;
 		ClassData<JobClass.Data> selectedJobClass = this.m_maidStatus.selectedJobClass;
 		if (selectedJobClass != null)
 		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_lMaidClassLevel.text = selectedJobClass.level.ToString();
 			this.m_lMaidClassExp.text = selectedJobClass.cur_exp.ToString();
 			this.m_lMaidClassExp.text = selectedJobClass.cur_exp.ToString();
 			this.m_lMaidClassRequiredExp.text = selectedJobClass.next_exp.ToString();
 			this.m_lMaidClassRequiredExp.text = selectedJobClass.next_exp.ToString();
@@ -360,8 +359,8 @@ public class ProfileCtrl : MonoBehaviour
 		this.m_lWaist.text = this.m_maidStatus.body.waist.ToString();
 		this.m_lWaist.text = this.m_maidStatus.body.waist.ToString();
 		this.m_lHip.text = this.m_maidStatus.body.hip.ToString();
 		this.m_lHip.text = this.m_maidStatus.body.hip.ToString();
 		this.m_lCup.text = this.m_maidStatus.body.cup;
 		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_lYotogiPlayCount.text = this.m_maidStatus.playCountYotogi.ToString();
 		this.m_lOthersPlayCount.text = this.m_maidStatus.playCountNightWork.ToString();
 		this.m_lOthersPlayCount.text = this.m_maidStatus.playCountNightWork.ToString();
 		this.m_lHp.text = this.m_maidStatus.maxHp.ToString();
 		this.m_lHp.text = this.m_maidStatus.maxHp.ToString();
@@ -382,8 +381,14 @@ public class ProfileCtrl : MonoBehaviour
 		this.m_lHentai.text = this.m_maidStatus.hentai.ToString();
 		this.m_lHentai.text = this.m_maidStatus.hentai.ToString();
 		this.m_lHousi.text = this.m_maidStatus.housi.ToString();
 		this.m_lHousi.text = this.m_maidStatus.housi.ToString();
 		this.m_lMaidPoint.text = SceneEdit.Instance.maidPoint.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_pSexualExperience.value = this.GetSelectOptionNameFromSexualExpe(this.m_maidStatus.seikeiken);
 		this.m_lProfileComment.text = this.m_maidStatus.profileComment;
 		this.m_lProfileComment.text = this.m_maidStatus.profileComment;
 		this.m_inFreeComment.value = this.m_maidStatus.freeComment;
 		this.m_inFreeComment.value = this.m_maidStatus.freeComment;
@@ -422,10 +427,24 @@ public class ProfileCtrl : MonoBehaviour
 
 
 	public void SetSexualExperience(string selectValue)
 	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 +454,7 @@ public class ProfileCtrl : MonoBehaviour
 		{
 		{
 			if (keyValuePair.Value == sexualExperience)
 			if (keyValuePair.Value == sexualExperience)
 			{
 			{
-				return keyValuePair.Key;
+				return EnumConvert.GetTerm(keyValuePair.Value);
 			}
 			}
 		}
 		}
 		return null;
 		return null;
@@ -443,12 +462,12 @@ public class ProfileCtrl : MonoBehaviour
 
 
 	private string GetContractType(Contract contractType)
 	private string GetContractType(Contract contractType)
 	{
 	{
-		return EnumConvert.GetString(contractType);
+		return EnumConvert.GetTerm(contractType);
 	}
 	}
 
 
 	private string GetCondition(Relation relation)
 	private string GetCondition(Relation relation)
 	{
 	{
-		return EnumConvert.GetString(relation);
+		return EnumConvert.GetTerm(relation);
 	}
 	}
 
 
 	private string AdjustStrLengthIfOver(string str, int length)
 	private string AdjustStrLengthIfOver(string str, int length)

+ 4 - 5
Assembly-CSharp/RandomPresetCtrl.cs

@@ -16,10 +16,6 @@ public class RandomPresetCtrl : MonoBehaviour
 				bool condition = csvParser.Open(afileBase);
 				bool condition = csvParser.Open(afileBase);
 				NDebug.Assert(condition, text + "\nopen failed.");
 				NDebug.Assert(condition, text + "\nopen failed.");
 				NDebug.Assert(csvParser.max_cell_y - 1 == this.categoryTitleLabels.Length, text + "に書かれているカテゴリー数とオブジェクト数が一致していません");
 				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();
 		this.LoadRandomLogicParamter();
@@ -61,7 +57,6 @@ public class RandomPresetCtrl : MonoBehaviour
 						mpnmapping.m_buttonName,
 						mpnmapping.m_buttonName,
 						"]が見つかりませんでした"
 						"]が見つかりませんでした"
 					}));
 					}));
-					UTY.GetChildObject(childObject, "Title", false).GetComponent<UILabel>().text = mpnmapping.m_buttonTitle;
 					UIButton component = childObject.GetComponent<UIButton>();
 					UIButton component = childObject.GetComponent<UIButton>();
 					if (!flag)
 					if (!flag)
 					{
 					{
@@ -109,6 +104,7 @@ public class RandomPresetCtrl : MonoBehaviour
 		foreach (KeyValuePair<string, RandomPresetButton> keyValuePair in this.m_dicRandomPresetBtn)
 		foreach (KeyValuePair<string, RandomPresetButton> keyValuePair in this.m_dicRandomPresetBtn)
 		{
 		{
 			RandomPresetButton value = keyValuePair.Value;
 			RandomPresetButton value = keyValuePair.Value;
+			EventDelegate.Add(value.m_btnButton.onClick, new EventDelegate.Callback(this.randomRandomPresetMgr.OnButtonClick));
 			if (value.m_eButtonType == SceneEditInfo.CCateNameType.EType.Item)
 			if (value.m_eButtonType == SceneEditInfo.CCateNameType.EType.Item)
 			{
 			{
 				int num = maid.GetProp(value.m_mpn).nFileNameRID;
 				int num = maid.GetProp(value.m_mpn).nFileNameRID;
@@ -755,6 +751,9 @@ public class RandomPresetCtrl : MonoBehaviour
 	}
 	}
 
 
 	[SerializeField]
 	[SerializeField]
+	private RandomPresetMgr randomRandomPresetMgr;
+
+	[SerializeField]
 	private UILabel[] categoryTitleLabels;
 	private UILabel[] categoryTitleLabels;
 
 
 	private SceneEdit m_sceneEdit;
 	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;
 		private int _textureQuality = QualitySettings.masterTextureLimit;
 
 
-		[StructLayout(LayoutKind.Sequential, Size = 1)]
 		private struct Native
 		private struct Native
 		{
 		{
 			[DllImport("AVProVideo")]
 			[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)
 	public void ClosePanelAfterAction<T>(Func<T, bool> action, T param)
 	{
 	{
 		TweenAlpha tweenAlpha = TweenAlpha.Begin(this.fadeTargetPanel, 0.5f, 0f);
 		TweenAlpha tweenAlpha = TweenAlpha.Begin(this.fadeTargetPanel, 0.5f, 0f);
-		EventDelegate.Set(tweenAlpha.onFinished, delegate
+		EventDelegate.Set(tweenAlpha.onFinished, delegate()
 		{
 		{
 			if (action != null)
 			if (action != null)
 			{
 			{

+ 40 - 16
Assembly-CSharp/ScenarioData.cs

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

+ 6 - 6
Assembly-CSharp/SceneCasino.cs

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

+ 5 - 5
Assembly-CSharp/SceneCasinoShop.cs

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

+ 39 - 19
Assembly-CSharp/SceneEdit.cs

@@ -4,6 +4,7 @@ using System.Collections.Generic;
 using System.IO;
 using System.IO;
 using System.Text;
 using System.Text;
 using System.Text.RegularExpressions;
 using System.Text.RegularExpressions;
+using I2.Loc;
 using Kasizuki;
 using Kasizuki;
 using MaidStatus;
 using MaidStatus;
 using SceneEditWindow;
 using SceneEditWindow;
@@ -460,23 +461,23 @@ public class SceneEdit : MonoBehaviour
 			Dictionary<SceneEdit.TouchType, Action> dictionary3 = new Dictionary<SceneEdit.TouchType, Action>();
 			Dictionary<SceneEdit.TouchType, Action> dictionary3 = new Dictionary<SceneEdit.TouchType, Action>();
 			dictionary3.Add(SceneEdit.TouchType.Head, delegate
 			dictionary3.Add(SceneEdit.TouchType.Head, delegate
 			{
 			{
-				this.$this.OnTouchJump(SceneEdit.TouchType.Head);
+				this.OnTouchJump(SceneEdit.TouchType.Head);
 			});
 			});
 			dictionary3.Add(SceneEdit.TouchType.Bust, delegate
 			dictionary3.Add(SceneEdit.TouchType.Bust, delegate
 			{
 			{
-				this.$this.OnTouchJump(SceneEdit.TouchType.Bust);
+				this.OnTouchJump(SceneEdit.TouchType.Bust);
 			});
 			});
 			dictionary3.Add(SceneEdit.TouchType.UpperBody, delegate
 			dictionary3.Add(SceneEdit.TouchType.UpperBody, delegate
 			{
 			{
-				this.$this.OnTouchJump(SceneEdit.TouchType.UpperBody);
+				this.OnTouchJump(SceneEdit.TouchType.UpperBody);
 			});
 			});
 			dictionary3.Add(SceneEdit.TouchType.LowerBody, delegate
 			dictionary3.Add(SceneEdit.TouchType.LowerBody, delegate
 			{
 			{
-				this.$this.OnTouchJump(SceneEdit.TouchType.LowerBody);
+				this.OnTouchJump(SceneEdit.TouchType.LowerBody);
 			});
 			});
 			dictionary3.Add(SceneEdit.TouchType.Leg, delegate
 			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++)
 			for (int i = 0; i < this.touchJumpColliderList.Count; i++)
 			{
 			{
@@ -526,12 +527,12 @@ public class SceneEdit : MonoBehaviour
 		this.pauseIconWindow.onSelectPauseEvent = delegate(PoseIconData.ItemData data)
 		this.pauseIconWindow.onSelectPauseEvent = delegate(PoseIconData.ItemData data)
 		{
 		{
 			data.ExecScript();
 			data.ExecScript();
-			Maid maid = this.$this.m_maid;
+			Maid maid = this.m_maid;
 			Transform bone = maid.body0.GetBone(data.targetBoneName);
 			Transform bone = maid.body0.GetBone(data.targetBoneName);
 			if (bone != null)
 			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);
 		this.pauseIconWindow.Exec(initPoseId);
@@ -1396,7 +1397,8 @@ public class SceneEdit : MonoBehaviour
 			UnityEngine.Object @object = Resources.Load("SceneEdit/MainMenu/Prefab/ButtonCate");
 			UnityEngine.Object @object = Resources.Load("SceneEdit/MainMenu/Prefab/ButtonCate");
 			GameObject gameObject = NGUITools.AddChild(this.m_Panel_Category.goGrid, @object as GameObject);
 			GameObject gameObject = NGUITools.AddChild(this.m_Panel_Category.goGrid, @object as GameObject);
 			UILabel uilabel = gameObject.GetComponentsInChildren<UILabel>(true)[0];
 			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 buttonEdit = gameObject.GetComponentsInChildren<ButtonEdit>(true)[0];
 			buttonEdit.m_Category = scategory;
 			buttonEdit.m_Category = scategory;
 			UIButton uibutton = gameObject.GetComponentsInChildren<UIButton>(true)[0];
 			UIButton uibutton = gameObject.GetComponentsInChildren<UIButton>(true)[0];
@@ -1467,7 +1469,8 @@ public class SceneEdit : MonoBehaviour
 			UnityEngine.Object @object = Resources.Load("SceneEdit/MainMenu/Prefab/ButtonCate");
 			UnityEngine.Object @object = Resources.Load("SceneEdit/MainMenu/Prefab/ButtonCate");
 			GameObject gameObject = NGUITools.AddChild(this.m_Panel_PartsType.goGrid, @object as GameObject);
 			GameObject gameObject = NGUITools.AddChild(this.m_Panel_PartsType.goGrid, @object as GameObject);
 			UILabel uilabel = gameObject.GetComponentsInChildren<UILabel>(true)[0];
 			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 buttonEdit = gameObject.GetComponentsInChildren<ButtonEdit>(true)[0];
 			buttonEdit.m_PartsType = spartsType;
 			buttonEdit.m_PartsType = spartsType;
 			UIButton uibutton = gameObject.GetComponentsInChildren<UIButton>(true)[0];
 			UIButton uibutton = gameObject.GetComponentsInChildren<UIButton>(true)[0];
@@ -2323,7 +2326,7 @@ public class SceneEdit : MonoBehaviour
 		ButtonEdit componentInChildren = UIEventTrigger.current.GetComponentInChildren<ButtonEdit>();
 		ButtonEdit componentInChildren = UIEventTrigger.current.GetComponentInChildren<ButtonEdit>();
 		SceneEdit.SMenuItem menuItem = componentInChildren.m_MenuItem;
 		SceneEdit.SMenuItem menuItem = componentInChildren.m_MenuItem;
 		Vector3 position = UIEventTrigger.current.transform.parent.position;
 		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()
 	public void HoverOverCallbackOnGroup()
@@ -2331,7 +2334,7 @@ public class SceneEdit : MonoBehaviour
 		ButtonEdit componentInChildren = UIEventTrigger.current.GetComponentInChildren<ButtonEdit>();
 		ButtonEdit componentInChildren = UIEventTrigger.current.GetComponentInChildren<ButtonEdit>();
 		SceneEdit.SMenuItem menuItem = componentInChildren.m_MenuItem;
 		SceneEdit.SMenuItem menuItem = componentInChildren.m_MenuItem;
 		Vector3 position = UIEventTrigger.current.transform.parent.position;
 		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()
 	public void HoverOutCallback()
@@ -2506,11 +2509,11 @@ public class SceneEdit : MonoBehaviour
 
 
 	public void CallHowToNameDialog()
 	public void CallHowToNameDialog()
 	{
 	{
-		this.m_FFNameDlg.Show("名前と苗字のどちらで呼びますか?", "苗字で呼ぶ", delegate
+		this.m_FFNameDlg.ShowFromLanguageTerm("Dialog/名前と苗字のどちらで呼びますか?", "Dialog/result/苗字で呼ぶ", delegate
 		{
 		{
 			this.m_FFNameDlg.Close();
 			this.m_FFNameDlg.Close();
 			this.m_maid.status.isFirstNameCall = false;
 			this.m_maid.status.isFirstNameCall = false;
-		}, "名前で呼ぶ", delegate
+		}, "Dialog/result/名前で呼ぶ", delegate
 		{
 		{
 			this.m_FFNameDlg.Close();
 			this.m_FFNameDlg.Close();
 			this.m_maid.status.isFirstNameCall = true;
 			this.m_maid.status.isFirstNameCall = true;
@@ -2543,7 +2546,7 @@ public class SceneEdit : MonoBehaviour
 			maid.body0.SetMaskMode(TBody.MaskMode.None);
 			maid.body0.SetMaskMode(TBody.MaskMode.None);
 			if (this.modeType == SceneEdit.ModeType.OriginalChara || this.modeType == SceneEdit.ModeType.MainChara)
 			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
 			else
 			{
 			{
@@ -2569,7 +2572,7 @@ public class SceneEdit : MonoBehaviour
 	private void Conform()
 	private void Conform()
 	{
 	{
 		this.m_maid.boMabataki = false;
 		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()
 	private void OnEndDlgOk()
@@ -2915,8 +2918,8 @@ public class SceneEdit : MonoBehaviour
 			MaidColliderCollect.RemoveColliderAll(maid);
 			MaidColliderCollect.RemoveColliderAll(maid);
 			maid.body0.SetMaskMode(TBody.MaskMode.None);
 			maid.body0.SetMaskMode(TBody.MaskMode.None);
 			maid.OpenMouthLookTooth(false);
 			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;
 			maid.Visible = false;
 		}
 		}
 		this.SetCameraOffset(SceneEdit.CAM_OFFS.CENTER);
 		this.SetCameraOffset(SceneEdit.CAM_OFFS.CENTER);
@@ -3133,6 +3136,22 @@ public class SceneEdit : MonoBehaviour
 
 
 	public class SMenuItem : IDisposable
 	public class SMenuItem : IDisposable
 	{
 	{
+		public string menuNameCurrentLanguage
+		{
+			get
+			{
+				return this.m_strMenuName;
+			}
+		}
+
+		public string infoTextCurrentLanguage
+		{
+			get
+			{
+				return this.m_strInfo;
+			}
+		}
+
 		public void Dispose()
 		public void Dispose()
 		{
 		{
 			UnityEngine.Object.DestroyImmediate(this.m_goButton);
 			UnityEngine.Object.DestroyImmediate(this.m_goButton);
@@ -3555,7 +3574,8 @@ public class SceneEdit : MonoBehaviour
 			this.gcSlider = this.goMain.GetComponentsInChildren<UISlider>(true)[0];
 			this.gcSlider = this.goMain.GetComponentsInChildren<UISlider>(true)[0];
 			GameObject childObject = UTY.GetChildObject(this.goMain, "CategoryTitle/Name", false);
 			GameObject childObject = UTY.GetChildObject(this.goMain, "CategoryTitle/Name", false);
 			this.gcLabel = childObject.GetComponent<UILabel>();
 			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);
 			GameObject childObject2 = UTY.GetChildObject(this.goMain, "CategoryTitle/Number/Value", false);
 			this.gcValue = childObject2.GetComponent<UILabel>();
 			this.gcValue = childObject2.GetComponent<UILabel>();
 			this.gcValue.text = "000";
 			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.firstNameInput.onChange, new EventDelegate.Callback(this.OnInputName));
 		EventDelegate.Add(this.enterButton.onClick, new EventDelegate.Callback(this.Close));
 		EventDelegate.Add(this.enterButton.onClick, new EventDelegate.Callback(this.Close));
 		EventDelegate.Add(this.cancelButton.onClick, new EventDelegate.Callback(this.Chancel));
 		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.RemoveFocus();
 			this.lastNameInput.value = MaidRandomName.GetLastName();
 			this.lastNameInput.value = MaidRandomName.GetLastName();
 		});
 		});
-		EventDelegate.Add(this.firstNameRandomButton.onClick, delegate
+		EventDelegate.Add(this.firstNameRandomButton.onClick, delegate()
 		{
 		{
 			this.firstNameInput.RemoveFocus();
 			this.firstNameInput.RemoveFocus();
 			this.firstNameInput.value = MaidRandomName.GetFirstName();
 			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 uiwftabButton = this.CreateItemObject(this.itemGrit.gameObject, list[i]);
 				uiwftabButton.name = list[i].ToString();
 				uiwftabButton.name = list[i].ToString();
 				this.tabButtonDic.Add(list[i], uiwftabButton);
 				this.tabButtonDic.Add(list[i], uiwftabButton);
-				EventDelegate.Add(uiwftabButton.onSelect, delegate
+				EventDelegate.Add(uiwftabButton.onSelect, delegate()
 				{
 				{
 					if (!UIWFSelectButton.selected)
 					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();
 						GameMain.Instance.OvrMgr.ovr_obj.right_controller.grip_collider.ResetGrip();
 					}
 					}
 					MaidColliderCollect component = this.maid.GetComponent<MaidColliderCollect>();
 					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;
 using System.Collections.Generic;
 using System.Collections.Generic;
+using I2.Loc;
 using UnityEngine;
 using UnityEngine;
 using wf;
 using wf;
 
 
@@ -19,11 +20,11 @@ namespace SceneEditWindow
 		public override void Awake()
 		public override void Awake()
 		{
 		{
 			base.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();
 				uiwftabButton.name = i.ToString();
-				EventDelegate.Add(uiwftabButton.onClick, delegate
+				EventDelegate.Add(uiwftabButton.onClick, delegate()
 				{
 				{
 					this.OnClickItem((PresetSaveWindow.SaveType)int.Parse(UIButton.current.name));
 					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>();
 			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]
 		[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 uiwftabButton = this.CreateItemObject(this.itemGrit.gameObject, UndressWindow.IconTexFileNames[i]);
 				uiwftabButton.name = i.ToString();
 				uiwftabButton.name = i.ToString();
-				EventDelegate.Add(uiwftabButton.onClick, delegate
+				EventDelegate.Add(uiwftabButton.onClick, delegate()
 				{
 				{
 					this.OnClickItem((UndressWindow.UndressType)int.Parse(UIButton.current.name));
 					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 uiwftabButton = this.CreateItemObject(this.itemGrit.gameObject, VoiceIconData.ItemData.EmotionTexFileNames[i]);
 				uiwftabButton.name = i.ToString();
 				uiwftabButton.name = i.ToString();
-				EventDelegate.Add(uiwftabButton.onClick, delegate
+				EventDelegate.Add(uiwftabButton.onClick, delegate()
 				{
 				{
 					this.OnClickItem((VoiceIconData.ItemData.EmotionType)int.Parse(UIButton.current.name));
 					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)
 		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);
 				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.gameObject.SetActive(true);
 		this.m_UIButtonCANCEL.onClick.RemoveAllListeners();
 		this.m_UIButtonCANCEL.onClick.RemoveAllListeners();
 		this.m_UIButtonCANCEL.onClick.AddListener(new UnityAction(this.OpenFacilityUIConstruction));
 		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);
 			this.m_UIMainMenu.gameObject.SetActive(true);
 		});
 		});
@@ -419,6 +419,8 @@ public class SceneFacilityManagement : MonoBehaviour
 
 
 	private void SetUpFacilityTypeList()
 	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>();
 		uGUIListViewer component = this.m_UIFacilityTypeList.GetComponent<uGUIListViewer>();
 		Facility facility;
 		Facility facility;
 		if (this.FacilityMgr.GetNextDayFacilityExist(this.m_SelectingFacilityIndex))
 		if (this.FacilityMgr.GetNextDayFacilityExist(this.m_SelectingFacilityIndex))
@@ -435,7 +437,7 @@ public class SceneFacilityManagement : MonoBehaviour
 			num = facility.param.typeID;
 			num = facility.param.typeID;
 		}
 		}
 		Facility.FacilityStatus[] facilityStatusArray = FacilityDataTable.GetFacilityStatusArray(true);
 		Facility.FacilityStatus[] facilityStatusArray = FacilityDataTable.GetFacilityStatusArray(true);
-		List<Facility.FacilityStatus> canBePlaceFacilityDataArray = new List<Facility.FacilityStatus>();
+		<SetUpFacilityTypeList>c__AnonStorey.canBePlaceFacilityDataArray = new List<Facility.FacilityStatus>();
 		Facility value;
 		Facility value;
 		for (int j = 0; j < facilityStatusArray.Length; j++)
 		for (int j = 0; j < facilityStatusArray.Length; j++)
 		{
 		{
@@ -498,14 +500,14 @@ public class SceneFacilityManagement : MonoBehaviour
 							goto IL_280;
 							goto IL_280;
 						}
 						}
 					}
 					}
-					canBePlaceFacilityDataArray.Add(facilityStatusArray[j]);
+					<SetUpFacilityTypeList>c__AnonStorey.canBePlaceFacilityDataArray.Add(facilityStatusArray[j]);
 				}
 				}
 			}
 			}
 			IL_280:;
 			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>();
 			Toggle componentInChildren = trans.GetComponentInChildren<Toggle>();
 			Text componentInChildren2 = trans.GetComponentInChildren<Text>();
 			Text componentInChildren2 = trans.GetComponentInChildren<Text>();
 			componentInChildren2.text = facilityStatus.name;
 			componentInChildren2.text = facilityStatus.name;
@@ -515,27 +517,27 @@ public class SceneFacilityManagement : MonoBehaviour
 				{
 				{
 					return;
 					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);
 				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)
 					if (nextDayFacility)
 					{
 					{
 						num2 -= (long)FacilityDataTable.GetFacilityDefaultCost(nextDayFacility.param.typeID, true);
 						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)
 	public void OpenNowFacilityList(bool isOn)
 	{
 	{
+		SceneFacilityManagement.<OpenNowFacilityList>c__AnonStoreyB <OpenNowFacilityList>c__AnonStoreyB = new SceneFacilityManagement.<OpenNowFacilityList>c__AnonStoreyB();
+		<OpenNowFacilityList>c__AnonStoreyB.$this = this;
 		if (!isOn)
 		if (!isOn)
 		{
 		{
 			return;
 			return;
@@ -814,39 +818,41 @@ public class SceneFacilityManagement : MonoBehaviour
 		this.m_UIButtonOK.onClick.AddListener(new UnityAction(this.ButtonEvent_OK_OpenMainMenu));
 		this.m_UIButtonOK.onClick.AddListener(new UnityAction(this.ButtonEvent_OK_OpenMainMenu));
 		this.SetOKButtonEnable(true);
 		this.SetOKButtonEnable(true);
 		Facility[] facilityArray = this.FacilityMgr.GetFacilityArray();
 		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++)
 		for (int j = 0; j < facilityArray.Length; j++)
 		{
 		{
 			if (facilityArray[j])
 			if (facilityArray[j])
 			{
 			{
-				enableFacilityArray.Add(facilityArray[j]);
+				<OpenNowFacilityList>c__AnonStoreyB.enableFacilityArray.Add(facilityArray[j]);
 			}
 			}
 		}
 		}
 		uGUIListViewer component = this.m_UIFacilityTypeList.GetComponent<uGUIListViewer>();
 		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>();
 			Text componentInChildren = trans.GetComponentInChildren<Text>();
 			Toggle componentInChildren2 = trans.GetComponentInChildren<Toggle>();
 			Toggle componentInChildren2 = trans.GetComponentInChildren<Toggle>();
-			componentInChildren.text = enableFacilityArray[i].facilityName;
+			componentInChildren.text = <OpenNowFacilityList>c__AnonStoreyB.enableFacilityArray[i].facilityName;
 			componentInChildren2.onValueChanged.AddListener(delegate(bool value)
 			componentInChildren2.onValueChanged.AddListener(delegate(bool value)
 			{
 			{
 				if (!value)
 				if (!value)
 				{
 				{
 					return;
 					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)
 	public void OpenFacilityInfoList(bool isOn)
 	{
 	{
+		SceneFacilityManagement.<OpenFacilityInfoList>c__AnonStoreyD <OpenFacilityInfoList>c__AnonStoreyD = new SceneFacilityManagement.<OpenFacilityInfoList>c__AnonStoreyD();
+		<OpenFacilityInfoList>c__AnonStoreyD.$this = this;
 		if (!isOn)
 		if (!isOn)
 		{
 		{
 			return;
 			return;
@@ -869,7 +875,7 @@ public class SceneFacilityManagement : MonoBehaviour
 		this.m_UIButtonOK.onClick.AddListener(new UnityAction(this.ButtonEvent_OK_OpenMainMenu));
 		this.m_UIButtonOK.onClick.AddListener(new UnityAction(this.ButtonEvent_OK_OpenMainMenu));
 		this.SetOKButtonEnable(true);
 		this.SetOKButtonEnable(true);
 		Facility.FacilityStatus[] facilityStatusArray = FacilityDataTable.GetFacilityStatusArray(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++)
 		for (int j = 0; j < facilityStatusArray.Length; j++)
 		{
 		{
 			FacilityDataTable.FacilityDefaultData facilityDefaultData = FacilityDataTable.GetFacilityDefaultData(facilityStatusArray[j].typeID, true);
 			FacilityDataTable.FacilityDefaultData facilityDefaultData = FacilityDataTable.GetFacilityDefaultData(facilityStatusArray[j].typeID, true);
@@ -886,30 +892,30 @@ public class SceneFacilityManagement : MonoBehaviour
 				{
 				{
 					goto IL_18C;
 					goto IL_18C;
 				}
 				}
-				enableFacilityArray.Add(facilityStatusArray[j]);
+				<OpenFacilityInfoList>c__AnonStoreyD.enableFacilityArray.Add(facilityStatusArray[j]);
 			}
 			}
 			IL_18C:;
 			IL_18C:;
 		}
 		}
 		uGUIListViewer component = this.m_UIFacilityTypeList.GetComponent<uGUIListViewer>();
 		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>();
 			Text componentInChildren = trans.GetComponentInChildren<Text>();
 			Toggle componentInChildren2 = trans.GetComponentInChildren<Toggle>();
 			Toggle componentInChildren2 = trans.GetComponentInChildren<Toggle>();
-			componentInChildren.text = enableFacilityArray[i].name;
+			componentInChildren.text = <OpenFacilityInfoList>c__AnonStoreyD.enableFacilityArray[i].name;
 			componentInChildren2.onValueChanged.AddListener(delegate(bool value)
 			componentInChildren2.onValueChanged.AddListener(delegate(bool value)
 			{
 			{
 				if (!value)
 				if (!value)
 				{
 				{
 					return;
 					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()
 	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.nowCost = this.CalcNowCost();
 		this.m_UIFacilityDetails.gameObject.SetActive(false);
 		this.m_UIFacilityDetails.gameObject.SetActive(false);
 		this.m_UIFacilityPowerUpList.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.m_UIButtonOK.onClick.AddListener(new UnityAction(this.ButtonEvent_OK_OpenMainMenu));
 		this.SetOKButtonEnable(true);
 		this.SetOKButtonEnable(true);
 		Facility[] facilityArray = this.FacilityMgr.GetFacilityArray();
 		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++)
 		for (int j = 0; j < facilityArray.Length; j++)
 		{
 		{
 			Facility facility = null;
 			Facility facility = null;
@@ -957,31 +965,31 @@ public class SceneFacilityManagement : MonoBehaviour
 			}
 			}
 			if (facility != null)
 			if (facility != null)
 			{
 			{
-				enableFacilityArray.Add(facility);
+				<OpenFacilityCostumeSettingWindow>c__AnonStoreyF.enableFacilityArray.Add(facility);
 			}
 			}
 		}
 		}
 		uGUIListViewer component = this.m_UIFacilityTypeList.GetComponent<uGUIListViewer>();
 		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>();
 			Text componentInChildren = trans.GetComponentInChildren<Text>();
 			Toggle componentInChildren2 = trans.GetComponentInChildren<Toggle>();
 			Toggle componentInChildren2 = trans.GetComponentInChildren<Toggle>();
-			componentInChildren.text = enableFacilityArray[i].facilityName;
+			componentInChildren.text = <OpenFacilityCostumeSettingWindow>c__AnonStoreyF.enableFacilityArray[i].facilityName;
 			componentInChildren2.onValueChanged.AddListener(delegate(bool value)
 			componentInChildren2.onValueChanged.AddListener(delegate(bool value)
 			{
 			{
 				if (!value)
 				if (!value)
 				{
 				{
 					return;
 					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;
 				componentInChildren2.isOn = true;
 			}
 			}
@@ -1358,7 +1366,7 @@ public class SceneFacilityManagement : MonoBehaviour
 				facility.facilityName = value;
 				facility.facilityName = value;
 				facilityNameUI.enabled = false;
 				facilityNameUI.enabled = false;
 			});
 			});
-			this.m_Button.onClick.AddListener(delegate
+			this.m_Button.onClick.AddListener(delegate()
 			{
 			{
 				facilityNameUI.enabled = true;
 				facilityNameUI.enabled = true;
 				facilityNameUI.interactable = 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(uislider.onChange, new EventDelegate.Callback(this.OnChangeSingleBodyColor));
 		}
 		}
-		EventDelegate.Add(this.playerNameRandomButton.onClick, delegate
+		EventDelegate.Add(this.playerNameRandomButton.onClick, delegate()
 		{
 		{
 			this.playerNameInput.RemoveFocus();
 			this.playerNameInput.RemoveFocus();
 			this.playerNameInput.value = MaidRandomName.GetPlayerName();
 			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.MuneYureL(1f);
 							stockMaid.body0.MuneYureR(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.transform.localScale = Vector3.one;
 							stockMaid.StopKuchipakuPattern();
 							stockMaid.StopKuchipakuPattern();
 							stockMaid.EyeToCamera(Maid.EyeMoveType.目と顔を向ける, 0f);
 							stockMaid.EyeToCamera(Maid.EyeMoveType.目と顔を向ける, 0f);
@@ -269,8 +269,8 @@ public class SceneVRCommunication : MonoBehaviour
 						Maid stockMan = characterMgr.GetStockMan(j);
 						Maid stockMan = characterMgr.GetStockMan(j);
 						if (stockMan != null && stockMan.body0 != null && stockMan.body0.isLoadedBody)
 						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();
 							stockMan.DelPrefabAll();
 						}
 						}
 					}
 					}

+ 3 - 7
Assembly-CSharp/SceneWarning.cs

@@ -5,13 +5,9 @@ public class SceneWarning : MonoBehaviour
 {
 {
 	private void Awake()
 	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";
+		GameObject gameObject = GameObject.Find("UI Root");
+		gameObject.transform.Find(name).gameObject.SetActive(true);
 	}
 	}
 
 
 	private void Start()
 	private void Start()

+ 1 - 1
Assembly-CSharp/ScheduleTaskViewer.cs

@@ -206,7 +206,7 @@ public class ScheduleTaskViewer : MonoBehaviour
 
 
 	private void AddButtonEvent(Button button, int num)
 	private void AddButtonEvent(Button button, int num)
 	{
 	{
-		button.onClick.AddListener(delegate
+		button.onClick.AddListener(delegate()
 		{
 		{
 			this.DoSomething(num);
 			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);
 			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);
 		result.SetInteger(integer);
 	}
 	}
 
 
@@ -2753,6 +2769,22 @@ public class ScriptManager : IDisposable
 		{
 		{
 			likability = kasizukiMgr.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男1, true);
 			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);
 		string likabilityName = LikabilityReplace.GetLikabilityName(likability);
 		result.SetString(likabilityName);
 		result.SetString(likabilityName);
 	}
 	}
@@ -2920,7 +2952,7 @@ public class ScriptManager : IDisposable
 	public void Serialize(BinaryWriter binary)
 	public void Serialize(BinaryWriter binary)
 	{
 	{
 		binary.Write("CM3D2_SCRIPT");
 		binary.Write("CM3D2_SCRIPT");
-		binary.Write(1160);
+		binary.Write(1170);
 		this.adv_kag_.Serialize(binary);
 		this.adv_kag_.Serialize(binary);
 	}
 	}
 
 

+ 96 - 14
Assembly-CSharp/SelectButtonCtrl.cs

@@ -2,6 +2,7 @@
 using System.Collections;
 using System.Collections;
 using System.Collections.Generic;
 using System.Collections.Generic;
 using UnityEngine;
 using UnityEngine;
+using wf;
 
 
 public class SelectButtonCtrl : MonoBehaviour
 public class SelectButtonCtrl : MonoBehaviour
 {
 {
@@ -11,10 +12,13 @@ public class SelectButtonCtrl : MonoBehaviour
 		{
 		{
 			this.Panel = base.transform.parent.gameObject.GetComponent<UIPanel>();
 			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)
 	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_OnClickCallBack = null;
 		this.m_OnClickCallEvent = null;
 		this.m_OnClickCallEvent = null;
 		this.ClearExistSelectButton();
 		this.ClearExistSelectButton();
@@ -24,27 +28,59 @@ public class SelectButtonCtrl : MonoBehaviour
 		foreach (KeyValuePair<string, KeyValuePair<string, bool>> keyValuePair in listSelectBtn)
 		foreach (KeyValuePair<string, KeyValuePair<string, bool>> keyValuePair in listSelectBtn)
 		{
 		{
 			GameObject gameObject = UnityEngine.Object.Instantiate(selectBtnPrefab) as GameObject;
 			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.name = "selectButton_" + num;
 			gameObject.transform.parent = base.transform;
 			gameObject.transform.parent = base.transform;
 			gameObject.transform.localScale = Vector3.one;
 			gameObject.transform.localScale = Vector3.one;
 			gameObject.transform.localPosition = Vector3.zero;
 			gameObject.transform.localPosition = Vector3.zero;
 			gameObject.transform.rotation = Quaternion.identity;
 			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();
 			SelectButtonCtrl.SelectButton selectButton = new SelectButtonCtrl.SelectButton();
 			selectButton.m_btnName = gameObject.name;
 			selectButton.m_btnName = gameObject.name;
 			selectButton.m_goSelectBtn = gameObject;
 			selectButton.m_goSelectBtn = gameObject;
 			selectButton.m_msg = keyValuePair.Key;
 			selectButton.m_msg = keyValuePair.Key;
 			selectButton.m_tag = keyValuePair.Value.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));
 			this.m_listSelectBtn.Add(new KeyValuePair<string, SelectButtonCtrl.SelectButton>(selectButton.m_btnName, selectButton));
 			num++;
 			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;
 		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)
 	public void SetPanelAlpha(float value)
@@ -83,26 +119,28 @@ public class SelectButtonCtrl : MonoBehaviour
 	public void ClickSelectButton()
 	public void ClickSelectButton()
 	{
 	{
 		string b = string.Empty;
 		string b = string.Empty;
-		b = UIButton.current.name;
+		b = UIButton.current.transform.parent.name;
 		foreach (KeyValuePair<string, SelectButtonCtrl.SelectButton> keyValuePair in this.m_listSelectBtn)
 		foreach (KeyValuePair<string, SelectButtonCtrl.SelectButton> keyValuePair in this.m_listSelectBtn)
 		{
 		{
 			GameObject goSelectBtn = keyValuePair.Value.m_goSelectBtn;
 			GameObject goSelectBtn = keyValuePair.Value.m_goSelectBtn;
 			if (keyValuePair.Key == b)
 			if (keyValuePair.Key == b)
 			{
 			{
+				TweenAlpha tweenAlpha;
 				if (GameMain.Instance.ScriptMgr.adv_kag.skip_mode)
 				if (GameMain.Instance.ScriptMgr.adv_kag.skip_mode)
 				{
 				{
-					TweenAlpha.Begin(goSelectBtn, 0.01f, 0f);
+					tweenAlpha = TweenAlpha.Begin(goSelectBtn, 0.01f, 0f);
 				}
 				}
 				else
 				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)
 				if (this.m_OnClickCallBack != null)
 				{
 				{
 					string text = keyValuePair.Value.m_msg;
 					string text = keyValuePair.Value.m_msg;
 					string tag = keyValuePair.Value.m_tag;
 					string tag = keyValuePair.Value.m_tag;
 					Action<string, string> tmp = this.m_OnClickCallBack;
 					Action<string, string> tmp = this.m_OnClickCallBack;
-					this.m_OnClickCallEvent = delegate
+					this.m_OnClickCallEvent = delegate()
 					{
 					{
 						tmp(text, tag);
 						tmp(text, tag);
 					};
 					};
@@ -111,7 +149,11 @@ public class SelectButtonCtrl : MonoBehaviour
 			}
 			}
 			else
 			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)
 				if (GameMain.Instance.ScriptMgr.adv_kag.skip_mode)
 				{
 				{
 					TweenAlpha.Begin(goSelectBtn, 0.01f, 0f);
 					TweenAlpha.Begin(goSelectBtn, 0.01f, 0f);
@@ -121,8 +163,14 @@ public class SelectButtonCtrl : MonoBehaviour
 					TweenAlpha.Begin(goSelectBtn, 0.3f * GameMain.Instance.CMSystem.FadeSpeedRate, 0f);
 					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;
 		this.m_EffectStat = SelectButtonCtrl.EffectStat.EndOut;
 	}
 	}
 
 
@@ -134,7 +182,11 @@ public class SelectButtonCtrl : MonoBehaviour
 		}
 		}
 		this.dragMat.SetActive(false);
 		this.dragMat.SetActive(false);
 		this.ClearExistSelectButton();
 		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;
 		this.m_EffectStat = SelectButtonCtrl.EffectStat.Null;
 		if (this.m_OnClickCallEvent != null)
 		if (this.m_OnClickCallEvent != null)
 		{
 		{
@@ -143,6 +195,30 @@ public class SelectButtonCtrl : MonoBehaviour
 		this.m_OnClickCallEvent = null;
 		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]
 	[SerializeField]
 	private GameObject dragMat;
 	private GameObject dragMat;
 
 
@@ -156,6 +232,12 @@ public class SelectButtonCtrl : MonoBehaviour
 
 
 	private SelectButtonCtrl.EffectStat m_EffectStat;
 	private SelectButtonCtrl.EffectStat m_EffectStat;
 
 
+	private UIGrid grid;
+
+	private UIScrollView scrollView;
+
+	private bool scrollRest;
+
 	private enum EffectStat
 	private enum EffectStat
 	{
 	{
 		Null,
 		Null,

+ 1 - 1
Assembly-CSharp/SlotManager.cs

@@ -54,7 +54,7 @@ public class SlotManager : MonoBehaviour
 		}
 		}
 		this.GetCsv();
 		this.GetCsv();
 		ExChangeUI instance = ExChangeUI.Instance;
 		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.credit = GameMain.Instance.CharacterMgr.status.casinoCoin;
 			this.CreditUpdate();
 			this.CreditUpdate();

+ 1 - 1
Assembly-CSharp/SlotUImgr.cs

@@ -21,7 +21,7 @@ public class SlotUImgr : MonoBehaviour
 	private void Start()
 	private void Start()
 	{
 	{
 		ExChangeUI instance = ExChangeUI.Instance;
 		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;
 			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.ChangeTextureState(StaffRollCtrl.TxetureState.RunnigFade);
 		this.m_tweenTexture = TweenAlpha.Begin(this.m_goTexture, this.fadeInTimeTexure, 1f);
 		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.ChangeTextureState(StaffRollCtrl.TxetureState.Display);
 			this.m_updateTime = Time.time + this.m_dispTextureTime;
 			this.m_updateTime = Time.time + this.m_dispTextureTime;
@@ -100,7 +100,7 @@ public class StaffRollCtrl : MonoBehaviour
 	{
 	{
 		this.ChangeTextureState(StaffRollCtrl.TxetureState.RunnigFade);
 		this.ChangeTextureState(StaffRollCtrl.TxetureState.RunnigFade);
 		TweenAlpha tweenAlpha = TweenAlpha.Begin(this.m_goTexture, this.fadeOutTimeTexure, 0f);
 		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);
 			this.ChangeTextureState(StaffRollCtrl.TxetureState.Next);
 		});
 		});

+ 2 - 2
Assembly-CSharp/StatusViewer.cs

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

+ 3 - 0
Assembly-CSharp/SteamVR_GazeTracker.cs

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

+ 3 - 0
Assembly-CSharp/SteamVR_LaserPointer.cs

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

+ 12 - 0
Assembly-CSharp/SteamVR_TrackedController.cs

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

+ 7 - 2
Assembly-CSharp/SubtitleDisplayManager.cs

@@ -65,7 +65,7 @@ public class SubtitleDisplayManager : MonoBehaviour
 				return;
 				return;
 			}
 			}
 			this.originalUILabel.text = (this.originalText_ = ((!string.IsNullOrEmpty(value)) ? MessageClass.GetWrapString(this.originalUILabel, value) : string.Empty));
 			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_;
 				this.singleUILabel.text = this.originalText_;
 			}
 			}
@@ -86,7 +86,7 @@ public class SubtitleDisplayManager : MonoBehaviour
 				return;
 				return;
 			}
 			}
 			this.subtitlesUILabel.text = (this.subtitlesText_ = ((!string.IsNullOrEmpty(value)) ? value : string.Empty));
 			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_;
 				this.singleUILabel.text = this.subtitlesText_;
 			}
 			}
@@ -295,5 +295,10 @@ public class SubtitleDisplayManager : MonoBehaviour
 			}
 			}
 			return result;
 			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 System;
+using I2.Loc;
 using UnityEngine;
 using UnityEngine;
 
 
 public class SystemDialog : MonoBehaviour
 public class SystemDialog : MonoBehaviour
@@ -47,6 +48,10 @@ public class SystemDialog : MonoBehaviour
 		{
 		{
 			NDebug.Assert("ダイアログの二重呼出しはできません。", false);
 			NDebug.Assert("ダイアログの二重呼出しはできません。", false);
 		}
 		}
+		if (string.IsNullOrEmpty(f_strMsg))
+		{
+			f_strMsg = string.Empty;
+		}
 		this.m_uiMsg.text = f_strMsg.Replace('|', '\n');
 		this.m_uiMsg.text = f_strMsg.Replace('|', '\n');
 		this.m_goOk.SetActive(true);
 		this.m_goOk.SetActive(true);
 		if (f_eType == SystemDialog.TYPE.OK_CANCEL || f_eType == SystemDialog.TYPE.YES_NO)
 		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;
 		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)
 	public void UpdateAlpha(float f_fNewValue)
 	{
 	{
 		this.m_uiPanel.alpha = f_fNewValue;
 		this.m_uiPanel.alpha = f_fNewValue;

+ 19 - 18
Assembly-CSharp/SystemShortcut.cs

@@ -1,5 +1,6 @@
 using System;
 using System;
 using System.Collections.Generic;
 using System.Collections.Generic;
+using I2.Loc;
 using UnityEngine;
 using UnityEngine;
 using UnityEngine.SceneManagement;
 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[9] = new EventDelegate(new EventDelegate.Callback(this.OnClick_Help));
 		this.m_aryDgOnClick[10] = new EventDelegate(new EventDelegate.Callback(this.OnClick_VRAvatar));
 		this.m_aryDgOnClick[10] = new EventDelegate(new EventDelegate.Callback(this.OnClick_VRAvatar));
 		Dictionary<int, string> dictionary = new Dictionary<int, string>();
 		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++)
 		for (int i = 0; i < this.m_aryObjPath.Length; i++)
 		{
 		{
 			this.m_goBtn[i] = UTY.GetChildObject(base.gameObject, this.m_aryObjPath[i], false);
 			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>();
 				UIEventTrigger component = this.m_goBtn[i].GetComponent<UIEventTrigger>();
 				string text = dictionary[i];
 				string text = dictionary[i];
-				EventDelegate.Add(component.onHoverOver, delegate
+				EventDelegate.Add(component.onHoverOver, delegate()
 				{
 				{
 					this.VisibleExplanation(text, true);
 					this.VisibleExplanation(text, true);
 				});
 				});
-				EventDelegate.Add(component.onHoverOut, delegate
+				EventDelegate.Add(component.onHoverOut, delegate()
 				{
 				{
 					this.VisibleExplanation(text, false);
 					this.VisibleExplanation(text, false);
 				});
 				});
-				EventDelegate.Add(component.onDragStart, delegate
+				EventDelegate.Add(component.onDragStart, delegate()
 				{
 				{
 					this.VisibleExplanation(text, false);
 					this.VisibleExplanation(text, false);
 				});
 				});
@@ -220,7 +221,7 @@ public class SystemShortcut : MonoBehaviour
 		{
 		{
 			return;
 			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();
 		this.BaseClose();
 	}
 	}
 
 
@@ -276,11 +277,11 @@ public class SystemShortcut : MonoBehaviour
 		}
 		}
 		if (Application.loadedLevelName != "SceneTitle")
 		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
 		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();
 		this.BaseClose();
 	}
 	}
@@ -450,7 +451,7 @@ public class SystemShortcut : MonoBehaviour
 	{
 	{
 		if (visible)
 		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.width = 0;
 			this.m_labelExplanation.MakePixelPerfect();
 			this.m_labelExplanation.MakePixelPerfect();
 			UISprite component = this.m_spriteExplanation.GetComponent<UISprite>();
 			UISprite component = this.m_spriteExplanation.GetComponent<UISprite>();

+ 35 - 65
Assembly-CSharp/TBody.cs

@@ -31,11 +31,11 @@ public class TBody : MonoBehaviour
 		}
 		}
 	}
 	}
 
 
-	public bool IKExecLate
+	public FullBodyIKCtrl IKCtrl
 	{
 	{
 		get
 		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.maid = maid_;
 		this.boMAN = boMAN_;
 		this.boMAN = boMAN_;
 		this.boMaid = !this.boMAN;
 		this.boMaid = !this.boMAN;
+		this.m_IKCtrl = base.gameObject.AddComponent<FullBodyIKCtrl>();
 		this.m_strSlotName = new string[TBody.m_strDefSlotName.Length];
 		this.m_strSlotName = new string[TBody.m_strDefSlotName.Length];
 		TBody.m_strDefSlotName.CopyTo(this.m_strSlotName, 0);
 		TBody.m_strDefSlotName.CopyTo(this.m_strSlotName, 0);
 		if (this.boMAN)
 		if (this.boMAN)
@@ -300,18 +301,6 @@ public class TBody : MonoBehaviour
 		{
 		{
 			Debug.LogError("HandL null");
 			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.CenterBone = CMT.SearchObjName(this.m_trBones, "center", true);
 		this.ToeR = CMT.SearchObjName(this.m_trBones, text + " R Toe2Nub", true);
 		this.ToeR = CMT.SearchObjName(this.m_trBones, text + " R Toe2Nub", true);
 		this.ToeL = CMT.SearchObjName(this.m_trBones, text + " L 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_R = CMT.SearchObjName(this.m_trBones, "Hip_R", true);
 		this.Hip_L_MR = CMT.SearchObjName(this.m_trBones2, "Hip_L", 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.Hip_R_MR = CMT.SearchObjName(this.m_trBones2, "Hip_R", true);
+		this.m_IKCtrl.Init();
 		if (this.boMAN)
 		if (this.boMAN)
 		{
 		{
 			return;
 			return;
@@ -456,20 +446,6 @@ public class TBody : MonoBehaviour
 			this.m_trHitChildR.localPosition = this.m_trsMuneRsub.localPosition;
 			this.m_trHitChildR.localPosition = this.m_trsMuneRsub.localPosition;
 			this.m_HitChildColliderR = gameObject6.GetComponent<SphereCollider>();
 			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++)
 		for (int i = 0; i < this.goSlot.Count; i++)
 		{
 		{
 			int rot = 270;
 			int rot = 270;
@@ -2552,38 +2528,20 @@ public class TBody : MonoBehaviour
 		{
 		{
 			return;
 			return;
 		}
 		}
-		this.IKHandL.IsExecLate = (this.IKHandR.IsExecLate = false);
-		this.IKMuneL.IsExecLate = (this.IKMuneR.IsExecLate = false);
 		this.MoveHeadAndEye();
 		this.MoveHeadAndEye();
-		this.IKHandL.IKExec();
-		this.IKHandR.IKExec();
 		this.MoveMomoniku();
 		this.MoveMomoniku();
-		if (!this.IKExecLate)
-		{
-			this.AutoTwist();
-		}
 		if (!this.boMAN)
 		if (!this.boMAN)
 		{
 		{
-			this.IKMuneL.SyncAttachPoint();
-			this.IKMuneR.SyncAttachPoint();
 			this.jbMuneL.LateUpdateSelf();
 			this.jbMuneL.LateUpdateSelf();
 			this.jbMuneR.LateUpdateSelf();
 			this.jbMuneR.LateUpdateSelf();
-			this.IKMuneL.IKExec();
-			this.IKMuneR.IKExec();
 		}
 		}
 		if (this.boMAN && this.trManChinko != null)
 		if (this.boMAN && this.trManChinko != null)
 		{
 		{
 			this.trManChinko.localPosition = this.vecChinkoOffset;
 			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)
 		if (!this.boMAN)
 		{
 		{
@@ -2594,13 +2552,6 @@ public class TBody : MonoBehaviour
 			this.JumpDis = (this.JumpDis + this.JumpDis_old) * 0.5f;
 			this.JumpDis = (this.JumpDis + this.JumpDis_old) * 0.5f;
 			this.JumpDis_old = this.JumpDis;
 			this.JumpDis_old = this.JumpDis;
 		}
 		}
-		if (!this.IKExecLate)
-		{
-			for (int j = 0; j < this.goSlot.Count; j++)
-			{
-				this.goSlot[j].Update();
-			}
-		}
 		if (!this.boMAN)
 		if (!this.boMAN)
 		{
 		{
 			this.Calf_L_pos_old = this.Calf_L.position;
 			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_L_pos_old = this.Thigh_L.position;
 			this.Thigh_R_pos_old = this.Thigh_R.position;
 			this.Thigh_R_pos_old = this.Thigh_R.position;
 		}
 		}
+		this.m_IKCtrl.IKUpdate();
 		this.LateUpdateEnd = true;
 		this.LateUpdateEnd = true;
 		if (this.OnLateUpdateEnd != null)
 		if (this.OnLateUpdateEnd != null)
 		{
 		{
 			this.OnLateUpdateEnd();
 			this.OnLateUpdateEnd();
 		}
 		}
 		this.OnLateUpdateEnd = null;
 		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)
 	public float DegPer(float r, float per)
@@ -2963,20 +2927,15 @@ public class TBody : MonoBehaviour
 
 
 	public bool boMAN;
 	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 Action OnLateUpdateEnd;
 
 
 	public bool LateUpdateEnd;
 	public bool LateUpdateEnd;
 
 
+	public Action OnLateUpdate;
+
 	private Transform m_SMbody;
 	private Transform m_SMbody;
 
 
 	public Transform trsHead;
 	public Transform trsHead;
@@ -3515,9 +3474,20 @@ public class TBody : MonoBehaviour
 			this.vechand = Vector3.zero;
 			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;
 			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)
 			if ((knee.position - this.knee_old).sqrMagnitude > 1f)
 			{
 			{
 				this.knee_old = knee.position;
 				this.knee_old = knee.position;

+ 3 - 2
Assembly-CSharp/TatooAlphaWindow.cs

@@ -72,7 +72,7 @@ public class TatooAlphaWindow : BasePhotoWindow
 			}
 			}
 			if (flag)
 			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();
 				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.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);
 				SceneEdit.SPartsType spartsType = scategory.m_listPartsType.Find((SceneEdit.SPartsType a) => a.m_mpn == SceneEdit.Instance.NowMPN);
@@ -100,7 +100,8 @@ public class TatooAlphaWindow : BasePhotoWindow
 									sb.fTexMulAlpha = rids.alpha;
 									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 strMenuName = smenuItem.m_strMenuName;
+							this.m_listSliders.Add(new TatooAlphaWindow.EditAlpha(gameObject, SceneEdit.Instance.NowMPN, j, strMenuName, sb.fTexMulAlpha, SceneEdit.Instance.maid));
 						}
 						}
 					}
 					}
 				}
 				}

+ 6 - 6
Assembly-CSharp/TitleMgr.cs

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

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

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

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

@@ -1,5 +1,6 @@
 using System;
 using System;
 using System.Collections;
 using System.Collections;
+using System.Diagnostics;
 using System.IO;
 using System.IO;
 using System.Linq;
 using System.Linq;
 using UnityEngine;
 using UnityEngine;
@@ -24,6 +25,7 @@ namespace TriLib.Samples
 			}
 			}
 		}
 		}
 
 
+		[DebuggerBrowsable(DebuggerBrowsableState.Never)]
 		private event FileOpenEventHandle OnFileOpen;
 		private event FileOpenEventHandle OnFileOpen;
 
 
 		public void ShowFileOpenDialog(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)
 		public void ShowDialog(Action<string, string> onOk)
 		{
 		{
 			this._okButton.onClick.RemoveAllListeners();
 			this._okButton.onClick.RemoveAllListeners();
-			this._okButton.onClick.AddListener(delegate
+			this._okButton.onClick.AddListener(delegate()
 			{
 			{
 				if (onOk != null)
 				if (onOk != null)
 				{
 				{

+ 11 - 2
Assembly-CSharp/UICamera.cs

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

+ 14 - 1
Assembly-CSharp/UILabel.cs

@@ -1,6 +1,7 @@
 using System;
 using System;
 using System.Collections.Generic;
 using System.Collections.Generic;
 using System.Runtime.CompilerServices;
 using System.Runtime.CompilerServices;
+using I2.Loc;
 using UnityEngine;
 using UnityEngine;
 
 
 [ExecuteInEditMode]
 [ExecuteInEditMode]
@@ -1451,7 +1452,19 @@ public class UILabel : UIWidget
 	{
 	{
 		if (UIPopupList.current != null)
 		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;
 using System.Collections;
 using System.Collections;
 using System.Collections.Generic;
 using System.Collections.Generic;
+using I2.Loc;
 using UnityEngine;
 using UnityEngine;
 
 
 [ExecuteInEditMode]
 [ExecuteInEditMode]
@@ -613,7 +614,11 @@ public class UIPopupList : UIWidgetContainer
 				uilabel.trueTypeFont = this.trueTypeFont;
 				uilabel.trueTypeFont = this.trueTypeFont;
 				uilabel.fontSize = this.fontSize;
 				uilabel.fontSize = this.fontSize;
 				uilabel.fontStyle = this.fontStyle;
 				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.color = this.textColor;
 				uilabel.cachedTransform.localPosition = new Vector3(border.x + this.padding.x - uilabel.pivotOffset.x, num5, -1f);
 				uilabel.cachedTransform.localPosition = new Vector3(border.x + this.padding.x - uilabel.pivotOffset.x, num5, -1f);
 				uilabel.overflowMethod = UILabel.Overflow.ResizeFreely;
 				uilabel.overflowMethod = UILabel.Overflow.ResizeFreely;

+ 3 - 3
Assembly-CSharp/UIStates.cs

@@ -24,13 +24,13 @@ public class UIStates : MonoBehaviour
 	{
 	{
 		this.m_ResultUI.SetActive(false);
 		this.m_ResultUI.SetActive(false);
 		ExChangeUI instance = ExChangeUI.Instance;
 		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_StartButton, false);
 			this.EnableButton(this.m_EndButton, false);
 			this.EnableButton(this.m_EndButton, false);
 		}));
 		}));
 		BetSetUI instance2 = BetSetUI.Instance;
 		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_StartButton, true);
 			this.EnableButton(this.m_EndButton, true);
 			this.EnableButton(this.m_EndButton, true);
@@ -280,7 +280,7 @@ public class UIStates : MonoBehaviour
 		else
 		else
 		{
 		{
 			ChipManager instance = ChipManager.Instance;
 			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));
 				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_buttons, false);
 			this.m_ControllerInputFlag.Add(controller_buttons2, false);
 			this.m_ControllerInputFlag.Add(controller_buttons2, false);
 		}
 		}
+		if (GameMain.Instance.VRMode)
+		{
+			this.ShowItemWindow();
+		}
 	}
 	}
 
 
 	private void ReadPartsData(CsvParser csv, int cx, int cy)
 	private void ReadPartsData(CsvParser csv, int cx, int cy)
@@ -415,13 +419,13 @@ public class UndressDance_Mgr : PartsMgrBase
 								bool flag5 = false;
 								bool flag5 = false;
 								if (is_right)
 								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
 								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;
 								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);
 				bool flag4 = UICamera.hoveredObject && this.m_HoverCheckObj.Contains(UICamera.hoveredObject);
 				if (!flag4 && this.m_WaitCoroutine == null)
 				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)
 					else if (this.m_Inertia)
 					{
 					{
+						ref Vector2 ptr = ref this.m_Velocity;
 						int index;
 						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)
 						if (Mathf.Abs(this.m_Velocity[i]) < 1f)
 						{
 						{
 							this.m_Velocity[i] = 0f;
 							this.m_Velocity[i] = 0f;
 						}
 						}
+						ptr = ref vector2;
 						int index2;
 						int index2;
-						vector2[index2 = i] = vector2[index2] + this.m_Velocity[i] * unscaledDeltaTime;
+						vector2[index2 = i] = ptr[index2] + this.m_Velocity[i] * unscaledDeltaTime;
 					}
 					}
 					else
 					else
 					{
 					{

+ 3 - 3
Assembly-CSharp/VRCanvasManager.cs

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

+ 1 - 1
Assembly-CSharp/VRCanvasManagerMini.cs

@@ -249,7 +249,7 @@ public class VRCanvasManagerMini : VRCanvasManager
 			}
 			}
 			UICanvasFade component = gameObject2.GetComponent<UICanvasFade>();
 			UICanvasFade component = gameObject2.GetComponent<UICanvasFade>();
 			VRTutorialMenu tutorial = gameObject2.GetComponent<VRTutorialMenu>();
 			VRTutorialMenu tutorial = gameObject2.GetComponent<VRTutorialMenu>();
-			callback = (UnityAction)Delegate.Combine(callback, new UnityAction(delegate
+			callback = (UnityAction)Delegate.Combine(callback, new UnityAction(delegate()
 			{
 			{
 				this.RemoveCanvas(canvasTutorial);
 				this.RemoveCanvas(canvasTutorial);
 				UnityEngine.Object.Destroy(tutorial.gameObject);
 				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);
 				image.sprite = (req.asset as Sprite);
 			}));
 			}));
 			button.onClick.RemoveAllListeners();
 			button.onClick.RemoveAllListeners();
-			button.onClick.AddListener(delegate
+			button.onClick.AddListener(delegate()
 			{
 			{
 				buttonData.isPointerStay = false;
 				buttonData.isPointerStay = false;
 				VRExternalFileLoader.Event_CloseMovie();
 				VRExternalFileLoader.Event_CloseMovie();
 				UICanvasFade component2 = this.GetComponent<UICanvasFade>();
 				UICanvasFade component2 = this.GetComponent<UICanvasFade>();
-				component2.FadeOut(component2.fadeTime, component2.isTimeScaling, delegate
+				component2.FadeOut(component2.fadeTime, component2.isTimeScaling, delegate()
 				{
 				{
 					VRCanvasManager.Instance.OpenBeforeVRCanvas();
 					VRCanvasManager.Instance.OpenBeforeVRCanvas();
 				});
 				});

+ 17 - 17
Assembly-CSharp/VRConfigMenu.cs

@@ -154,88 +154,88 @@ public class VRConfigMenu : MonoBehaviour
 		});
 		});
 		GameObject 2DMouseRotInverse = this.m_2DMouseRotInverse;
 		GameObject 2DMouseRotInverse = this.m_2DMouseRotInverse;
 		UnityAction[] array = new UnityAction[2];
 		UnityAction[] array = new UnityAction[2];
-		array[0] = delegate
+		array[0] = delegate()
 		{
 		{
 			GameMain.Instance.CMSystem.VRCamRotDownUp = true;
 			GameMain.Instance.CMSystem.VRCamRotDownUp = true;
 		};
 		};
-		array[1] = delegate
+		array[1] = delegate()
 		{
 		{
 			GameMain.Instance.CMSystem.VRCamRotDownUp = false;
 			GameMain.Instance.CMSystem.VRCamRotDownUp = false;
 		};
 		};
 		VRConfigMenu.SetEvent_ToggleButton(2DMouseRotInverse, array);
 		VRConfigMenu.SetEvent_ToggleButton(2DMouseRotInverse, array);
 		GameObject 2DPlaneMovement = this.m_2DPlaneMovement;
 		GameObject 2DPlaneMovement = this.m_2DPlaneMovement;
 		UnityAction[] array2 = new UnityAction[2];
 		UnityAction[] array2 = new UnityAction[2];
-		array2[0] = delegate
+		array2[0] = delegate()
 		{
 		{
 			GameMain.Instance.CMSystem.VRCameraPlaneMove = true;
 			GameMain.Instance.CMSystem.VRCameraPlaneMove = true;
 		};
 		};
-		array2[1] = delegate
+		array2[1] = delegate()
 		{
 		{
 			GameMain.Instance.CMSystem.VRCameraPlaneMove = false;
 			GameMain.Instance.CMSystem.VRCameraPlaneMove = false;
 		};
 		};
 		VRConfigMenu.SetEvent_ToggleButton(2DPlaneMovement, array2);
 		VRConfigMenu.SetEvent_ToggleButton(2DPlaneMovement, array2);
 		GameObject 2DShowMan = this.m_2DShowMan;
 		GameObject 2DShowMan = this.m_2DShowMan;
 		UnityAction[] array3 = new UnityAction[2];
 		UnityAction[] array3 = new UnityAction[2];
-		array3[0] = delegate
+		array3[0] = delegate()
 		{
 		{
 			GameMain.Instance.CMSystem.VRManShow = true;
 			GameMain.Instance.CMSystem.VRManShow = true;
 		};
 		};
-		array3[1] = delegate
+		array3[1] = delegate()
 		{
 		{
 			GameMain.Instance.CMSystem.VRManShow = false;
 			GameMain.Instance.CMSystem.VRManShow = false;
 		};
 		};
 		VRConfigMenu.SetEvent_ToggleButton(2DShowMan, array3);
 		VRConfigMenu.SetEvent_ToggleButton(2DShowMan, array3);
 		GameObject viveUseSnapRotate = this.m_ViveUseSnapRotate;
 		GameObject viveUseSnapRotate = this.m_ViveUseSnapRotate;
 		UnityAction[] array4 = new UnityAction[2];
 		UnityAction[] array4 = new UnityAction[2];
-		array4[0] = delegate
+		array4[0] = delegate()
 		{
 		{
 			GameMain.Instance.CMSystem.OvrUseSnapRotate = true;
 			GameMain.Instance.CMSystem.OvrUseSnapRotate = true;
 		};
 		};
-		array4[1] = delegate
+		array4[1] = delegate()
 		{
 		{
 			GameMain.Instance.CMSystem.OvrUseSnapRotate = false;
 			GameMain.Instance.CMSystem.OvrUseSnapRotate = false;
 		};
 		};
 		VRConfigMenu.SetEvent_ToggleButton(viveUseSnapRotate, array4);
 		VRConfigMenu.SetEvent_ToggleButton(viveUseSnapRotate, array4);
 		GameObject touchUseSnapRotate = this.m_TouchUseSnapRotate;
 		GameObject touchUseSnapRotate = this.m_TouchUseSnapRotate;
 		UnityAction[] array5 = new UnityAction[2];
 		UnityAction[] array5 = new UnityAction[2];
-		array5[0] = delegate
+		array5[0] = delegate()
 		{
 		{
 			GameMain.Instance.CMSystem.OvrUseSnapRotate = true;
 			GameMain.Instance.CMSystem.OvrUseSnapRotate = true;
 		};
 		};
-		array5[1] = delegate
+		array5[1] = delegate()
 		{
 		{
 			GameMain.Instance.CMSystem.OvrUseSnapRotate = false;
 			GameMain.Instance.CMSystem.OvrUseSnapRotate = false;
 		};
 		};
 		VRConfigMenu.SetEvent_ToggleButton(touchUseSnapRotate, array5);
 		VRConfigMenu.SetEvent_ToggleButton(touchUseSnapRotate, array5);
 		GameObject nonTouchPlaneMovement = this.m_NonTouchPlaneMovement;
 		GameObject nonTouchPlaneMovement = this.m_NonTouchPlaneMovement;
 		UnityAction[] array6 = new UnityAction[2];
 		UnityAction[] array6 = new UnityAction[2];
-		array6[0] = delegate
+		array6[0] = delegate()
 		{
 		{
 			GameMain.Instance.CMSystem.VRCameraPlaneMove = true;
 			GameMain.Instance.CMSystem.VRCameraPlaneMove = true;
 		};
 		};
-		array6[1] = delegate
+		array6[1] = delegate()
 		{
 		{
 			GameMain.Instance.CMSystem.VRCameraPlaneMove = false;
 			GameMain.Instance.CMSystem.VRCameraPlaneMove = false;
 		};
 		};
 		VRConfigMenu.SetEvent_ToggleButton(nonTouchPlaneMovement, array6);
 		VRConfigMenu.SetEvent_ToggleButton(nonTouchPlaneMovement, array6);
 		GameObject nonTouchMouseRotEnable = this.m_NonTouchMouseRotEnable;
 		GameObject nonTouchMouseRotEnable = this.m_NonTouchMouseRotEnable;
 		UnityAction[] array7 = new UnityAction[2];
 		UnityAction[] array7 = new UnityAction[2];
-		array7[0] = delegate
+		array7[0] = delegate()
 		{
 		{
 			GameMain.Instance.CMSystem.OvrMouseRot = true;
 			GameMain.Instance.CMSystem.OvrMouseRot = true;
 		};
 		};
-		array7[1] = delegate
+		array7[1] = delegate()
 		{
 		{
 			GameMain.Instance.CMSystem.OvrMouseRot = false;
 			GameMain.Instance.CMSystem.OvrMouseRot = false;
 		};
 		};
 		VRConfigMenu.SetEvent_ToggleButton(nonTouchMouseRotEnable, array7);
 		VRConfigMenu.SetEvent_ToggleButton(nonTouchMouseRotEnable, array7);
 		GameObject viveFloorHeight = this.m_ViveFloorHeight;
 		GameObject viveFloorHeight = this.m_ViveFloorHeight;
 		UnityAction[] array8 = new UnityAction[2];
 		UnityAction[] array8 = new UnityAction[2];
-		array8[0] = delegate
+		array8[0] = delegate()
 		{
 		{
 			GameMain.Instance.CMSystem.OvrCameraHeightType = CMSystem.OVR_CAM_HEIGHT_TYPE.REAL;
 			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;
 			GameMain.Instance.CMSystem.OvrCameraHeightType = CMSystem.OVR_CAM_HEIGHT_TYPE.VR;
 		};
 		};
@@ -265,7 +265,7 @@ public class VRConfigMenu : MonoBehaviour
 				Debug.LogWarning("[VRConfig]フラグの数がイベントの数より少ない");
 				Debug.LogWarning("[VRConfig]フラグの数がイベントの数より少ない");
 			}
 			}
 			button.onClick.RemoveAllListeners();
 			button.onClick.RemoveAllListeners();
-			button.onClick.AddListener(delegate
+			button.onClick.AddListener(delegate()
 			{
 			{
 				ColorBlock colors;
 				ColorBlock colors;
 				for (int j = 0; j < buttons.Length; j++)
 				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++)
 		for (int i = 0; i < this.m_UIButtonPlantSeeds.Length; i++)
 		{
 		{
 			Button button = this.m_UIButtonPlantSeeds[i];
 			Button button = this.m_UIButtonPlantSeeds[i];
-			button.onClick.AddListener(delegate
+			button.onClick.AddListener(delegate()
 			{
 			{
 				this.ButtonEvent_Selected(button);
 				this.ButtonEvent_Selected(button);
 				if (this.m_OnEventButtonSelected != null)
 				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>();
 		List<VRDialogMenu.DialogButton> list = new List<VRDialogMenu.DialogButton>();
 		if ((style & VRDialogMenu.TYPE_STYLE.NO) != (VRDialogMenu.TYPE_STYLE)0)
 		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);
 				callback(VRDialogMenu.TYPE_STYLE.NO);
 			}));
 			}));
 		}
 		}
 		if ((style & VRDialogMenu.TYPE_STYLE.YES) != (VRDialogMenu.TYPE_STYLE)0)
 		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);
 				callback(VRDialogMenu.TYPE_STYLE.YES);
 			}));
 			}));
 		}
 		}
 		if ((style & VRDialogMenu.TYPE_STYLE.CANCEL) != (VRDialogMenu.TYPE_STYLE)0)
 		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);
 				callback(VRDialogMenu.TYPE_STYLE.CANCEL);
 			}));
 			}));
 		}
 		}
 		if ((style & VRDialogMenu.TYPE_STYLE.OK) != (VRDialogMenu.TYPE_STYLE)0)
 		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);
 				callback(VRDialogMenu.TYPE_STYLE.OK);
 			}));
 			}));
 		}
 		}
 		if ((style & VRDialogMenu.TYPE_STYLE.TV) != (VRDialogMenu.TYPE_STYLE)0)
 		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);
 				callback(VRDialogMenu.TYPE_STYLE.TV);
 			}));
 			}));
 		}
 		}
 		if ((style & VRDialogMenu.TYPE_STYLE.CD) != (VRDialogMenu.TYPE_STYLE)0)
 		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);
 				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.buttonFaces[k].gameObject.SetActive(true);
 			}
 			}
 			element.buttonStart.onClick.RemoveAllListeners();
 			element.buttonStart.onClick.RemoveAllListeners();
-			element.buttonStart.onClick.AddListener(delegate
+			element.buttonStart.onClick.AddListener(delegate()
 			{
 			{
 				if (VRExternalFileLoader.m_LoadingCount > 0)
 				if (VRExternalFileLoader.m_LoadingCount > 0)
 				{
 				{
@@ -528,7 +528,7 @@ public class VRExternalFileLoader : MonoBehaviour
 				{
 				{
 					return;
 					return;
 				}
 				}
-				if (this.m_MediaPlayer == null)
+				if (<CreateMediaInfoButton>c__AnonStoreyA.m_MediaPlayer == null)
 				{
 				{
 					if (VRExternalFileLoader.m_PtrMediaPlayerObject == null)
 					if (VRExternalFileLoader.m_PtrMediaPlayerObject == null)
 					{
 					{
@@ -537,26 +537,26 @@ public class VRExternalFileLoader : MonoBehaviour
 					GameObject[] array = GameObject.FindGameObjectsWithTag("MediaPlayerObj");
 					GameObject[] array = GameObject.FindGameObjectsWithTag("MediaPlayerObj");
 					for (int l = 0; l < array.Length; l++)
 					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;
 							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);
 				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)
 				if (element.imageThumbnail)
 				{
 				{
-					this.m_MovieOutputer.GetComponent<MeshRenderer>().enabled = true;
+					<CreateMediaInfoButton>c__AnonStoreyA.m_MovieOutputer.GetComponent<MeshRenderer>().enabled = true;
 				}
 				}
 				string text3 = "*鑑賞_";
 				string text3 = "*鑑賞_";
 				if (element.faceIndex == 0)
 				if (element.faceIndex == 0)
@@ -646,7 +646,7 @@ public class VRExternalFileLoader : MonoBehaviour
 				}
 				}
 			}
 			}
 			element.buttonStart.onClick.RemoveAllListeners();
 			element.buttonStart.onClick.RemoveAllListeners();
-			element.buttonStart.onClick.AddListener(delegate
+			element.buttonStart.onClick.AddListener(delegate()
 			{
 			{
 				if (VRExternalFileLoader.m_LoadingCount > 0)
 				if (VRExternalFileLoader.m_LoadingCount > 0)
 				{
 				{
@@ -656,7 +656,7 @@ public class VRExternalFileLoader : MonoBehaviour
 				{
 				{
 					return;
 					return;
 				}
 				}
-				if (this.m_MediaPlayer == null)
+				if (<CreateMediaInfoButton3>c__AnonStoreyC.m_MediaPlayer == null)
 				{
 				{
 					if (VRExternalFileLoader.m_PtrMediaPlayerObject == null)
 					if (VRExternalFileLoader.m_PtrMediaPlayerObject == null)
 					{
 					{
@@ -665,26 +665,26 @@ public class VRExternalFileLoader : MonoBehaviour
 					GameObject[] array = GameObject.FindGameObjectsWithTag("MediaPlayerObj");
 					GameObject[] array = GameObject.FindGameObjectsWithTag("MediaPlayerObj");
 					for (int l = 0; l < array.Length; l++)
 					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;
 							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);
 				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)
 				if (element.imageThumbnail)
 				{
 				{
-					this.m_MovieOutputer.GetComponent<MeshRenderer>().enabled = true;
+					<CreateMediaInfoButton3>c__AnonStoreyC.m_MovieOutputer.GetComponent<MeshRenderer>().enabled = true;
 				}
 				}
 				string text2 = "*鑑賞_";
 				string text2 = "*鑑賞_";
 				if (element.faceIndex == 0)
 				if (element.faceIndex == 0)
@@ -756,7 +756,7 @@ public class VRExternalFileLoader : MonoBehaviour
 		if (buttonStart)
 		if (buttonStart)
 		{
 		{
 			buttonStart.onClick.RemoveAllListeners();
 			buttonStart.onClick.RemoveAllListeners();
-			buttonStart.onClick.AddListener(delegate
+			buttonStart.onClick.AddListener(delegate()
 			{
 			{
 				if (this.m_MovieOutputer)
 				if (this.m_MovieOutputer)
 				{
 				{
@@ -915,17 +915,17 @@ public class VRExternalFileLoader : MonoBehaviour
 		VRCanvasManager.Instance.ClearCanvasStack();
 		VRCanvasManager.Instance.ClearCanvasStack();
 		VRDialogMenu vrdialogMenu = VRDialogMenu.CreateDialog();
 		VRDialogMenu vrdialogMenu = VRDialogMenu.CreateDialog();
 		List<VRDialogMenu.DialogButton> list = new List<VRDialogMenu.DialogButton>();
 		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;
 			VRExternalFileLoader.m_MediaNowType = VRExternalFileLoader.TYPE_MEDIA.Music;
 			VRCanvasManager.Instance.OpenVRCanvas(VRCanvasManager.VRCanvasType.MusicPlayer);
 			VRCanvasManager.Instance.OpenVRCanvas(VRCanvasManager.VRCanvasType.MusicPlayer);
 		}, new Vector3(250f, -270f, 0f), new Vector2(300f, 300f)));
 		}, 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;
 			VRExternalFileLoader.m_MediaNowType = VRExternalFileLoader.TYPE_MEDIA.Movie;
 			VRCanvasManager.Instance.OpenVRCanvas(VRCanvasManager.VRCanvasType.MoviePlayer);
 			VRCanvasManager.Instance.OpenVRCanvas(VRCanvasManager.VRCanvasType.MoviePlayer);
 		}, new Vector3(-250f, -270f, 0f), new Vector2(300f, 300f)));
 		}, 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 = "*鑑賞_終了";
 			string label_name = "*鑑賞_終了";
 			Maid maid = GameMain.Instance.CharacterMgr.GetMaid(0);
 			Maid maid = GameMain.Instance.CharacterMgr.GetMaid(0);

+ 5 - 5
Assembly-CSharp/VRFaceShortcutConfig.cs

@@ -45,7 +45,7 @@ public class VRFaceShortcutConfig : MonoBehaviour
 		this.CreateDefaultItems();
 		this.CreateDefaultItems();
 		this.CreateViveItems();
 		this.CreateViveItems();
 		NGUIWindow fadeWindowThis = this.m_FadeWindowThis;
 		NGUIWindow fadeWindowThis = this.m_FadeWindowThis;
-		fadeWindowThis.OnClose = (Action)Delegate.Combine(fadeWindowThis.OnClose, new Action(delegate
+		fadeWindowThis.OnClose = (Action)Delegate.Combine(fadeWindowThis.OnClose, new Action(delegate()
 		{
 		{
 			ControllerShortcutSettingData.config.Write();
 			ControllerShortcutSettingData.config.Write();
 		}));
 		}));
@@ -332,7 +332,7 @@ public class VRFaceShortcutConfig : MonoBehaviour
 		{
 		{
 			base.Awake();
 			base.Awake();
 			this.slider = VRFaceShortcutConfig.GetChildObject<UISlider>(base.gameObject, "slider");
 			this.slider = VRFaceShortcutConfig.GetChildObject<UISlider>(base.gameObject, "slider");
-			EventDelegate.Add(this.slider.onChange, delegate
+			EventDelegate.Add(this.slider.onChange, delegate()
 			{
 			{
 				if (this.onValueChanged != null)
 				if (this.onValueChanged != null)
 				{
 				{
@@ -340,7 +340,7 @@ public class VRFaceShortcutConfig : MonoBehaviour
 				}
 				}
 			});
 			});
 			UISlider slider = this.slider;
 			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)
 				if (this.onDragFinished != null)
 				{
 				{
@@ -420,7 +420,7 @@ public class VRFaceShortcutConfig : MonoBehaviour
 			this.buttonLeft = VRFaceShortcutConfig.GetChildObject<UIButton>(base.gameObject, "button left");
 			this.buttonLeft = VRFaceShortcutConfig.GetChildObject<UIButton>(base.gameObject, "button left");
 			this.textRight = this.buttonRight.GetComponentInChildren<UILabel>();
 			this.textRight = this.buttonRight.GetComponentInChildren<UILabel>();
 			this.textLeft = this.buttonLeft.GetComponentInChildren<UILabel>();
 			this.textLeft = this.buttonLeft.GetComponentInChildren<UILabel>();
-			EventDelegate.Add(this.buttonRight.onClick, delegate
+			EventDelegate.Add(this.buttonRight.onClick, delegate()
 			{
 			{
 				if (this.onClickIsLeft != null)
 				if (this.onClickIsLeft != null)
 				{
 				{
@@ -428,7 +428,7 @@ public class VRFaceShortcutConfig : MonoBehaviour
 				}
 				}
 				this.OnClickButton(false);
 				this.OnClickButton(false);
 			});
 			});
-			EventDelegate.Add(this.buttonLeft.onClick, delegate
+			EventDelegate.Add(this.buttonLeft.onClick, delegate()
 			{
 			{
 				if (this.onClickIsLeft != null)
 				if (this.onClickIsLeft != null)
 				{
 				{

+ 1 - 1
Assembly-CSharp/VRIKGeneralObjectSetter.cs

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

+ 3 - 3
Assembly-CSharp/VRManualMenu.cs

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

+ 2 - 2
Assembly-CSharp/VRMiniGameManager.cs

@@ -136,7 +136,7 @@ public class VRMiniGameManager : MonoBehaviour
 			this.ClearQueueVoice();
 			this.ClearQueueVoice();
 			this.m_MiniGameState = VRMiniGameManager.VRMiniGameState.Playing;
 			this.m_MiniGameState = VRMiniGameManager.VRMiniGameState.Playing;
 			UICanvasFade component = ui.GetComponent<UICanvasFade>();
 			UICanvasFade component = ui.GetComponent<UICanvasFade>();
-			component.FadeOut(0.5f, false, delegate
+			component.FadeOut(0.5f, false, delegate()
 			{
 			{
 				UnityEngine.Object.Destroy(ui.gameObject);
 				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.AddQueueVoice(voiceType);
 			this.FinishMiniGame();
 			this.FinishMiniGame();

+ 2 - 2
Assembly-CSharp/VRMiniGameScoreBoard.cs

@@ -94,9 +94,9 @@ public class VRMiniGameScoreBoard : MonoBehaviour
 		this.m_TextResultMessage.text = message;
 		this.m_TextResultMessage.text = message;
 		UICanvasFade fade = base.GetComponent<UICanvasFade>();
 		UICanvasFade fade = base.GetComponent<UICanvasFade>();
 		this.m_ButtonExit.onClick.RemoveAllListeners();
 		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();
 				callback();
 			});
 			});

+ 6 - 6
Assembly-CSharp/VRMiniGameSetup.cs

@@ -109,18 +109,18 @@ public class VRMiniGameSetup : MonoBehaviour
 			{
 			{
 				if (hand != null)
 				if (hand != null)
 				{
 				{
-					this.$this.m_Controller = hand.VRControllerButtons;
+					this.m_Controller = hand.VRControllerButtons;
 				}
 				}
 				else
 				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.gameObject.SetActive(true);
 						gameObject.transform.SetParent(this.m_ScrollArea, false);
 						gameObject.transform.SetParent(this.m_ScrollArea, false);
 						gameObject.GetComponentInChildren<Text>().text = cellAsString3;
 						gameObject.GetComponentInChildren<Text>().text = cellAsString3;
-						gameObject.GetComponent<Button>().onClick.AddListener(delegate
+						gameObject.GetComponent<Button>().onClick.AddListener(delegate()
 						{
 						{
 							string path = this.m_uGUIAtlasPath + imageName;
 							string path = this.m_uGUIAtlasPath + imageName;
 							this.StartCoroutine(this.Coroutine_Load<Sprite>(path, delegate(ResourceRequest req)
 							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;
 		Status status = GameMain.Instance.CharacterMgr.status;
 		this.m_ButtonMaid01.onClick.RemoveAllListeners();
 		this.m_ButtonMaid01.onClick.RemoveAllListeners();
-		this.m_ButtonMaid01.onClick.AddListener(delegate
+		this.m_ButtonMaid01.onClick.AddListener(delegate()
 		{
 		{
 			this.m_NowFlagName = "バケーションレンタルお掃除大作戦_1";
 			this.m_NowFlagName = "バケーションレンタルお掃除大作戦_1";
 			this.m_VoiceFileName = "N21_00540";
 			this.m_VoiceFileName = "N21_00540";
@@ -17,7 +17,7 @@ public class VRRentalMaidMenu : MonoBehaviour
 			this.m_ImageTargetFrame.SetParent(this.m_ButtonMaid01.transform, true);
 			this.m_ImageTargetFrame.SetParent(this.m_ButtonMaid01.transform, true);
 		});
 		});
 		this.m_ButtonMaid02.onClick.RemoveAllListeners();
 		this.m_ButtonMaid02.onClick.RemoveAllListeners();
-		this.m_ButtonMaid02.onClick.AddListener(delegate
+		this.m_ButtonMaid02.onClick.AddListener(delegate()
 		{
 		{
 			this.m_NowFlagName = "バケーションレンタルお掃除大作戦_2";
 			this.m_NowFlagName = "バケーションレンタルお掃除大作戦_2";
 			this.m_VoiceFileName = "N22_00543";
 			this.m_VoiceFileName = "N22_00543";
@@ -25,7 +25,7 @@ public class VRRentalMaidMenu : MonoBehaviour
 			this.m_ImageTargetFrame.SetParent(this.m_ButtonMaid02.transform, true);
 			this.m_ImageTargetFrame.SetParent(this.m_ButtonMaid02.transform, true);
 		});
 		});
 		this.m_ButtonMaid03.onClick.RemoveAllListeners();
 		this.m_ButtonMaid03.onClick.RemoveAllListeners();
-		this.m_ButtonMaid03.onClick.AddListener(delegate
+		this.m_ButtonMaid03.onClick.AddListener(delegate()
 		{
 		{
 			this.m_NowFlagName = "バケーションレンタルお掃除大作戦_3";
 			this.m_NowFlagName = "バケーションレンタルお掃除大作戦_3";
 			this.m_VoiceFileName = "N23_00301";
 			this.m_VoiceFileName = "N23_00301";

+ 1 - 1
Assembly-CSharp/VRSelectorMenu.cs

@@ -65,7 +65,7 @@ public class VRSelectorMenu : MonoBehaviour
 			componentInChildren.text = choice.strText;
 			componentInChildren.text = choice.strText;
 			if (callback != null)
 			if (callback != null)
 			{
 			{
-				component.onClick.AddListener(delegate
+				component.onClick.AddListener(delegate()
 				{
 				{
 					callback(choice);
 					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(callback);
 		}
 		}
-		this.m_ButtonReturn.onClick.AddListener(delegate
+		this.m_ButtonReturn.onClick.AddListener(delegate()
 		{
 		{
 			VRCanvasManager.Instance.OpenVRCanvas(VRCanvasManager.VRCanvasType.MainMenu);
 			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 component = data.Element.GetComponent<VRVIPMenuElement>();
 								VRVIPMenuElement vrvipmenuElement = component;
 								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);
 									this.EventElementClick(data, scriptName);
 									GameMain.Instance.SoundMgr.PlaySystem(SoundMgr.SeType.Click);
 									GameMain.Instance.SoundMgr.PlaySystem(SoundMgr.SeType.Click);
 								}));
 								}));
 								VRVIPMenuElement vrvipmenuElement2 = component;
 								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;
 									data.isPointerDown = true;
 								}));
 								}));
 								VRVIPMenuElement vrvipmenuElement3 = component;
 								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;
 									data.isPointerDown = false;
 								}));
 								}));
 								VRVIPMenuElement vrvipmenuElement4 = component;
 								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;
 									data.isPointerStay = true;
 									GameMain.Instance.SoundMgr.PlaySystem(SoundMgr.SeType.Hover);
 									GameMain.Instance.SoundMgr.PlaySystem(SoundMgr.SeType.Hover);
 								}));
 								}));
 								VRVIPMenuElement vrvipmenuElement5 = component;
 								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.isPointerStay = false;
 									data.isPointerDown = false;
 									data.isPointerDown = false;

+ 1 - 1
Assembly-CSharp/WindowPartsFingerPreset.cs

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

+ 1 - 1
Assembly-CSharp/WindowPartsPopUpList.cs

@@ -6,7 +6,7 @@ public class WindowPartsPopUpList : MonoBehaviour
 {
 {
 	public virtual void Awake()
 	public virtual void Awake()
 	{
 	{
-		EventDelegate.Add(this.PopupList.onChange, delegate
+		EventDelegate.Add(this.PopupList.onChange, delegate()
 		{
 		{
 			if (this.onChangePopUpListValue == null || this.onChangePopUpListValue.Count <= 0)
 			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)
 			if (this.PosInput != null)
 			{
 			{
 				this.visible_setting_btn_dic_.Add("move", UTY.GetChildObject(this.VisibleSettingTab.gameObject, "MoveBtn/Btn", false).GetComponent<UIWFTabButton>());
 				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.axis_visible_type_ = WindowPartsTransform.AxisVisibleType.Position;
 					this.OnChangeAxisVisibleType();
 					this.OnChangeAxisVisibleType();
@@ -26,7 +26,7 @@ public class WindowPartsTransform : MonoBehaviour
 			if (this.RotateInput != null)
 			if (this.RotateInput != null)
 			{
 			{
 				this.visible_setting_btn_dic_.Add("rotate", UTY.GetChildObject(this.VisibleSettingTab.gameObject, "RotateBtn/Btn", false).GetComponent<UIWFTabButton>());
 				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.axis_visible_type_ = WindowPartsTransform.AxisVisibleType.Rotate;
 					this.OnChangeAxisVisibleType();
 					this.OnChangeAxisVisibleType();
@@ -39,7 +39,7 @@ public class WindowPartsTransform : MonoBehaviour
 			if (this.PosInput != null || this.RotateInput != null)
 			if (this.PosInput != null || this.RotateInput != null)
 			{
 			{
 				this.visible_setting_btn_dic_.Add("unvisible", UTY.GetChildObject(this.VisibleSettingTab.gameObject, "UnVisibleBtn/Btn", false).GetComponent<UIWFTabButton>());
 				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.axis_visible_type_ = WindowPartsTransform.AxisVisibleType.UnVisible;
 					this.OnChangeAxisVisibleType();
 					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;
+	}
+}

+ 20 - 10
Assembly-CSharp/YotogiCommandFactory.cs

@@ -93,11 +93,11 @@ public class YotogiCommandFactory : MonoBehaviour
 		List<KeyValuePair<string, List<Skill.Data.Command.Data>>> list = new List<KeyValuePair<string, List<Skill.Data.Command.Data>>>();
 		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++)
 		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;
 			bool flag = true;
 			for (int j = 0; j < list.Count; j++)
 			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]);
 					list[j].Value.Add(skill_command.data[i]);
 					flag = false;
 					flag = false;
@@ -106,7 +106,7 @@ public class YotogiCommandFactory : MonoBehaviour
 			}
 			}
 			if (flag)
 			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]);
 				list[list.Count - 1].Value.Add(skill_command.data[i]);
 			}
 			}
 		}
 		}
@@ -127,22 +127,22 @@ public class YotogiCommandFactory : MonoBehaviour
 					children.data = list[k].Value[l];
 					children.data = list[k].Value[l];
 					children.id = num;
 					children.id = num;
 					children.visible = false;
 					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.button = children.this_object.GetComponent<UIButton>();
 					children.nameLabel = children.this_object.GetComponentInChildren<UILabel>();
 					children.nameLabel = children.this_object.GetComponentInChildren<UILabel>();
 					children.eventCollider = children.this_object.GetComponentInChildren<UIEventTrigger>().GetComponent<BoxCollider>();
 					children.eventCollider = children.this_object.GetComponentInChildren<UIEventTrigger>().GetComponent<BoxCollider>();
 					children.transform = children.this_object.transform;
 					children.transform = children.this_object.transform;
 					UIEventTrigger component = children.eventCollider.GetComponent<UIEventTrigger>();
 					UIEventTrigger component = children.eventCollider.GetComponent<UIEventTrigger>();
 					YotogiCommandFactory.Command.Children data = children;
 					YotogiCommandFactory.Command.Children data = children;
-					EventDelegate.Add(component.onHoverOver, delegate
+					EventDelegate.Add(component.onHoverOver, delegate()
 					{
 					{
 						this.OnHoverOver(data);
 						this.OnHoverOver(data);
 					});
 					});
-					EventDelegate.Add(component.onHoverOut, delegate
+					EventDelegate.Add(component.onHoverOut, delegate()
 					{
 					{
 						this.OnHoverOut(data);
 						this.OnHoverOut(data);
 					});
 					});
-					EventDelegate.Add(component.onDragStart, delegate
+					EventDelegate.Add(component.onDragStart, delegate()
 					{
 					{
 						this.OnHoverOut(data);
 						this.OnHoverOut(data);
 					});
 					});
@@ -184,7 +184,7 @@ public class YotogiCommandFactory : MonoBehaviour
 
 
 	public void AddCommand(Skill.Data.Command.Data command_data)
 	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++)
 		for (int i = 0; i < command.children.Length; i++)
 		{
 		{
 			if (command.children[i].data == command_data)
 			if (command.children[i].data == command_data)
@@ -219,7 +219,7 @@ public class YotogiCommandFactory : MonoBehaviour
 
 
 	public void RemoveCommand(Skill.Data.Command.Data command_data)
 	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++)
 		for (int i = 0; i < command.children.Length; i++)
 		{
 		{
 			if (command.children[i].data == command_data)
 			if (command.children[i].data == command_data)
@@ -248,7 +248,7 @@ public class YotogiCommandFactory : MonoBehaviour
 
 
 	public GameObject GetCommandGameObject(Skill.Data.Command.Data command_data)
 	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++)
 		for (int i = 0; i < command.children.Length; i++)
 		{
 		{
 			if (command.children[i].data == command_data)
 			if (command.children[i].data == command_data)
@@ -349,6 +349,16 @@ public class YotogiCommandFactory : MonoBehaviour
 		}
 		}
 	}
 	}
 
 
+	private string GetGroupName(Skill.Data.Command.Data.Basic commandDataBasic)
+	{
+		return commandDataBasic.group_name;
+	}
+
+	private string GetCommandName(Skill.Data.Command.Data.Basic commandDataBasic)
+	{
+		return commandDataBasic.name;
+	}
+
 	public GameObject HiddenTree;
 	public GameObject HiddenTree;
 
 
 	private UIGrid grid_;
 	private UIGrid grid_;

+ 4 - 10
Assembly-CSharp/YotogiManager.cs

@@ -319,8 +319,8 @@ public class YotogiManager : WfScreenManager
 			{
 			{
 				stockMaid.body0.MuneYureL(1f);
 				stockMaid.body0.MuneYureL(1f);
 				stockMaid.body0.MuneYureR(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++)
 		for (int j = 0; j < characterMgr.GetStockManCount(); j++)
@@ -328,8 +328,8 @@ public class YotogiManager : WfScreenManager
 			Maid stockMan = characterMgr.GetStockMan(j);
 			Maid stockMan = characterMgr.GetStockMan(j);
 			if (stockMan != null && stockMan.body0 != null && stockMan.body0.isLoadedBody)
 			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[]
 		string[] array = new string[]
@@ -555,7 +555,6 @@ public class YotogiManager : WfScreenManager
 	{
 	{
 		get
 		get
 		{
 		{
-			GameMain.Instance.MainCamera.IsFadeOut();
 			return false;
 			return false;
 		}
 		}
 	}
 	}
@@ -564,7 +563,6 @@ public class YotogiManager : WfScreenManager
 	{
 	{
 		get
 		get
 		{
 		{
-			GameMain.Instance.MainCamera.IsFadeOut();
 			return false;
 			return false;
 		}
 		}
 	}
 	}
@@ -573,7 +571,6 @@ public class YotogiManager : WfScreenManager
 	{
 	{
 		get
 		get
 		{
 		{
-			GameMain.Instance.MainCamera.IsFadeOut();
 			return false;
 			return false;
 		}
 		}
 	}
 	}
@@ -582,7 +579,6 @@ public class YotogiManager : WfScreenManager
 	{
 	{
 		get
 		get
 		{
 		{
-			GameMain.Instance.MainCamera.IsFadeOut();
 			return false;
 			return false;
 		}
 		}
 	}
 	}
@@ -591,7 +587,6 @@ public class YotogiManager : WfScreenManager
 	{
 	{
 		get
 		get
 		{
 		{
-			GameMain.Instance.MainCamera.IsFadeOut();
 			return false;
 			return false;
 		}
 		}
 	}
 	}
@@ -600,7 +595,6 @@ public class YotogiManager : WfScreenManager
 	{
 	{
 		get
 		get
 		{
 		{
-			GameMain.Instance.MainCamera.IsFadeOut();
 			return false;
 			return false;
 		}
 		}
 	}
 	}

+ 4 - 4
Assembly-CSharp/YotogiOldManager.cs

@@ -302,8 +302,8 @@ public class YotogiOldManager : WfScreenManager
 			{
 			{
 				stockMaid.body0.MuneYureL(1f);
 				stockMaid.body0.MuneYureL(1f);
 				stockMaid.body0.MuneYureR(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++)
 		for (int j = 0; j < characterMgr.GetStockManCount(); j++)
@@ -311,8 +311,8 @@ public class YotogiOldManager : WfScreenManager
 			Maid stockMan = characterMgr.GetStockMan(j);
 			Maid stockMan = characterMgr.GetStockMan(j);
 			if (stockMan != null && stockMan.body0 != null && stockMan.body0.isLoadedBody)
 			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[]
 		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));
 			EventDelegate.Add(component.onClick, new EventDelegate.Callback(this.OnSkillIconClick));
 			UIEventTrigger component3 = childObject.GetComponent<UIEventTrigger>();
 			UIEventTrigger component3 = childObject.GetComponent<UIEventTrigger>();
 			int num = i;
 			int num = i;
-			EventDelegate.Add(component3.onHoverOver, delegate
+			EventDelegate.Add(component3.onHoverOver, delegate()
 			{
 			{
 				this.VisibleSkillName(num, true);
 				this.VisibleSkillName(num, true);
 			});
 			});
-			EventDelegate.Add(component3.onHoverOut, delegate
+			EventDelegate.Add(component3.onHoverOut, delegate()
 			{
 			{
 				this.VisibleSkillName(num, false);
 				this.VisibleSkillName(num, false);
 			});
 			});
-			EventDelegate.Add(component3.onDragStart, delegate
+			EventDelegate.Add(component3.onDragStart, delegate()
 			{
 			{
 				this.VisibleSkillName(num, false);
 				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.icon_btn_obj_ = this.skill_icon_obj.GetComponent<UIButton>();
 			this.skill_icon_scripts_ = this.skill_icon_obj.GetComponent<YotogiOldSkillIcon>();
 			this.skill_icon_scripts_ = this.skill_icon_obj.GetComponent<YotogiOldSkillIcon>();
 			this.btn_event_trigger_ = this.skill_icon_obj.gameObject.GetComponent<UIEventTrigger>();
 			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);
 				this.VisibleSkillName(true);
 			});
 			});
-			EventDelegate.Add(this.btn_event_trigger_.onHoverOut, delegate
+			EventDelegate.Add(this.btn_event_trigger_.onHoverOut, delegate()
 			{
 			{
 				this.VisibleSkillName(false);
 				this.VisibleSkillName(false);
 			});
 			});
-			EventDelegate.Add(this.btn_event_trigger_.onDragStart, delegate
+			EventDelegate.Add(this.btn_event_trigger_.onDragStart, delegate()
 			{
 			{
 				this.VisibleSkillName(false);
 				this.VisibleSkillName(false);
 			});
 			});
@@ -262,15 +262,15 @@ public class YotogiOldSkillContainerViewer
 			this.btn_event_trigger_.onHoverOver.Clear();
 			this.btn_event_trigger_.onHoverOver.Clear();
 			this.btn_event_trigger_.onHoverOut.Clear();
 			this.btn_event_trigger_.onHoverOut.Clear();
 			this.btn_event_trigger_.onDragStart.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);
 				this.VisibleSkillName(true);
 			});
 			});
-			EventDelegate.Add(this.btn_event_trigger_.onHoverOut, delegate
+			EventDelegate.Add(this.btn_event_trigger_.onHoverOut, delegate()
 			{
 			{
 				this.VisibleSkillName(false);
 				this.VisibleSkillName(false);
 			});
 			});
-			EventDelegate.Add(this.btn_event_trigger_.onDragStart, delegate
+			EventDelegate.Add(this.btn_event_trigger_.onDragStart, delegate()
 			{
 			{
 				this.VisibleSkillName(false);
 				this.VisibleSkillName(false);
 			});
 			});
@@ -281,15 +281,15 @@ public class YotogiOldSkillContainerViewer
 			target.btn_event_trigger_.onHoverOver.Clear();
 			target.btn_event_trigger_.onHoverOver.Clear();
 			target.btn_event_trigger_.onHoverOut.Clear();
 			target.btn_event_trigger_.onHoverOut.Clear();
 			target.btn_event_trigger_.onDragStart.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);
 				target.VisibleSkillName(true);
 			});
 			});
-			EventDelegate.Add(target.btn_event_trigger_.onHoverOut, delegate
+			EventDelegate.Add(target.btn_event_trigger_.onHoverOut, delegate()
 			{
 			{
 				target.VisibleSkillName(false);
 				target.VisibleSkillName(false);
 			});
 			});
-			EventDelegate.Add(target.btn_event_trigger_.onDragStart, delegate
+			EventDelegate.Add(target.btn_event_trigger_.onDragStart, delegate()
 			{
 			{
 				target.VisibleSkillName(false);
 				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.result_anime_exp_system_.SetTotalExp(start_total_exp);
 		this.UpdateGage(this.result_anime_exp_system_);
 		this.UpdateGage(this.result_anime_exp_system_);
-		this.anime_event_ = delegate
+		this.anime_event_ = delegate()
 		{
 		{
 			iTween.ValueTo(this.gameObject, iTween.Hash(new object[]
 			iTween.ValueTo(this.gameObject, iTween.Hash(new object[]
 			{
 			{

+ 29 - 13
Assembly-CSharp/YotogiParamScroll.cs

@@ -1,6 +1,7 @@
 using System;
 using System;
 using System.Collections;
 using System.Collections;
 using System.Collections.Generic;
 using System.Collections.Generic;
+using I2.Loc;
 using UnityEngine;
 using UnityEngine;
 using wf;
 using wf;
 
 
@@ -11,10 +12,10 @@ public class YotogiParamScroll : MonoBehaviour
 		this.panel_ = UTY.GetChildObject(base.gameObject, "Mask", false).GetComponent<UIPanel>();
 		this.panel_ = UTY.GetChildObject(base.gameObject, "Mask", false).GetComponent<UIPanel>();
 		this.parent_obj_ = UTY.GetChildObject(base.gameObject, "Parent", false);
 		this.parent_obj_ = UTY.GetChildObject(base.gameObject, "Parent", false);
 		Transform transform = this.parent_obj_.transform;
 		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++)
 		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.base_pos = transform.localPosition;
 		this.hide_pos = this.base_pos;
 		this.hide_pos = this.base_pos;
@@ -28,7 +29,7 @@ public class YotogiParamScroll : MonoBehaviour
 	{
 	{
 		for (int i = 0; i < this.label_array.Length; i++)
 		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)
 		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);
 			this.parent_obj_.transform.SetParent(base.transform, false);
 			for (int j = 0; j < this.label_array.Length; j++)
 			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;
 		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;
 		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++)
 		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++)
 		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];
 			KeyValuePair<string, int> keyValuePair = draw_param[j];
 			YotogiParamScroll.SetLabelText(this.label_array[j], keyValuePair.Key, keyValuePair.Value);
 			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);
 			this.parent_obj_.transform.SetParent(base.transform, false);
 			for (int k = 0; k < this.label_array.Length; k++)
 			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;
 		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);
 			this.parent_obj_.transform.SetParent(this.panel_.transform, false);
 			for (int i = 0; i < this.label_array.Length; i++)
 			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 hashtable = TweenHash.EaseOutSine(TweenHash.Type.Position, this.end_pos, this.MoveSpeedTime);
 			hashtable.Add("oncomplete", "OnEndFadeOut");
 			hashtable.Add("oncomplete", "OnEndFadeOut");
@@ -117,16 +118,18 @@ public class YotogiParamScroll : MonoBehaviour
 		this.parent_obj_.transform.SetParent(base.transform, false);
 		this.parent_obj_.transform.SetParent(base.transform, false);
 		for (int i = 0; i < this.label_array.Length; i++)
 		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.parent_obj_.transform.localPosition = this.hide_pos;
 		this.state_ = YotogiParamScroll.State.Null;
 		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;
 	public int WaitTime = 2500;
@@ -137,7 +140,7 @@ public class YotogiParamScroll : MonoBehaviour
 
 
 	private GameObject parent_obj_;
 	private GameObject parent_obj_;
 
 
-	private UILabel[] label_array;
+	private YotogiParamScroll.LabelAndLocalize[] label_array;
 
 
 	private Vector3 base_pos;
 	private Vector3 base_pos;
 
 
@@ -157,4 +160,17 @@ public class YotogiParamScroll : MonoBehaviour
 		Wait,
 		Wait,
 		FadeOut
 		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;
 using System.Collections.Generic;
 using System.Collections.Generic;
+using I2.Loc;
 using MaidStatus;
 using MaidStatus;
 using UnityEngine;
 using UnityEngine;
 
 
@@ -48,15 +49,13 @@ public class YotogiParameterViewer : MonoBehaviour
 			return;
 			return;
 		}
 		}
 		Status status = this.maid_.status;
 		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.Name].text = status.lastName + "\n" + status.firstName;
 		this.label_dictionary_[YotogiParameterViewer.LabelType.YotogiPlayCount].text = status.playCountYotogi.ToString();
 		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>();
 		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()
 	public void UpdateTextParam()

+ 13 - 7
Assembly-CSharp/YotogiPlayManager.cs

@@ -2,6 +2,7 @@
 using System.Collections;
 using System.Collections;
 using System.Collections.Generic;
 using System.Collections.Generic;
 using System.IO;
 using System.IO;
+using I2.Loc;
 using MaidStatus;
 using MaidStatus;
 using UnityEngine;
 using UnityEngine;
 using wf;
 using wf;
@@ -47,15 +48,15 @@ public class YotogiPlayManager : WfScreenChildren
 			EventDelegate.Add(component.onClick, new EventDelegate.Callback(this.OnSkillIconClick));
 			EventDelegate.Add(component.onClick, new EventDelegate.Callback(this.OnSkillIconClick));
 			UIEventTrigger component3 = childObject.GetComponent<UIEventTrigger>();
 			UIEventTrigger component3 = childObject.GetComponent<UIEventTrigger>();
 			int num = i;
 			int num = i;
-			EventDelegate.Add(component3.onHoverOver, delegate
+			EventDelegate.Add(component3.onHoverOver, delegate()
 			{
 			{
 				this.VisibleSkillName(num, true);
 				this.VisibleSkillName(num, true);
 			});
 			});
-			EventDelegate.Add(component3.onHoverOut, delegate
+			EventDelegate.Add(component3.onHoverOut, delegate()
 			{
 			{
 				this.VisibleSkillName(num, false);
 				this.VisibleSkillName(num, false);
 			});
 			});
-			EventDelegate.Add(component3.onDragStart, delegate
+			EventDelegate.Add(component3.onDragStart, delegate()
 			{
 			{
 				this.VisibleSkillName(num, false);
 				this.VisibleSkillName(num, false);
 			});
 			});
@@ -377,7 +378,7 @@ public class YotogiPlayManager : WfScreenChildren
 			}
 			}
 			else
 			else
 			{
 			{
-				GameMain.Instance.SysDlg.Show("気絶しました。\n夜伽を終了します。", SystemDialog.TYPE.OK, delegate
+				GameMain.Instance.SysDlg.ShowFromLanguageTerm("Dialog/気絶して夜伽終了報告", SystemDialog.TYPE.OK, delegate
 				{
 				{
 					GameMain.Instance.SysDlg.Close();
 					GameMain.Instance.SysDlg.Close();
 					this.playing_skill_no_ = -1;
 					this.playing_skill_no_ = -1;
@@ -1348,7 +1349,7 @@ public class YotogiPlayManager : WfScreenChildren
 
 
 	private bool OnEnabledCommand(Skill.Data.Command.Data command_data)
 	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))
 			if (command_data.basic.isEstrusTriggerCommand && (200 > this.maid_status_.currentExcite || 300 > this.maid_status_.currentSensual))
 			{
 			{
@@ -1531,6 +1532,7 @@ public class YotogiPlayManager : WfScreenChildren
 			UIButton component3 = childObject.GetComponent<UIButton>();
 			UIButton component3 = childObject.GetComponent<UIButton>();
 			UISprite component4 = UTY.GetChildObject(gameObject, "SkillName", false).GetComponent<UISprite>();
 			UISprite component4 = UTY.GetChildObject(gameObject, "SkillName", false).GetComponent<UISprite>();
 			UILabel componentInChildren = component4.GetComponentInChildren<UILabel>();
 			UILabel componentInChildren = component4.GetComponentInChildren<UILabel>();
+			Localize component5 = componentInChildren.GetComponent<Localize>();
 			UIRect uirect = component4;
 			UIRect uirect = component4;
 			float alpha = 0f;
 			float alpha = 0f;
 			componentInChildren.alpha = alpha;
 			componentInChildren.alpha = alpha;
@@ -1543,6 +1545,10 @@ public class YotogiPlayManager : WfScreenChildren
 			else
 			else
 			{
 			{
 				componentInChildren.text = playingSkillData.skill_pair.base_data.name;
 				componentInChildren.text = playingSkillData.skill_pair.base_data.name;
+				if (component5 != null)
+				{
+					component5.SetTerm(playingSkillData.skill_pair.base_data.termName);
+				}
 				componentInChildren.width = 0;
 				componentInChildren.width = 0;
 				componentInChildren.MakePixelPerfect();
 				componentInChildren.MakePixelPerfect();
 				component4.width = componentInChildren.width + 20;
 				component4.width = componentInChildren.width + 20;
@@ -1568,8 +1574,8 @@ public class YotogiPlayManager : WfScreenChildren
 					component3.enabled = true;
 					component3.enabled = true;
 					childObject.GetComponent<UIPlayAnimation>().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++;
 			num++;
 		}
 		}

+ 9 - 9
Assembly-CSharp/YotogiSkillContainerViewer.cs

@@ -232,15 +232,15 @@ public class YotogiSkillContainerViewer
 			this.icon_btn_obj_ = this.skill_icon_obj.GetComponent<UIButton>();
 			this.icon_btn_obj_ = this.skill_icon_obj.GetComponent<UIButton>();
 			this.skill_icon_scripts_ = this.skill_icon_obj.GetComponent<YotogiSkillIcon>();
 			this.skill_icon_scripts_ = this.skill_icon_obj.GetComponent<YotogiSkillIcon>();
 			this.btn_event_trigger_ = this.skill_icon_obj.gameObject.GetComponent<UIEventTrigger>();
 			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);
 				this.VisibleSkillName(true);
 			});
 			});
-			EventDelegate.Add(this.btn_event_trigger_.onHoverOut, delegate
+			EventDelegate.Add(this.btn_event_trigger_.onHoverOut, delegate()
 			{
 			{
 				this.VisibleSkillName(false);
 				this.VisibleSkillName(false);
 			});
 			});
-			EventDelegate.Add(this.btn_event_trigger_.onDragStart, delegate
+			EventDelegate.Add(this.btn_event_trigger_.onDragStart, delegate()
 			{
 			{
 				this.VisibleSkillName(false);
 				this.VisibleSkillName(false);
 			});
 			});
@@ -285,15 +285,15 @@ public class YotogiSkillContainerViewer
 			this.btn_event_trigger_.onHoverOver.Clear();
 			this.btn_event_trigger_.onHoverOver.Clear();
 			this.btn_event_trigger_.onHoverOut.Clear();
 			this.btn_event_trigger_.onHoverOut.Clear();
 			this.btn_event_trigger_.onDragStart.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);
 				this.VisibleSkillName(true);
 			});
 			});
-			EventDelegate.Add(this.btn_event_trigger_.onHoverOut, delegate
+			EventDelegate.Add(this.btn_event_trigger_.onHoverOut, delegate()
 			{
 			{
 				this.VisibleSkillName(false);
 				this.VisibleSkillName(false);
 			});
 			});
-			EventDelegate.Add(this.btn_event_trigger_.onDragStart, delegate
+			EventDelegate.Add(this.btn_event_trigger_.onDragStart, delegate()
 			{
 			{
 				this.VisibleSkillName(false);
 				this.VisibleSkillName(false);
 			});
 			});
@@ -304,15 +304,15 @@ public class YotogiSkillContainerViewer
 			target.btn_event_trigger_.onHoverOver.Clear();
 			target.btn_event_trigger_.onHoverOver.Clear();
 			target.btn_event_trigger_.onHoverOut.Clear();
 			target.btn_event_trigger_.onHoverOut.Clear();
 			target.btn_event_trigger_.onDragStart.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);
 				target.VisibleSkillName(true);
 			});
 			});
-			EventDelegate.Add(target.btn_event_trigger_.onHoverOut, delegate
+			EventDelegate.Add(target.btn_event_trigger_.onHoverOut, delegate()
 			{
 			{
 				target.VisibleSkillName(false);
 				target.VisibleSkillName(false);
 			});
 			});
-			EventDelegate.Add(target.btn_event_trigger_.onDragStart, delegate
+			EventDelegate.Add(target.btn_event_trigger_.onDragStart, delegate()
 			{
 			{
 				target.VisibleSkillName(false);
 				target.VisibleSkillName(false);
 			});
 			});

+ 3 - 2
Assembly-CSharp/YotogiSkillSelectManager.cs

@@ -1,6 +1,7 @@
 using System;
 using System;
 using System.Collections;
 using System.Collections;
 using System.Collections.Generic;
 using System.Collections.Generic;
+using I2.Loc;
 using MaidStatus;
 using MaidStatus;
 using UnityEngine;
 using UnityEngine;
 using wf;
 using wf;
@@ -31,7 +32,7 @@ public class YotogiSkillSelectManager : WfScreenChildren
 			this.category_data_array_[i].category = (Yotogi.Category)i;
 			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 = Utility.CreatePrefab(childObject2, "SceneYotogi/SkillSelect/Prefab/CategoryBtn", true);
 			this.category_data_array_[i].obj.name = this.category_data_array_[i].category.ToString();
 			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>();
 			UIWFTabButton component = UTY.GetChildObject(this.category_data_array_[i].obj, "Button", false).GetComponent<UIWFTabButton>();
 			EventDelegate eventDelegate = new EventDelegate(this, "OnClickFromCategoryButton");
 			EventDelegate eventDelegate = new EventDelegate(this, "OnClickFromCategoryButton");
 			EventDelegate.Parameter[] parameters = eventDelegate.parameters;
 			EventDelegate.Parameter[] parameters = eventDelegate.parameters;
@@ -355,7 +356,7 @@ public class YotogiSkillSelectManager : WfScreenChildren
 		this.yotogi_mgr_.SetPlaySkillArray(array);
 		this.yotogi_mgr_.SetPlaySkillArray(array);
 		if (this.maid_.status.currentHp <= 0)
 		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();
 				GameMain.Instance.SysDlg.Close();
 				if (this.yotogi_mgr_.null_mgr.IsExistNextLabel())
 				if (this.yotogi_mgr_.null_mgr.IsExistNextLabel())

+ 3 - 1
Assembly-CSharp/YotogiSkillUnit.cs

@@ -1,5 +1,6 @@
 using System;
 using System;
 using System.Collections.Generic;
 using System.Collections.Generic;
+using I2.Loc;
 using MaidStatus;
 using MaidStatus;
 using UnityEngine;
 using UnityEngine;
 using Yotogis;
 using Yotogis;
@@ -81,6 +82,7 @@ public class YotogiSkillUnit : MonoBehaviour
 			this.lock_unit_.SetSkillData(param_data);
 			this.lock_unit_.SetSkillData(param_data);
 		}
 		}
 		this.name_obj_.GetComponent<UILabel>().text = this.skill_data_.name;
 		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.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.cost_of_hp_obj.GetComponent<UILabel>().text = this.skill_data_.exec_need_hp.ToString();
 		this.icon_.SetSkillData(this.skill_data_);
 		this.icon_.SetSkillData(this.skill_data_);
@@ -123,7 +125,7 @@ public class YotogiSkillUnit : MonoBehaviour
 		}
 		}
 		this.result_anime_exp_system_.SetTotalExp(start_total_exp);
 		this.result_anime_exp_system_.SetTotalExp(start_total_exp);
 		this.UpdateGage(this.result_anime_exp_system_);
 		this.UpdateGage(this.result_anime_exp_system_);
-		this.anime_event_ = delegate
+		this.anime_event_ = delegate()
 		{
 		{
 			iTween.ValueTo(this.gameObject, iTween.Hash(new object[]
 			iTween.ValueTo(this.gameObject, iTween.Hash(new object[]
 			{
 			{

+ 10 - 0
Assembly-CSharp/YotogiStage.cs

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

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

@@ -1516,6 +1516,14 @@ namespace Yotogis
 
 
 			public Skill.Data connect_faint_skill { get; private set; }
 			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 Yotogi.Category category;
 
 
 			public readonly int id;
 			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 Skill.Data skill;
 
 
 						public readonly int skill_id;
 						public readonly int skill_id;

+ 70 - 64
Assembly-CSharp/uGUIKaraokeSelect.cs

@@ -52,6 +52,8 @@ public class uGUIKaraokeSelect : MonoBehaviour
 
 
 	public void OpenListSelectMusic(bool isOn)
 	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_ButtonOK, true);
 		this.SetButtonActive(this.m_ButtonCANCEL, true);
 		this.SetButtonActive(this.m_ButtonCANCEL, true);
 		this.SetButtonActive(this.m_ButtonStart, false);
 		this.SetButtonActive(this.m_ButtonStart, false);
@@ -59,18 +61,18 @@ public class uGUIKaraokeSelect : MonoBehaviour
 		this.SetButtonInteractable(this.m_ButtonOK, true);
 		this.SetButtonInteractable(this.m_ButtonOK, true);
 		this.SetButtonInteractable(this.m_ButtonCANCEL, true);
 		this.SetButtonInteractable(this.m_ButtonCANCEL, true);
 		this.ShowListViewer();
 		this.ShowListViewer();
-		KaraokeDataManager.MusicData[] musicArray = this.GetMusicDataArray();
+		<OpenListSelectMusic>c__AnonStorey.musicArray = this.GetMusicDataArray();
 		this.m_BeforeSelectedGameObject = null;
 		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>();
 			Toggle component = item.GetComponent<Toggle>();
 			uGUIKaraokeSelect.uGUIItemListButton itemNumber = item.AddComponent<uGUIKaraokeSelect.uGUIItemListButton>();
 			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.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)
 			component.onValueChanged.AddListener(delegate(bool value)
 			{
 			{
 				if (!value)
 				if (!value)
@@ -78,37 +80,39 @@ public class uGUIKaraokeSelect : MonoBehaviour
 					return;
 					return;
 				}
 				}
 				int number = itemNumber.number;
 				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.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.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)
 	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_ButtonOK, true);
 		this.SetButtonActive(this.m_ButtonCANCEL, true);
 		this.SetButtonActive(this.m_ButtonCANCEL, true);
 		this.SetButtonActive(this.m_ButtonStart, false);
 		this.SetButtonActive(this.m_ButtonStart, false);
@@ -116,55 +120,57 @@ public class uGUIKaraokeSelect : MonoBehaviour
 		this.SetButtonInteractable(this.m_ButtonOK, true);
 		this.SetButtonInteractable(this.m_ButtonOK, true);
 		this.SetButtonInteractable(this.m_ButtonCANCEL, true);
 		this.SetButtonInteractable(this.m_ButtonCANCEL, true);
 		this.ShowListViewer();
 		this.ShowListViewer();
-		KaraokeDataManager.BackgroundData[] backgroundArray = this.GetBackgroundDataArray();
+		<OpenListSelectBG>c__AnonStorey.backgroundArray = this.GetBackgroundDataArray();
 		this.m_BeforeSelectedGameObject = null;
 		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>();
 			Toggle component = item.GetComponent<Toggle>();
 			item.AddComponent<uGUIKaraokeSelect.uGUIItemListButton>().number = index;
 			item.AddComponent<uGUIKaraokeSelect.uGUIItemListButton>().number = index;
-			if (this.GetNowSelectingBackgroundDataIndex() == index)
+			if (<OpenListSelectBG>c__AnonStorey.$this.GetNowSelectingBackgroundDataIndex() == index)
 			{
 			{
 				component.isOn = true;
 				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)
 			component.onValueChanged.AddListener(delegate(bool value)
 			{
 			{
 				if (!value)
 				if (!value)
 				{
 				{
 					return;
 					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.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.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)
 	public void OpenListSelectFood(bool isOn)
 	{
 	{
+		uGUIKaraokeSelect.<OpenListSelectFood>c__AnonStorey4 <OpenListSelectFood>c__AnonStorey = new uGUIKaraokeSelect.<OpenListSelectFood>c__AnonStorey4();
+		<OpenListSelectFood>c__AnonStorey.$this = this;
 		if (!isOn)
 		if (!isOn)
 		{
 		{
 			return;
 			return;
@@ -181,50 +187,50 @@ public class uGUIKaraokeSelect : MonoBehaviour
 		this.SetButtonInteractable(this.m_ButtonOK, true);
 		this.SetButtonInteractable(this.m_ButtonOK, true);
 		this.SetButtonInteractable(this.m_ButtonCANCEL, true);
 		this.SetButtonInteractable(this.m_ButtonCANCEL, true);
 		this.ShowListViewer();
 		this.ShowListViewer();
-		KaraokeDataManager.FoodData[] foodArray = this.GetFoodDataArray();
+		<OpenListSelectFood>c__AnonStorey.foodArray = this.GetFoodDataArray();
 		this.m_BeforeSelectedGameObject = null;
 		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>();
 			Toggle component = item.GetComponent<Toggle>();
 			item.AddComponent<uGUIKaraokeSelect.uGUIItemListButton>().number = index;
 			item.AddComponent<uGUIKaraokeSelect.uGUIItemListButton>().number = index;
-			if (this.m_SelectingFoodDataIndex == index)
+			if (<OpenListSelectFood>c__AnonStorey.$this.m_SelectingFoodDataIndex == index)
 			{
 			{
 				component.isOn = true;
 				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)
 			component.onValueChanged.AddListener(delegate(bool value)
 			{
 			{
 				if (!value)
 				if (!value)
 				{
 				{
 					return;
 					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.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.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)
 		if (this.m_ParentUIListViewer.gameObject.activeSelf)
 		{
 		{
 			UICanvasFade component = this.m_ParentUIListViewer.GetComponent<UICanvasFade>();
 			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);
 				this.m_ParentUIListViewer.gameObject.SetActive(false);
 			});
 			});

+ 12 - 10
Assembly-CSharp/uGUITutorialPanel.cs

@@ -102,6 +102,8 @@ public class uGUITutorialPanel : MonoBehaviour
 
 
 	private void Initialize(string type, Action callback)
 	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();
 		Transform uirootTrans = this.GetUIRootTrans();
 		if (uirootTrans != null)
 		if (uirootTrans != null)
 		{
 		{
@@ -114,9 +116,9 @@ public class uGUITutorialPanel : MonoBehaviour
 		this.m_CacheSpriteArray = new Dictionary<string, Sprite>();
 		this.m_CacheSpriteArray = new Dictionary<string, Sprite>();
 		this.m_CallbackClose = callback;
 		this.m_CallbackClose = callback;
 		this.m_ButtonOK.interactable = true;
 		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);
 		this.ReadCSV(type);
 		if (this.IsMultiMode())
 		if (this.IsMultiMode())
@@ -126,8 +128,8 @@ public class uGUITutorialPanel : MonoBehaviour
 			int itemCount = this.m_strFileNameArray.Length;
 			int itemCount = this.m_strFileNameArray.Length;
 			this.m_ListViewerButtons.Show<Toggle>(itemCount, delegate(int i, Toggle toggle)
 			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;
 					toggle.isOn = true;
 				}
 				}
@@ -146,7 +148,7 @@ public class uGUITutorialPanel : MonoBehaviour
 					{
 					{
 						return;
 						return;
 					}
 					}
-					this.OpenPage(i);
+					<Initialize>c__AnonStorey.OpenPage(i);
 				});
 				});
 			});
 			});
 		}
 		}
@@ -156,12 +158,12 @@ public class uGUITutorialPanel : MonoBehaviour
 			this.m_ParentSingleMode.SetActive(true);
 			this.m_ParentSingleMode.SetActive(true);
 		}
 		}
 		this.OpenPage(0);
 		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;
 		});
 		});
 	}
 	}