using ExIni; using System; using System.Collections; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using UnityEngine; using UnityEngine.Rendering; using Object = UnityEngine.Object; namespace CM3D2.MultipleMaids.Plugin { public partial class MultipleMaids { const int DRAG_BAR_HEIGHT = 5; public void OnGUI() { for (int index1 = 0; index1 < maidCnt; ++index1) { if (isPoseIti[index1]) { Maid maid = maidArray[index1]; isPoseIti[index1] = false; maid.transform.position = poseIti[index1]; Vector3 eulerAngles = maid.transform.eulerAngles; for (int index2 = 0; index2 < 10; ++index2) { Transform transform1 = maid.transform; Vector3 position1 = maid.transform.position; Vector3 right = Vector3.right; Quaternion rotation = maid.transform.rotation; double num1 = -rotation.eulerAngles.x; transform1.RotateAround(position1, right, (float)num1); Transform transform2 = maid.transform; Vector3 position2 = maid.transform.position; Vector3 forward = Vector3.forward; rotation = maid.transform.rotation; double num2 = -rotation.eulerAngles.z; transform2.RotateAround(position2, forward, (float)num2); } Transform transform = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01", true); transform.position = new Vector3(poseIti[index1].x, transform.position.y, poseIti[index1].z); maid.transform.eulerAngles = eulerAngles; } } GUIStyle style = GUI.skin.box; style.fontSize = GetPix(11); style.alignment = TextAnchor.UpperRight; if (bGui) { if (isGuiInit || screenSize != new Vector2(Screen.width, Screen.height)) { isGuiInit = false; screenSize = new Vector2(Screen.width, Screen.height); //rectWin.x = screenSize.x - rectWin.width; //rectWin.y = GetPix(65); //if (sceneLevel == 14) // rectWin.x = screenSize.x - rectWin.width - GetPix(23); } rectWin.height = Screen.height * 0.9f; rectWin.width = GetPix(kankyoFlg || kankyo2Flg ? 210 : 170); if (sceneLevel == 5 || sceneLevel == 14) rectWin.height *= 0.85f; comboBoxControl.height = rectWin.height; faceCombo.height = rectWin.height; poseCombo.height = rectWin.height; poseGroupCombo.height = rectWin.height; itemCombo.height = rectWin.height; bgmCombo.height = rectWin.height; itemCombo2.height = rectWin.height; bgCombo2.height = rectWin.height; kankyoCombo.height = rectWin.height; bgCombo.height = rectWin.height; slotCombo.height = rectWin.height; doguCombo.height = rectWin.height; parCombo.height = rectWin.height; lightCombo.height = rectWin.height; GameMain.Instance.MainCamera.SetControl(true); if (!sceneFlg && !faceFlg && !poseFlg && !kankyoFlg && !kankyo2Flg && !isF6 && okFlg) { if (Input.GetAxis("Mouse ScrollWheel") != 0.0) { GameMain.Instance.MainCamera.SetControl(!rectWin.Contains(new Vector2(Input.mousePosition.x, Screen.height - Input.mousePosition.y))); } rectWin = GUI.Window(129, rectWin, MaidCallWindow, "", style); } else if (sceneFlg) { rectWin = GUI.Window(129, rectWin, GuiFunc5, "", style); Rect rect = new Rect(0.0f, 0.0f, 0.0f, 0.0f); dispNo = 0; for (int index = 0; index < 10; ++index) { rect = new Rect(0.0f, 0.0f, GetPix(170), GetPix(36)); rect.x = screenSize.x - rect.width; rect.y = rectWin.y + GetPix(64 + 50 * index); if (rect.Contains(new Vector2(Input.mousePosition.x, Screen.height - Input.mousePosition.y))) { dispNo = index + 1; break; } } if (saveScene2 > 0) { dispNo = 0; } if (dispNo == 0) { texture2D = null; dispNoOld = 0; } else if (dispNo != dispNoOld) { dispNoOld = dispNo; texture2D = null; try { IniKey iniKey = Preferences["scene"]["ss" + (page * 10 + dispNo)]; if (iniKey.Value != null && iniKey.Value != "") { byte[] data = Convert.FromBase64String(iniKey.Value); texture2D = new Texture2D(1, 1, TextureFormat.ARGB32, false); texture2D.LoadImage(data); } } catch { } } if (texture2D != null) { if (waku == null) { waku = MakeTex(2, 2, new Color(1f, 1f, 1f, 1f)); waku2 = MakeTex(2, 2, new Color(0.0f, 0.0f, 0.0f, 0.4f)); } Rect position1 = new Rect(rect.x - texture2D.width - GetPix(18), rect.y - texture2D.height / 2 + GetPix(12), texture2D.width + GetPix(12), texture2D.height + GetPix(12)); Rect position2 = new Rect(rect.x - texture2D.width - GetPix(12), rect.y - texture2D.height / 2 + GetPix(18), texture2D.width, texture2D.height); Rect position3 = new Rect(rect.x - texture2D.width - GetPix(16), rect.y - texture2D.height / 2 + GetPix(14), texture2D.width + GetPix(12), texture2D.height + GetPix(12)); if (position1.y + (double)position1.height > Screen.height) { float num = position3.y + position3.height - Screen.height; position1.y -= num; position2.y -= num; position3.y -= num; } GUI.DrawTexture(position3, waku2); GUI.DrawTexture(position1, waku); GUI.DrawTexture(position2, texture2D); } } else if (kankyoFlg) { if (bgmCombo.isClickedComboButton || bgCombo.isClickedComboButton || doguCombo.isClickedComboButton || parCombo.isClickedComboButton) { if (Input.GetAxis("Mouse ScrollWheel") != 0.0) { GameMain.Instance.MainCamera.SetControl(!rectWin.Contains(new Vector2(Input.mousePosition.x, Screen.height - Input.mousePosition.y))); } } else if (!yotogiFlg && sceneLevel != 3 && sceneLevel != 5 && rectWin.Contains(new Vector2(Input.mousePosition.x, Screen.height - Input.mousePosition.y)) && Input.GetMouseButtonDown(0)) { Input.ResetInputAxes(); } rectWin = GUI.Window(129, rectWin, BGSelectWindow, "", style); } else if (kankyo2Flg) { if (Input.GetAxis("Mouse ScrollWheel") != 0.0) { GameMain.Instance.MainCamera.SetControl(!rectWin.Contains(new Vector2(Input.mousePosition.x, Screen.height - Input.mousePosition.y))); } if (!yotogiFlg && sceneLevel != 3 && sceneLevel != 5 && rectWin.Contains(new Vector2(Input.mousePosition.x, Screen.height - Input.mousePosition.y)) && Input.GetMouseButtonDown(0)) { Input.ResetInputAxes(); } rectWin = GUI.Window(129, rectWin, BGSelectWindow2, "", style); } else if (poseFlg) { if (poseGroupCombo.isClickedComboButton || poseCombo.isClickedComboButton || itemCombo.isClickedComboButton) { if (Input.GetAxis("Mouse ScrollWheel") != 0.0) { GameMain.Instance.MainCamera.SetControl(!rectWin.Contains(new Vector2(Input.mousePosition.x, Screen.height - Input.mousePosition.y))); } } else if (!yotogiFlg && sceneLevel != 3 && sceneLevel != 5 && rectWin.Contains(new Vector2(Input.mousePosition.x, Screen.height - Input.mousePosition.y)) && Input.GetMouseButtonDown(0)) { Input.ResetInputAxes(); } rectWin = GUI.Window(129, rectWin, PoseWindow, "", style); } else { if (faceCombo.isClickedComboButton) { if (Input.GetAxis("Mouse ScrollWheel") != 0.0) { GameMain.Instance.MainCamera.SetControl(!rectWin.Contains(new Vector2(Input.mousePosition.x, Screen.height - Input.mousePosition.y))); } } else if (!yotogiFlg && sceneLevel != 3 && sceneLevel != 5 && rectWin.Contains(new Vector2(Input.mousePosition.x, Screen.height - Input.mousePosition.y)) && Input.GetMouseButtonDown(0)) { Input.ResetInputAxes(); } rectWin = GUI.Window(129, rectWin, FaceWindow, "", style); } } if (!bGuiMessage) { return; } screenSize = new Vector2(Screen.width, Screen.height); rectWin2.Set(0.0f, 0.0f, Screen.width * 0.4f, Screen.height * 0.15f); rectWin2.x = (float)(screenSize.x / 2.0 - rectWin2.width / 2.0); rectWin2.y = sceneLevel != 5 ? screenSize.y - rectWin2.height : screenSize.y * 0.94f - rectWin2.height; rectWin2 = GUI.Window(129, rectWin2, new GUI.WindowFunction(GuiFunc3), "", style); } private void GuiFunc5(int winID) { GUI.DragWindow(new Rect(0, 0, rectWin.width, DRAG_BAR_HEIGHT)); GUI.Box(new Rect(0, 0, rectWin.width, DRAG_BAR_HEIGHT), ""); GUIStyle style1 = "label"; style1.fontSize = GetPix(12); style1.alignment = TextAnchor.UpperLeft; GUIStyle style2 = "button"; style2.fontSize = GetPix(12); style2.alignment = TextAnchor.MiddleCenter; GUI.Label(new Rect(GetPix(50), GetPix(6), GetPix(100), GetPix(25)), "シーン管理", style1); if (GUI.Button(new Rect(GetPix(135), GetPix(3), GetPix(23), GetPix(23)), "→", style2)) { faceFlg = false; poseFlg = false; sceneFlg = false; kankyoFlg = true; kankyo2Flg = false; bGui = true; isGuiInit = true; copyIndex = 0; } int num1 = 50; if (GUI.Button(new Rect(GetPix(25), GetPix(31), GetPix(23), GetPix(23)), "<", style2)) { --page; if (page < 0) { page = maxPage - 1; } for (int index = 0; index < 10; ++index) { date[index] = "未保存"; ninzu[index] = ""; IniKey iniKey = Preferences["scene"]["s" + (page * 10 + index + 1)]; if (iniKey.Value != null && iniKey.Value.ToString() != "") { string[] strArray1 = iniKey.Value.Split('_'); if (strArray1.Length >= 2) { string[] strArray2 = strArray1[0].Split(','); date[index] = strArray2[0]; ninzu[index] = strArray2[1] + "人"; } } } } if (GUI.Button(new Rect(GetPix(115), GetPix(31), GetPix(23), GetPix(23)), ">", style2)) { ++page; if (page >= maxPage) { page = 0; } for (int index = 0; index < 10; ++index) { date[index] = "未保存"; ninzu[index] = ""; IniKey iniKey = Preferences["scene"]["s" + (page * 10 + index + 1)]; if (iniKey.Value != null && iniKey.Value.ToString() != "") { string[] strArray1 = iniKey.Value.Split('_'); if (strArray1.Length >= 2) { string[] strArray2 = strArray1[0].Split(','); date[index] = strArray2[0]; ninzu[index] = strArray2[1] + "人"; } } } } GUI.Label(new Rect(GetPix(60), GetPix(32), GetPix(100), GetPix(25)), (page * 10 + 1).ToString() + " ~ " + (page * 10 + 10), style1); if (saveScene2 > 0 && string.IsNullOrEmpty(thum_byte_to_base64_) && File.Exists(thum_file_path_)) { try { Texture2D tex = new Texture2D(1, 1, TextureFormat.ARGB32, false); tex.LoadImage(File.ReadAllBytes(thum_file_path_)); float num2 = tex.width / (float)tex.height; Vector2 vector2 = new Vector2(480f, 270f); int newWidth = tex.width; int newHeight = tex.height; if (vector2.x < (double)tex.width && vector2.y < (double)tex.height) { newWidth = (int)vector2.x; newHeight = Mathf.RoundToInt(newWidth / num2); if (vector2.y < (double)newHeight) { newHeight = (int)vector2.y; newWidth = Mathf.RoundToInt(newHeight * num2); } } else if (vector2.x < (double)tex.width) { newWidth = (int)vector2.x; newHeight = Mathf.RoundToInt(newWidth / num2); } else if (vector2.y < (double)tex.height) { newHeight = (int)vector2.y; newWidth = Mathf.RoundToInt(newHeight * num2); } TextureScale.Bilinear(tex, newWidth, newHeight); thum_byte_to_base64_ = Convert.ToBase64String(tex.EncodeToPNG()); DestroyImmediate(tex); Preferences["scene"]["ss" + saveScene2].Value = thum_byte_to_base64_; SaveConfig(); thum_file_path_ = ""; saveScene2 = 0; } catch { } } for (int index = 0; index < 10; ++index) { GUI.Label(new Rect(GetPix(5), GetPix(60 + num1 * index), GetPix(25), GetPix(25)), string.Concat(page * 10 + index + 1), style1); if (GUI.Button(new Rect(GetPix(20), GetPix(78 + num1 * index), GetPix(50), GetPix(20)), "保存", style2)) { saveScene = page * 10 + index + 1; saveScene2 = saveScene; GameMain.Instance.SoundMgr.PlaySe("se002.ogg", false); isScreen2 = true; if (!isMessage) { ui_cam_hide_list_.Clear(); foreach (UICamera uiCamera in NGUITools.FindActive()) { if (uiCamera.GetComponent().enabled) { uiCamera.GetComponent().enabled = false; ui_cam_hide_list_.Add(uiCamera); } } } else { editUI = GameObject.Find("/UI Root/Camera"); if (editUI != null) { editUI.SetActive(false); } if (GameMain.Instance.CMSystem.ViewFps) { UTY.GetChildObject(GameMain.Instance.gameObject, "SystemUI Root/FpsCounter", false).SetActive(false); } GameObject childObject1 = UTY.GetChildObject(GameMain.Instance.gameObject, "SystemUI Root/SystemDialog", false); GameObject childObject2 = UTY.GetChildObject(GameMain.Instance.gameObject, "SystemUI Root/SystemShortcut", false); childObject1.SetActive(false); childObject2.SetActive(false); } isGui = bGui; bGui = false; try { thum_byte_to_base64_ = string.Empty; thum_file_path_ = Path.Combine(Path.GetTempPath(), "cm3d2_" + Guid.NewGuid().ToString() + ".png"); GameMain.Instance.MainCamera.ScreenShot(thum_file_path_, 1, true); } catch { } } GUI.Label(new Rect(GetPix(25), GetPix(60 + num1 * index), GetPix(100), GetPix(25)), date[index], style1); GUI.Label(new Rect(GetPix(130), GetPix(60 + num1 * index), GetPix(100), GetPix(25)), ninzu[index], style1); if (date[index] != "未保存" && GUI.Button(new Rect(GetPix(100), GetPix(78 + num1 * index), GetPix(50), GetPix(20)), "読込", style2)) { loadScene = page * 10 + index + 1; GameMain.Instance.SoundMgr.PlaySe("se002.ogg", false); } } } private void BGSelectWindow2(int winID) { GUI.DragWindow(new Rect(0, 0, rectWin.width, DRAG_BAR_HEIGHT)); GUI.Box(new Rect(0, 0, rectWin.width, DRAG_BAR_HEIGHT), ""); GUIStyle guiStyle1 = "label"; guiStyle1.fontSize = GetPix(12); guiStyle1.alignment = TextAnchor.UpperLeft; GUIStyle style1 = "label"; style1.fontSize = GetPix(11); style1.alignment = TextAnchor.UpperLeft; GUIStyle style2 = "button"; style2.fontSize = GetPix(20); GUIStyle buttonStyle = "button"; buttonStyle.fontSize = GetPix(14); buttonStyle.alignment = TextAnchor.MiddleLeft; GUIStyle guiStyle2 = "button"; guiStyle2.fontSize = GetPix(12); guiStyle2.alignment = TextAnchor.MiddleLeft; GUIStyle style3 = new GUIStyle("toggle") { fontSize = GetPix(13) }; CharacterMgr characterMgr = GameMain.Instance.CharacterMgr; Maid maid = maidArray[selectMaidIndex]; if (!kankyo2InitFlg) { listStyle2.normal.textColor = Color.white; listStyle2.normal.background = MakeTex(2, 2, new Color(0.0f, 0.0f, 0.0f, 0.5f)); listStyle2.onHover.background = listStyle2.hover.background = new Texture2D(2, 2); listStyle2.padding.left = listStyle2.padding.right = listStyle2.padding.top = listStyle2.padding.bottom = GetPix(0); listStyle2.fontSize = GetPix(11); listStyle3.normal.textColor = Color.white; listStyle3.normal.background = MakeTex(2, 2, new Color(0.0f, 0.0f, 0.0f, 0.5f)); listStyle3.onHover.background = listStyle3.hover.background = new Texture2D(2, 2); listStyle3.padding.left = listStyle3.padding.right = listStyle3.padding.top = GetPix(0); listStyle3.padding.bottom = GetPix(0); listStyle3.fontSize = GetPix(14); bgCombo2.selectedItemIndex = bgIndexB; bgCombo2List = new GUIContent[bgArray.Length]; for (int index = 0; index < bgArray.Length; ++index) { bgCombo2List[index] = bgUiNames.TryGetValue(bgArray[index], out string name) ? new GUIContent(name) : new GUIContent(bgArray[index]); } slotCombo.selectedItemIndex = 0; slotComboList = slotArray.Select(s => slotUiNames.TryGetValue(s, out string name) ? name : s).Select(s => new GUIContent(s)).ToArray(); itemCombo2.selectedItemIndex = 0; itemCombo2List = itemBArray.Select(s => itemComboUiName.TryGetValue(s, out string name) ? name : s) .Select(s => new GUIContent(s)).ToArray(); kankyoCombo.selectedItemIndex = 0; kankyoComboList = new GUIContent[kankyoMax]; for (int index = 0; index < kankyoMax; ++index) { IniKey iniKey = Preferences["kankyo"]["kankyo" + (index + 1)]; kankyoComboList[index] = new GUIContent(iniKey.Value); } kankyo2InitFlg = true; } listStyle3.padding.top = GetPix(1); listStyle3.padding.bottom = GetPix(0); listStyle3.fontSize = GetPix(13); if (poseCombo.isClickedComboButton) { GUI.enabled = false; } if (poseGroupCombo.isClickedComboButton) { GUI.enabled = false; } if (sceneLevel == 3 || sceneLevel == 5 || isF6) { if (!isF6) { bool flag = true; if (faceFlg || poseFlg || sceneFlg || kankyoFlg || kankyo2Flg) { flag = false; } if (GUI.Toggle(new Rect(GetPix(2), GetPix(2), GetPix(39), GetPix(20)), flag, "配置", style3)) { faceFlg = false; poseFlg = false; sceneFlg = false; kankyoFlg = false; kankyo2Flg = false; bGui = true; isGuiInit = true; } } if (!yotogiFlg && GUI.Toggle(new Rect(GetPix(42), GetPix(2), GetPix(39), GetPix(20)), poseFlg, "操作", style3)) { poseFlg = true; faceFlg = false; sceneFlg = false; kankyoFlg = false; kankyo2Flg = false; } if (GUI.Toggle(new Rect(GetPix(82), GetPix(2), GetPix(39), GetPix(20)), faceFlg, "表情", style3)) { faceFlg = true; poseFlg = false; sceneFlg = false; kankyoFlg = false; kankyo2Flg = false; if (!faceFlg2) { isFaceInit = true; faceFlg2 = true; maidArray[selectMaidIndex].boMabataki = false; faceCombo.selectedItemIndex = faceIndex[selectMaidIndex]; } isFaceInit = true; } if (GUI.Toggle(new Rect(GetPix(122), GetPix(2), GetPix(39), GetPix(20)), kankyoFlg, "環境", style3)) { poseFlg = false; faceFlg = false; sceneFlg = false; kankyoFlg = true; kankyo2Flg = false; } if (GUI.Toggle(new Rect(GetPix(162), GetPix(2), GetPix(39), GetPix(20)), kankyo2Flg, "環2", style3)) { poseFlg = false; faceFlg = false; sceneFlg = false; kankyoFlg = false; kankyo2Flg = true; } if (!line1) { line1 = MakeTex(2, 2, new Color(0.0f, 0.0f, 0.0f, 0.3f)); line2 = MakeTex(2, 2, new Color(0.7f, 0.7f, 0.7f, 0.6f)); } GUI.DrawTexture(new Rect(GetPix(5), GetPix(20), GetPix(200), 2f), line1); GUI.DrawTexture(new Rect(GetPix(5), GetPix(20), GetPix(200), 1f), line2); } if (isDanceStop) { isStop[selectMaidIndex] = true; isDanceStop = false; } if (kankyoCombo.isClickedComboButton || slotCombo.isClickedComboButton || itemCombo2.isClickedComboButton || bgCombo2.isClickedComboButton) { GUI.enabled = false; } characterMgr.GetStockMaidCount(); float pix = GetPix(45); Rect position1; Rect viewRect; if (sceneLevel != 5) { position1 = new Rect(GetPix(7), GetPix(138), GetPix(44) * 4 + GetPix(20), rectWin.height * 0.785f); viewRect = new Rect(0.0f, 0.0f, position1.width * 0.845f, pix * (float)Math.Ceiling(sortList.Count / 4.0) + GetPix(5)); } else { position1 = new Rect(GetPix(7), GetPix(138), GetPix(44) * 4 + GetPix(20), (float)(rectWin.height * 0.785000026226044 * 0.959999978542328)); viewRect = new Rect(0.0f, 0.0f, position1.width * 0.845f, (float)(pix * Math.Ceiling(sortList.Count / 4.0) + GetPix(5) * 0.920000016689301)); } scrollPos = GUI.BeginScrollView(position1, scrollPos, viewRect); for (int index = 0; index < sortList.Count; ++index) { Rect position2 = new Rect(GetPix(index % 4 * 45), GetPix(index / 4 * 45), GetPix(44), GetPix(44)); if (GUI.Button(position2, sortList[index].tex)) { string menu = sortList[index].menu; byte[] f_byBuf = null; using (AFileBase afileBase = GameUty.FileOpen(menu, null)) { NDebug.Assert(afileBase.IsValid(), "メニューファイルが存在しません。 :" + menu); if (f_byBuf == null || f_byBuf.Length < afileBase.GetSize()) { f_byBuf = new byte[afileBase.GetSize()]; } afileBase.Read(ref f_byBuf, afileBase.GetSize()); } string[] filename2 = ProcScriptBin(maidArray[0], f_byBuf, menu, false); GameObject gameObject = ImportCM2.LoadSkinMesh_R(filename2[0], filename2, "", maidArray[0].body0.goSlot[8], 1); doguBObject.Add(gameObject); gameObject.name = menu; Vector3 zero1 = Vector3.zero; Vector3 zero2 = Vector3.zero; zero1.z = 0.4f; gameObject.transform.localPosition = zero1; gameObject.transform.localRotation = Quaternion.Euler(zero2); doguCnt = doguBObject.Count - 1; gDogu[doguCnt] = GameObject.CreatePrimitive(PrimitiveType.Cube); gDogu[doguCnt].GetComponent().material = m_material; gDogu[doguCnt].layer = 8; gDogu[doguCnt].GetComponent().enabled = false; gDogu[doguCnt].SetActive(false); gDogu[doguCnt].transform.position = gameObject.transform.position; mDogu[doguCnt] = gDogu[doguCnt].AddComponent(); mDogu[doguCnt].isScale = false; mDogu[doguCnt].obj = gDogu[doguCnt]; mDogu[doguCnt].maid = gameObject; mDogu[doguCnt].angles = gameObject.transform.eulerAngles; gDogu[doguCnt].transform.localScale = new Vector3(cubeSize, cubeSize, cubeSize); mDogu[doguCnt].ido = 1; } GUI.DrawTexture(position2, sortList[index].tex); } GUI.EndScrollView(); GUI.enabled = true; GUI.Label(new Rect(GetPix(3), GetPix(108), GetPix(100), GetPix(25)), "服装", style1); style1.fontSize = GetPix(9); GUI.Label(new Rect(GetPix(3), GetPix(119), GetPix(100), GetPix(25)), "アクセサリ", style1); style1.fontSize = GetPix(11); GUI.Label(new Rect(GetPix(3), GetPix(58), GetPix(100), GetPix(25)), "アイテム", style1); GUI.Label(new Rect(GetPix(3), GetPix(86), GetPix(100), GetPix(24)), "背景(小)", style1); if (kankyoCombo.isClickedComboButton || itemCombo2.isClickedComboButton || bgCombo2.isClickedComboButton) { GUI.enabled = false; } int num1 = slotCombo.List(new Rect(GetPix(51), GetPix(111), GetPix(100), GetPix(23)), slotComboList[slotIndex].text, slotComboList, buttonStyle, "box", listStyle3); GUI.enabled = true; if (kankyoCombo.isClickedComboButton || itemCombo2.isClickedComboButton) { GUI.enabled = false; } bgIndexB = bgCombo2.List(new Rect(GetPix(51), GetPix(83), GetPix(100), GetPix(23)), bgCombo2List[bgIndexB].text, bgCombo2List, buttonStyle, "box", listStyle3); if (GUI.Button(new Rect(GetPix(156), GetPix(83), GetPix(38), GetPix(23)), "追加", style2)) { Object original = GameMain.Instance.BgMgr.CreateAssetBundle(bgArray[bgIndexB]); if (original == null) { original = Resources.Load("BG/" + bgArray[bgIndexB]); } GameObject gameObject = Instantiate(original) as GameObject; doguBObject.Add(gameObject); gameObject.name = "BG_" + bgArray[bgIndexB]; Vector3 zero1 = Vector3.zero; Vector3 zero2 = Vector3.zero; zero1.z = 0.4f; gameObject.transform.localScale = new Vector3(0.1f, 0.1f, 0.1f); gameObject.transform.localPosition = zero1; gameObject.transform.localRotation = Quaternion.Euler(zero2); doguCnt = doguBObject.Count - 1; gDogu[doguCnt] = GameObject.CreatePrimitive(PrimitiveType.Cube); gDogu[doguCnt].GetComponent().material = m_material; gDogu[doguCnt].layer = 8; gDogu[doguCnt].GetComponent().enabled = false; gDogu[doguCnt].SetActive(false); gDogu[doguCnt].transform.position = gameObject.transform.position; mDogu[doguCnt] = gDogu[doguCnt].AddComponent(); mDogu[doguCnt].isScale = false; mDogu[doguCnt].obj = gDogu[doguCnt]; mDogu[doguCnt].maid = gameObject; mDogu[doguCnt].angles = gameObject.transform.eulerAngles; gDogu[doguCnt].transform.localScale = new Vector3(cubeSize, cubeSize, cubeSize); mDogu[doguCnt].ido = 1; } GUI.enabled = true; if (kankyoCombo.isClickedComboButton) { GUI.enabled = false; } itemIndexB = itemCombo2.List(new Rect(GetPix(51), GetPix(55), GetPix(100), GetPix(23)), itemCombo2List[itemIndexB].text, itemCombo2List, buttonStyle, "box", listStyle3); if (GUI.Button(new Rect(GetPix(156), GetPix(55), GetPix(38), GetPix(23)), "追加", style2)) { string str = itemBArray[itemIndexB].Split(',')[1]; byte[] f_byBuf = null; using (AFileBase afileBase = GameUty.FileOpen(str, null)) { NDebug.Assert(afileBase.IsValid(), "メニューファイルが存在しません。 :" + str); if (f_byBuf == null || f_byBuf.Length < afileBase.GetSize()) { f_byBuf = new byte[afileBase.GetSize()]; } afileBase.Read(ref f_byBuf, afileBase.GetSize()); } string[] filename2 = ProcScriptBin(maidArray[0], f_byBuf, str, false); GameObject gameObject = ImportCM2.LoadSkinMesh_R(filename2[0], filename2, "", maidArray[0].body0.goSlot[8], 1); doguBObject.Add(gameObject); gameObject.name = str; Vector3 zero1 = Vector3.zero; Vector3 zero2 = Vector3.zero; zero1.z = 0.4f; switch (itemIndexB) { case 0: zero2.z = 90f; zero1.y = 0.04f; goto case 19; case 1: zero2.z = 90f; goto case 19; case 4: zero2.x = 90f; goto case 19; case 19: case 20: case 21: case 22: case 23: switch (gameObject.name) { case "HandItemL_Etoile_Saucer_I_.menu": case "HandItemL_Karte_I_.menu": case "HandItemL_Katuramuki_Daikon_I_.menu": case "HandItemR_BeerBottle(cap_off)_I_.menu": case "HandItemR_BeerBottle(cap_on)_I_.menu": case "HandItemR_BeerGlass_I_.menu": case "HandItemR_Etoile_Teacup_I_.menu": case "HandItemR_Jyouro_I_.menu": case "HandItemR_Ketchup_I_.menu": case "HandItemR_Kobin_I_.menu": case "HandItemR_MelonSoda_I_.menu": case "HandItemR_MilkBottle(cap_off)_I_.menu": case "HandItemR_MilkBottle(cap_on)_I_.menu": case "HandItemR_Mugcup_I_.menu": case "HandItemR_Natumikan_I_.menu": case "HandItemR_Nei_Heartful_I_.menu": case "HandItemR_Ochoko_I_.menu": case "HandItemR_Shaker_I_.menu": case "HandItemR_SmartPhone_I_.menu": case "HandItemR_Suika_I_.menu": case "HandItemR_Tomato_I_.menu": case "HandItemR_TropicalGlass_I_.menu": case "HandItemR_cocktail_blue_I_.menu": case "HandItemR_cocktail_red_I_.menu": case "HandItemR_cocktail_yellow_I_.menu": case "HandItemR_smoothie_green_I_.menu": case "HandItemR_smoothie_red_I_.menu": zero2.x = 0.0f; zero2.z = 90f; break; case "HandItemL_Karaoke_Mike_I_.menu": case "HandItemR_Crops_Suika_I_.menu": case "HandItemR_Curry_I_.menu": case "HandItemR_DVD1_I_.menu": case "HandItemR_DVD2_I_.menu": case "HandItemR_DVD3_I_.menu": case "HandItemR_DVD4_I_.menu": case "HandItemR_DVD5_I_.menu": case "HandItemR_Folk_I_.menu": case "HandItemR_Hanabi_I_.menu": case "HandItemR_Kushiyaki_I_.menu": case "HandItemR_Ninjin_I_.menu": case "HandItemR_Omurice1_I_.menu": case "HandItemR_Omurice2_I_.menu": case "HandItemR_Omurice3_I_.menu": case "HandItemR_Pasta_I_.menu": case "HandItemR_Satumaimo_I_.menu": case "HandItemR_Scoop_I_.menu": case "HandItemR_Senkouhanabi_I_.menu": case "HandItemR_Shell_I_.menu": case "HandItemR_Spoon_Curry_I_.menu": case "HandItemR_Spoon_Omurice_I_.menu": case "HandItemR_Tomorokoshi_I_.menu": case "HandItemR_Tomorokoshi_yaki_I_.menu": case "HandItemR_Uchiwa_I_.menu": zero2.z = 90f; break; } gameObject.transform.localPosition = zero1; gameObject.transform.localRotation = Quaternion.Euler(zero2); doguCnt = doguBObject.Count - 1; gDogu[doguCnt] = GameObject.CreatePrimitive(PrimitiveType.Cube); gDogu[doguCnt].GetComponent().material = m_material; gDogu[doguCnt].layer = 8; gDogu[doguCnt].GetComponent().enabled = false; gDogu[doguCnt].SetActive(false); gDogu[doguCnt].transform.position = gameObject.transform.position; mDogu[doguCnt] = gDogu[doguCnt].AddComponent(); mDogu[doguCnt].isScale = false; mDogu[doguCnt].obj = gDogu[doguCnt]; mDogu[doguCnt].maid = gameObject; mDogu[doguCnt].angles = gameObject.transform.eulerAngles; gDogu[doguCnt].transform.localScale = new Vector3(cubeSize, cubeSize, cubeSize); mDogu[doguCnt].ido = 1; break; case 25: zero2.z = 90f; goto case 19; case 26: zero2.z = 90f; goto case 19; case 27: zero2.z = 90f; goto case 19; default: zero2.x = -90f; goto case 19; } } GUI.enabled = true; if (nameFlg) { inName2 = GUI.TextField(new Rect(GetPix(5), GetPix(27), GetPix(100), GetPix(20)), inName2); if (GUI.Button(new Rect(GetPix(110), GetPix(27), GetPix(35), GetPix(20)), "更新", style2)) { nameFlg = false; GameMain.Instance.SoundMgr.PlaySe("se002.ogg", false); Preferences["kankyo"]["kankyo" + (kankyoCombo.selectedItemIndex + 1)].Value = inName2; SaveConfig(); kankyoComboList = new GUIContent[kankyoMax]; for (int index = 0; index < kankyoMax; ++index) { IniKey iniKey = Preferences["kankyo"]["kankyo" + (index + 1)]; kankyoComboList[index] = new GUIContent(iniKey.Value); } } } else { if (GUI.Button(new Rect(GetPix(180), GetPix(27), GetPix(24), GetPix(20)), "名", style2)) { nameFlg = true; inName2 = kankyoComboList[kankyoIndex].text; } kankyoIndex = kankyoCombo.List(new Rect(GetPix(4), GetPix(27), GetPix(91), GetPix(23)), kankyoComboList[kankyoIndex].text, kankyoComboList, buttonStyle, "box", listStyle3); if (GUI.Button(new Rect(GetPix(100), GetPix(27), GetPix(35), GetPix(20)), "保存", style2)) { saveScene = 10000 + kankyoIndex; saveScene2 = saveScene; GameMain.Instance.SoundMgr.PlaySe("se002.ogg", false); try { thum_byte_to_base64_ = string.Empty; thum_file_path_ = Path.Combine(Path.GetTempPath(), "cm3d2_" + Guid.NewGuid().ToString() + ".png"); GameMain.Instance.MainCamera.ScreenShot(thum_file_path_, 1, false); } catch { } } GUI.enabled = false; IniKey iniKey = Preferences["scene"]["s" + (10000 + kankyoIndex)]; if (iniKey.Value != null && iniKey.Value.ToString() != "") { GUI.enabled = true; } if (GUI.Button(new Rect(GetPix(140), GetPix(27), GetPix(35), GetPix(20)), "読込", style2)) { loadScene = 10000 + kankyoIndex; kankyoLoadFlg = true; GameMain.Instance.SoundMgr.PlaySe("se002.ogg", false); } } GUI.enabled = true; if (num1 == slotIndex) { return; } slotIndex = num1; sortList.Clear(); scrollPos = new Vector2(0.0f, 0.0f); if (itemDataList.Count == 0) { foreach (string menuFile in GameUty.MenuFiles) { string fileName = Path.GetFileName(menuFile); byte[] f_byBuf = null; using (AFileBase afileBase = GameUty.FileOpen(fileName, null)) { NDebug.Assert(afileBase.IsValid(), "メニューファイルが存在しません。 :" + fileName); if (f_byBuf == null || f_byBuf.Length < afileBase.GetSize()) { f_byBuf = new byte[afileBase.GetSize()]; } afileBase.Read(ref f_byBuf, afileBase.GetSize()); } BinaryReader binaryReader = new BinaryReader(new MemoryStream(f_byBuf), Encoding.UTF8); if (binaryReader.ReadString() != "CM3D2_MENU") { binaryReader.Close(); } else { try { binaryReader.ReadInt32(); binaryReader.ReadString(); binaryReader.ReadString(); string str1 = binaryReader.ReadString(); string s = ""; binaryReader.ReadString(); binaryReader.ReadInt32(); string str2 = ""; do { int num2; do { num2 = binaryReader.ReadByte(); } while (num2 == 0); for (int index = 0; index < num2; ++index) { string str3 = binaryReader.ReadString(); if (str3 == "icons" || str3 == "icon") { str2 = binaryReader.ReadString(); break; } if (str3 == "priority") { s = binaryReader.ReadString(); break; } } } while (str2 == ""); int.TryParse(s, out int result); itemDataList.Add(new ItemData() { info = str1, name = str2, menu = fileName, order = result, cd = f_byBuf }); } catch { } binaryReader.Close(); } } } foreach (ItemData itemData in itemDataList) { if (slotIndex != 0 && itemData.info == slotArray[slotIndex] && itemData.order > 0) { sortList.Add(new SortItem() { order = itemData.order, name = itemData.name, menu = itemData.menu, tex = itemData.tex }); } } IOrderedEnumerable orderedEnumerable = sortList .OrderBy(p => p.order) .ThenBy(p => p.name); List sortItemList = new List(); string str4 = ""; foreach (SortItem sortItem in orderedEnumerable) { try { if (!(sortItem.menu == str4)) { if (sortItem.tex == null) { byte[] data = ImportCM.LoadTexture(GameUty.FileSystem, sortItem.name, false).data; Texture2D texture2D = new Texture2D(50, 50, TextureFormat.RGB565, false); texture2D.LoadImage(data); sortItem.tex = texture2D; } str4 = sortItem.menu; sortItemList.Add(sortItem); } } catch { } } sortList = sortItemList; } private void BGSelectWindow(int winID) { GUI.DragWindow(new Rect(0, 0, rectWin.width, DRAG_BAR_HEIGHT)); GUI.Box(new Rect(0, 0, rectWin.width, DRAG_BAR_HEIGHT), ""); GUIStyle guistyle = "label"; guistyle.fontSize = GetPix(12); guistyle.alignment = TextAnchor.UpperLeft; GUIStyle guistyle2 = "label"; guistyle2.fontSize = GetPix(11); guistyle2.alignment = TextAnchor.UpperLeft; GUIStyle guistyle3 = "button"; guistyle3.fontSize = GetPix(20); GUIStyle guistyle4 = "button"; guistyle4.fontSize = GetPix(14); guistyle4.alignment = TextAnchor.MiddleLeft; GUIStyle guistyle5 = "button"; guistyle5.fontSize = GetPix(12); guistyle5.alignment = TextAnchor.MiddleLeft; GUIStyle guistyle6 = new GUIStyle("toggle") { fontSize = GetPix(13) }; CharacterMgr characterMgr = GameMain.Instance.CharacterMgr; Maid maid = maidArray[selectMaidIndex]; if (!kankyoInitFlg) { listStyle2.normal.textColor = Color.white; listStyle2.normal.background = MakeTex(2, 2, new Color(0f, 0f, 0f, 0.5f)); listStyle2.onHover.background = listStyle2.hover.background = new Texture2D(2, 2); RectOffset padding = listStyle2.padding; RectOffset padding2 = listStyle2.padding; RectOffset padding3 = listStyle2.padding; int num = listStyle2.padding.bottom = GetPix(0); num = padding3.top = num; num = padding2.right = num; padding.left = num; listStyle2.fontSize = GetPix(11); listStyle3.normal.textColor = Color.white; listStyle3.normal.background = MakeTex(2, 2, new Color(0f, 0f, 0f, 0.5f)); listStyle3.onHover.background = listStyle3.hover.background = new Texture2D(2, 2); RectOffset padding4 = listStyle3.padding; RectOffset padding5 = listStyle3.padding; num = listStyle3.padding.top = GetPix(0); num = padding5.right = num; padding4.left = num; listStyle3.padding.bottom = GetPix(0); listStyle3.fontSize = GetPix(12); bgmCombo.selectedItemIndex = bgmIndex; if (sceneLevel == 5) { bgmCombo.selectedItemIndex = 2; } bgmComboList = bgmArray.Select(s => dancesDict.TryGetValue(s, out string name) ? name : s).Select(s => new GUIContent(s)).ToArray(); bgCombo.selectedItemIndex = bgIndex; bgComboList = new GUIContent[bgArray.Length]; for (int j = 0; j < bgArray.Length; j++) { // Dicts merged during init if (bgDict.TryGetValue(bgArray[j], out string name)) { bgComboList[j] = new GUIContent(name); } else { bgComboList[j] = new GUIContent(bgArray[j]); } } doguCombo.selectedItemIndex = 0; doguComboList = new GUIContent[doguBArray.Length]; for (int j = 0; j < doguComboList.Length; j++) { // Dicts merged during init if (doguUiNames.TryGetValue(doguBArray[j], out string name)) { doguComboList[j] = new GUIContent(name); } else { doguComboList[j] = new GUIContent(doguBArray[j]); } } parCombo.selectedItemIndex = 0; parComboList = parArray.Select(s => parUiDict.TryGetValue(s, out string name) ? name : s).Select(s => new GUIContent(s)).ToArray(); lightCombo.selectedItemIndex = 0; lightList = new List { GameMain.Instance.MainLight.gameObject }; lightComboList = new GUIContent[lightList.Count]; for (int i = 0; i < lightList.Count; i++) { if (i == 0) { lightComboList[i] = new GUIContent("メイン"); } else { lightComboList[i] = new GUIContent("追加" + i); } } kankyoInitFlg = true; } listStyle3.padding.top = GetPix(1); listStyle3.padding.bottom = GetPix(0); listStyle3.fontSize = GetPix(12); if (poseCombo.isClickedComboButton) { GUI.enabled = false; } if (poseGroupCombo.isClickedComboButton) { GUI.enabled = false; } if (sceneLevel == 3 || sceneLevel == 5 || isF6) { if (!isF6) { bool value = true; if (faceFlg || poseFlg || sceneFlg || kankyoFlg || kankyo2Flg) { value = false; } if (GUI.Toggle(new Rect(GetPix(2), GetPix(2), GetPix(39), GetPix(20)), value, "配置", guistyle6)) { faceFlg = false; poseFlg = false; sceneFlg = false; kankyoFlg = false; kankyo2Flg = false; bGui = true; isGuiInit = true; } } if (!yotogiFlg) { if (GUI.Toggle(new Rect(GetPix(42), GetPix(2), GetPix(39), GetPix(20)), poseFlg, "操作", guistyle6)) { poseFlg = true; faceFlg = false; sceneFlg = false; kankyoFlg = false; kankyo2Flg = false; } } if (GUI.Toggle(new Rect(GetPix(82), GetPix(2), GetPix(39), GetPix(20)), faceFlg, "表情", guistyle6)) { faceFlg = true; poseFlg = false; sceneFlg = false; kankyoFlg = false; kankyo2Flg = false; if (!faceFlg2) { isFaceInit = true; faceFlg2 = true; maidArray[selectMaidIndex].boMabataki = false; faceCombo.selectedItemIndex = faceIndex[selectMaidIndex]; } isFaceInit = true; } if (GUI.Toggle(new Rect(GetPix(122), GetPix(2), GetPix(39), GetPix(20)), kankyoFlg, "環境", guistyle6)) { poseFlg = false; faceFlg = false; sceneFlg = false; kankyoFlg = true; kankyo2Flg = false; } if (GUI.Toggle(new Rect(GetPix(162), GetPix(2), GetPix(39), GetPix(20)), kankyo2Flg, "環2", guistyle6)) { poseFlg = false; faceFlg = false; sceneFlg = false; kankyoFlg = false; kankyo2Flg = true; } if (!line1) { line1 = MakeTex(2, 2, new Color(0f, 0f, 0f, 0.3f)); line2 = MakeTex(2, 2, new Color(0.7f, 0.7f, 0.7f, 0.6f)); } GUI.DrawTexture(new Rect(GetPix(5), GetPix(20), GetPix(200), 2f), line1); GUI.DrawTexture(new Rect(GetPix(5), GetPix(20), GetPix(200), 1f), line2); } if (isDanceStop) { isStop[selectMaidIndex] = true; isDanceStop = false; } yotogiFlg = false; if (sceneLevel == 14) { if (GameObject.Find("/UI Root/YotogiPlayPanel/CommandViewer/SkillViewer/MaskGroup/SkillGroup/CommandParent/CommandUnit")) { yotogiFlg = true; } } if (!isF6) { if (GUI.Button(new Rect(GetPix(157), GetPix(32), GetPix(46), GetPix(35)), "シーン\n 管 理", guistyle3)) { sceneFlg = true; faceFlg = false; poseFlg = false; kankyoFlg = false; kankyo2Flg = false; bGui = true; for (int i = 0; i < 10; i++) { date[i] = "未保存"; ninzu[i] = ""; IniKey iniKey = Preferences["scene"]["s" + (page * 10 + i + 1)]; if (iniKey.Value != null && iniKey.Value.ToString() != "") { string[] array = iniKey.Value.Split(new char[] { '_' }); if (array.Length >= 2) { string[] array2 = array[0].Split(new char[] { ',' }); date[i] = array2[0]; ninzu[i] = array2[1] + "人"; } } } } } if (doguCombo.isClickedComboButton || parCombo.isClickedComboButton || bgCombo.isClickedComboButton || bgmCombo.isClickedComboButton || lightCombo.isClickedComboButton) { GUI.enabled = false; } int num2 = -1; if (lightIndex[selectLightIndex] == 0) { isIdx1 = true; } if (lightIndex[selectLightIndex] == 1) { isIdx2 = true; } if (lightIndex[selectLightIndex] == 2) { isIdx3 = true; } if (lightIndex[selectLightIndex] == 3) { isIdx4 = true; } if (GUI.Toggle(new Rect(GetPix(5), GetPix(215), GetPix(45), GetPix(20)), isIdx1, "通常", guistyle6)) { if (lightIndex[selectLightIndex] != 0) { isIdx1 = true; isIdx2 = false; isIdx3 = false; isIdx4 = false; num2 = 0; } } if (GUI.Toggle(new Rect(GetPix(50), GetPix(215), GetPix(45), GetPix(20)), isIdx2, "Spot", guistyle6)) { if (lightIndex[selectLightIndex] != 1) { isIdx1 = false; isIdx2 = true; isIdx3 = false; isIdx4 = false; num2 = 1; } } if (GUI.Toggle(new Rect(GetPix(99), GetPix(215), GetPix(45), GetPix(20)), isIdx3, "Point", guistyle6)) { if (lightIndex[selectLightIndex] != 2) { isIdx1 = false; isIdx2 = false; isIdx3 = true; isIdx4 = false; num2 = 2; } } if (selectLightIndex == 0) { if (GUI.Toggle(new Rect(GetPix(150), GetPix(215), GetPix(45), GetPix(20)), isIdx4, "単色", guistyle6)) { if (lightIndex[selectLightIndex] != 3) { isIdx1 = false; isIdx2 = false; isIdx3 = false; isIdx4 = true; num2 = 3; } } } else if (GUI.Toggle(new Rect(GetPix(150), GetPix(215), GetPix(45), GetPix(20)), isIdx4, "無効", guistyle6)) { if (lightIndex[selectLightIndex] != 3) { isIdx1 = false; isIdx2 = false; isIdx3 = false; isIdx4 = true; num2 = 3; } } if (num2 >= 0) { lightIndex[selectLightIndex] = num2; if (selectLightIndex == 0) { GameMain.Instance.MainLight.Reset(); GameMain.Instance.MainLight.SetIntensity(0.95f); GameMain.Instance.MainLight.GetComponent().spotAngle = 50f; GameMain.Instance.MainLight.GetComponent().range = 10f; GameMain.Instance.MainLight.gameObject.transform.position = new Vector3(0f, 2f, 0f); if (lightIndex[selectLightIndex] == 0) { GameMain.Instance.MainLight.GetComponent().type = LightType.Directional; bgObject.SetActive(true); mainCamera.GetComponent().backgroundColor = new Color(0f, 0f, 0f); } else if (lightIndex[selectLightIndex] == 1) { GameMain.Instance.MainLight.transform.eulerAngles += Vector3.right * 40f; GameMain.Instance.MainLight.GetComponent().type = LightType.Spot; bgObject.SetActive(true); mainCamera.GetComponent().backgroundColor = new Color(0f, 0f, 0f); } else if (lightIndex[selectLightIndex] == 2) { GameMain.Instance.MainLight.GetComponent().type = LightType.Point; bgObject.SetActive(true); mainCamera.GetComponent().backgroundColor = new Color(0f, 0f, 0f); } else if (lightIndex[selectLightIndex] == 3) { GameMain.Instance.MainLight.GetComponent().type = LightType.Directional; mainCamera.GetComponent().backgroundColor = new Color(lightColorR[0], lightColorG[0], lightColorB[0]); bgObject.SetActive(false); } } else { lightList[selectLightIndex].SetActive(true); if (lightIndex[selectLightIndex] == 0) { lightList[selectLightIndex].GetComponent().type = LightType.Directional; } else if (lightIndex[selectLightIndex] == 1) { lightList[selectLightIndex].transform.eulerAngles += Vector3.right * 40f; lightList[selectLightIndex].GetComponent().type = LightType.Spot; } else if (lightIndex[selectLightIndex] == 2) { lightList[selectLightIndex].GetComponent().type = LightType.Point; } else if (lightIndex[selectLightIndex] == 3) { lightList[selectLightIndex].GetComponent().type = LightType.Directional; lightList[selectLightIndex].SetActive(false); } } lightColorR[selectLightIndex] = 1f; lightColorG[selectLightIndex] = 1f; lightColorB[selectLightIndex] = 1f; lightX[selectLightIndex] = 40f; lightY[selectLightIndex] = 180f; lightAkarusa[selectLightIndex] = 0.95f; lightKage[selectLightIndex] = 0.098f; lightRange[selectLightIndex] = 50f; if (lightIndex[selectLightIndex] == 1) { lightX[selectLightIndex] = 90f; } } GUI.Label(new Rect(GetPix(10), GetPix(138), GetPix(100), GetPix(25)), "キューブ表示", guistyle2); guistyle6.fontSize = GetPix(12); isCube2 = GUI.Toggle(new Rect(GetPix(5), GetPix(153), GetPix(55), GetPix(20)), isCube2, "大道具(", guistyle6); if (!isF6) { isCube = GUI.Toggle(new Rect(GetPix(102), GetPix(153), GetPix(54), GetPix(20)), isCube, "メイド", guistyle6); } bool flag = GUI.Toggle(new Rect(GetPix(160), GetPix(153), GetPix(44), GetPix(20)), isCube3, "背景", guistyle6); guistyle6.fontSize = GetPix(13); bool flag2 = GUI.Toggle(new Rect(GetPix(61), GetPix(153), GetPix(38), GetPix(20)), isCubeS, "小)", guistyle6); if (isCubeS != flag2) { isCubeS = flag2; if (isCubeS) { cubeSize = 0.05f; } else { cubeSize = 0.12f; } for (int i = 0; i < doguBObject.Count; i++) { gDogu[i].transform.localScale = new Vector3(cubeSize, cubeSize, cubeSize); } } if (isCube3 != flag) { isCube3 = flag; if (gBg == null) { gBg = GameObject.CreatePrimitive(PrimitiveType.Cube); gBg.GetComponent().material = m_material; gBg.layer = 8; gBg.GetComponent().enabled = false; gBg.SetActive(false); gBg.transform.position = bgObject.transform.position; mBg = gBg.AddComponent(); mBg.obj = gBg; mBg.maid = bgObject; mBg.angles = bg.eulerAngles; gBg.transform.localScale = new Vector3(0.12f, 0.12f, 0.12f); mBg.ido = 1; mBg.isScale = false; } if (isCube3) { gBg.SetActive(true); } else { gBg.SetActive(false); } } int num3 = 0; if (lightIndex[selectLightIndex] == 0 || lightIndex[selectLightIndex] == 1 || (selectLightIndex == 0 && lightIndex[selectLightIndex] == 3)) { GUI.Label(new Rect(GetPix(10), GetPix(237), GetPix(100), GetPix(25)), "向きX", guistyle2); lightX[selectLightIndex] = GUI.HorizontalSlider(new Rect(GetPix(8), GetPix(251), GetPix(192), GetPix(20)), lightX[selectLightIndex], 220f, -140f); GUI.Label(new Rect(GetPix(10), GetPix(261), GetPix(100), GetPix(25)), "向きY", guistyle2); lightY[selectLightIndex] = GUI.HorizontalSlider(new Rect(GetPix(8), GetPix(275), GetPix(192), GetPix(20)), lightY[selectLightIndex], 0f, 360f); } else { num3 = 50; } if (lightIndex[selectLightIndex] != 3 || selectLightIndex <= 0) { GUI.Label(new Rect(GetPix(10), GetPix(285 - num3), GetPix(100), GetPix(25)), "明るさ", guistyle2); lightAkarusa[selectLightIndex] = GUI.HorizontalSlider(new Rect(GetPix(8), GetPix(299 - num3), GetPix(192), GetPix(20)), lightAkarusa[selectLightIndex], 0f, 1.9f); if (lightIndex[selectLightIndex] == 0 || lightIndex[selectLightIndex] == 3) { if (selectLightIndex == 0) { GUI.Label(new Rect(GetPix(10), GetPix(309 - num3), GetPix(100), GetPix(25)), "影", guistyle2); lightKage[selectLightIndex] = GUI.HorizontalSlider(new Rect(GetPix(8), GetPix(323 - num3), GetPix(192), GetPix(20)), lightKage[selectLightIndex], 0f, 1f); } else { num3 = 25; } } else if (lightIndex[selectLightIndex] == 1 || lightIndex[selectLightIndex] == 2) { GUI.Label(new Rect(GetPix(10), GetPix(311 - num3), GetPix(100), GetPix(25)), "範囲", guistyle2); lightRange[selectLightIndex] = GUI.HorizontalSlider(new Rect(GetPix(8), GetPix(325 - num3), GetPix(192), GetPix(20)), lightRange[selectLightIndex], 0f, 150f); } else { num3 = 75; } GUI.Label(new Rect(GetPix(10), GetPix(333 - num3), GetPix(100), GetPix(25)), "赤", guistyle2); lightColorR[selectLightIndex] = GUI.HorizontalSlider(new Rect(GetPix(8), GetPix(347 - num3), GetPix(92), GetPix(20)), lightColorR[selectLightIndex], 0f, 1f); GUI.Label(new Rect(GetPix(108), GetPix(333 - num3), GetPix(100), GetPix(25)), "緑", guistyle2); lightColorG[selectLightIndex] = GUI.HorizontalSlider(new Rect(GetPix(108), GetPix(347 - num3), GetPix(92), GetPix(20)), lightColorG[selectLightIndex], 0f, 1f); GUI.Label(new Rect(GetPix(10), GetPix(357 - num3), GetPix(100), GetPix(25)), "青", guistyle2); lightColorB[selectLightIndex] = GUI.HorizontalSlider(new Rect(GetPix(8), GetPix(371 - num3), GetPix(92), GetPix(20)), lightColorB[selectLightIndex], 0f, 1f); } if (GUI.Toggle(new Rect(GetPix(5), GetPix(391), GetPix(67), GetPix(20)), isBloomS, "ブルーム", guistyle6)) { isBloomS = true; isDepthS = false; isBlurS = false; isFogS = false; } if (isBloomS) { isBloom = GUI.Toggle(new Rect(GetPix(8), GetPix(412), GetPix(40), GetPix(20)), isBloom, "有効", guistyle6); if (!isBloom) { GUI.enabled = false; } GUI.Label(new Rect(GetPix(10), GetPix(430), GetPix(100), GetPix(25)), "強さ", guistyle2); bloom1 = GUI.HorizontalSlider(new Rect(GetPix(8), GetPix(445), GetPix(92), GetPix(20)), bloom1, 0f, 5.7f); GUI.Label(new Rect(GetPix(110), GetPix(430), GetPix(100), GetPix(25)), "広さ", guistyle2); bloom2 = GUI.HorizontalSlider(new Rect(GetPix(108), GetPix(445), GetPix(92), GetPix(20)), bloom2, 0f, 15f); GUI.Label(new Rect(GetPix(10), GetPix(455), GetPix(100), GetPix(25)), "赤", guistyle2); bloom3 = GUI.HorizontalSlider(new Rect(GetPix(8), GetPix(470), GetPix(92), GetPix(20)), bloom3, 0f, 0.5f); GUI.Label(new Rect(GetPix(110), GetPix(455), GetPix(100), GetPix(25)), "緑", guistyle2); bloom4 = GUI.HorizontalSlider(new Rect(GetPix(108), GetPix(470), GetPix(92), GetPix(20)), bloom4, 0f, 0.5f); GUI.Label(new Rect(GetPix(10), GetPix(480), GetPix(100), GetPix(25)), "青", guistyle2); bloom5 = GUI.HorizontalSlider(new Rect(GetPix(8), GetPix(495), GetPix(92), GetPix(20)), bloom5, 0f, 0.5f); isBloomA = GUI.Toggle(new Rect(GetPix(110), GetPix(491), GetPix(50), GetPix(20)), isBloomA, "HDR", guistyle6); if (!doguCombo.isClickedComboButton && !parCombo.isClickedComboButton && !bgCombo.isClickedComboButton && !bgmCombo.isClickedComboButton) { GUI.enabled = true; } } if (GUI.Toggle(new Rect(GetPix(73), GetPix(391), GetPix(40), GetPix(20)), isDepthS, "深度", guistyle6)) { isBloomS = false; isDepthS = true; isBlurS = false; isFogS = false; } if (isDepthS) { isDepth = GUI.Toggle(new Rect(GetPix(8), GetPix(412), GetPix(40), GetPix(20)), isDepth, "有効", guistyle6); if (!isDepth) { GUI.enabled = false; } GUI.Label(new Rect(GetPix(10), GetPix(430), GetPix(100), GetPix(25)), "焦点距離", guistyle2); depth1 = GUI.HorizontalSlider(new Rect(GetPix(8), GetPix(445), GetPix(192), GetPix(20)), depth1, 0f, 10f); GUI.Label(new Rect(GetPix(10), GetPix(455), GetPix(100), GetPix(25)), "焦点領域サイズ", guistyle2); depth2 = GUI.HorizontalSlider(new Rect(GetPix(8), GetPix(470), GetPix(92), GetPix(20)), depth2, 0f, 2f); GUI.Label(new Rect(GetPix(110), GetPix(455), GetPix(100), GetPix(25)), "カメラ絞り", guistyle2); depth3 = GUI.HorizontalSlider(new Rect(GetPix(108), GetPix(470), GetPix(92), GetPix(20)), depth3, 0f, 60f); GUI.Label(new Rect(GetPix(10), GetPix(480), GetPix(100), GetPix(25)), "ブレ", guistyle2); depth4 = GUI.HorizontalSlider(new Rect(GetPix(8), GetPix(495), GetPix(92), GetPix(20)), depth4, 0f, 10f); isDepthA = GUI.Toggle(new Rect(GetPix(110), GetPix(491), GetPix(100), GetPix(20)), isDepthA, "深度表示", guistyle6); if (!doguCombo.isClickedComboButton && !parCombo.isClickedComboButton && !bgCombo.isClickedComboButton && !bgmCombo.isClickedComboButton) { GUI.enabled = true; } } if (GUI.Toggle(new Rect(GetPix(114), GetPix(391), GetPix(40), GetPix(20)), isBlurS, "光学", guistyle6)) { isBloomS = false; isDepthS = false; isBlurS = true; isFogS = false; } if (isBlurS) { isBlur = GUI.Toggle(new Rect(GetPix(8), GetPix(412), GetPix(40), GetPix(20)), isBlur, "有効", guistyle6); if (!isBlur) { GUI.enabled = false; } GUI.Label(new Rect(GetPix(10), GetPix(430), GetPix(100), GetPix(25)), "強さ", guistyle2); blur1 = GUI.HorizontalSlider(new Rect(GetPix(8), GetPix(445), GetPix(92), GetPix(20)), blur1, -40f, 70f); GUI.Label(new Rect(GetPix(108), GetPix(430), GetPix(100), GetPix(25)), "ブラー", guistyle2); blur2 = GUI.HorizontalSlider(new Rect(GetPix(108), GetPix(445), GetPix(92), GetPix(20)), blur2, 0f, 5f); GUI.Label(new Rect(GetPix(10), GetPix(455), GetPix(100), GetPix(25)), "ブレ", guistyle2); blur3 = GUI.HorizontalSlider(new Rect(GetPix(8), GetPix(470), GetPix(92), GetPix(20)), blur3, 0f, 40f); GUI.Label(new Rect(GetPix(108), GetPix(455), GetPix(100), GetPix(25)), "色収差", guistyle2); blur4 = GUI.HorizontalSlider(new Rect(GetPix(108), GetPix(470), GetPix(92), GetPix(20)), blur4, -30f, 30f); if (!doguCombo.isClickedComboButton && !parCombo.isClickedComboButton && !bgCombo.isClickedComboButton && !bgmCombo.isClickedComboButton) { GUI.enabled = true; } } if (GUI.Toggle(new Rect(GetPix(155), GetPix(391), GetPix(60), GetPix(20)), isFogS, "フォグ", guistyle6)) { isBloomS = false; isDepthS = false; isBlurS = false; isFogS = true; } if (isFogS) { isFog = GUI.Toggle(new Rect(GetPix(8), GetPix(412), GetPix(40), GetPix(20)), isFog, "有効", guistyle6); if (!isFog) { GUI.enabled = false; } GUI.Label(new Rect(GetPix(110), GetPix(406), GetPix(100), GetPix(24)), "発生距離", guistyle2); fog1 = GUI.HorizontalSlider(new Rect(GetPix(108), GetPix(420), GetPix(92), GetPix(20)), fog1, 0f, 30f); GUI.Label(new Rect(GetPix(10), GetPix(430), GetPix(100), GetPix(25)), "密度", guistyle2); fog2 = GUI.HorizontalSlider(new Rect(GetPix(8), GetPix(445), GetPix(92), GetPix(20)), fog2, 0f, 10f); GUI.Label(new Rect(GetPix(110), GetPix(430), GetPix(100), GetPix(25)), "強度", guistyle2); fog3 = GUI.HorizontalSlider(new Rect(GetPix(108), GetPix(445), GetPix(92), GetPix(20)), fog3, -5f, 20f); GUI.Label(new Rect(GetPix(10), GetPix(455), GetPix(100), GetPix(25)), "高さ", guistyle2); fog4 = GUI.HorizontalSlider(new Rect(GetPix(8), GetPix(470), GetPix(92), GetPix(20)), fog4, -10f, 10f); GUI.Label(new Rect(GetPix(110), GetPix(455), GetPix(100), GetPix(25)), "赤", guistyle2); fog5 = GUI.HorizontalSlider(new Rect(GetPix(108), GetPix(470), GetPix(92), GetPix(20)), fog5, 0f, 1f); GUI.Label(new Rect(GetPix(10), GetPix(480), GetPix(100), GetPix(25)), "緑", guistyle2); fog6 = GUI.HorizontalSlider(new Rect(GetPix(8), GetPix(495), GetPix(92), GetPix(20)), fog6, 0f, 1f); GUI.Label(new Rect(GetPix(110), GetPix(480), GetPix(100), GetPix(25)), "青", guistyle2); fog7 = GUI.HorizontalSlider(new Rect(GetPix(108), GetPix(495), GetPix(92), GetPix(20)), fog7, 0f, 1f); if (!doguCombo.isClickedComboButton && !parCombo.isClickedComboButton && !bgCombo.isClickedComboButton && !bgmCombo.isClickedComboButton) { GUI.enabled = true; } } isSepian = GUI.Toggle(new Rect(GetPix(5), GetPix(515), GetPix(80), GetPix(20)), isSepian, "セピア", guistyle6); GUI.Label(new Rect(GetPix(108), GetPix(512), GetPix(100), GetPix(25)), "ぼかし", guistyle2); bokashi = GUI.HorizontalSlider(new Rect(GetPix(108), GetPix(527), GetPix(92), GetPix(20)), bokashi, 0f, 18f); if (GUI.Toggle(new Rect(GetPix(5), GetPix(545), GetPix(80), GetPix(20)), isHairSetting, "髪の設定", guistyle6)) { isHairSetting = true; isSkirtSetting = false; } if (isHairSetting) { bool flag3 = GUI.Toggle(new Rect(GetPix(5), GetPix(566), GetPix(40), GetPix(20)), isKamiyure, "有効", guistyle6); if (isKamiyure != flag3) { isKamiyure = flag3; if (isKamiyure) { Preferences["config"]["hair_setting"].Value = "true"; Preferences["config"]["hair_radius"].Value = kamiyure4.ToString(); Preferences["config"]["hair_elasticity"].Value = kamiyure3.ToString(); Preferences["config"]["hair_damping"].Value = kamiyure2.ToString(); SaveConfig(); } else { Preferences["config"]["hair_setting"].Value = "false"; SaveConfig(); for (int j = 0; j < maidCnt; j++) { for (int k = 0; k < maidArray[j].body0.goSlot.Count; k++) { if (k >= 3 && k <= 6) { if (maidArray[j].body0.goSlot[k].obj != null) { DynamicBone component = maidArray[j].body0.goSlot[k].obj.GetComponent(); if (component != null) { component.m_Damping = 0.6f; component.m_Elasticity = 1f; if (k == 5) { component.m_Elasticity = 0.05f; } component.m_Radius = 0.02f; component.UpdateParameters(); } } } } } } } if (!isKamiyure) { GUI.enabled = false; } GUI.Label(new Rect(GetPix(108), GetPix(565), GetPix(100), GetPix(25)), "当たり判定半径", guistyle2); float num4 = GUI.HorizontalSlider(new Rect(GetPix(108), GetPix(579), GetPix(92), GetPix(20)), kamiyure4, 0f, 0.04f); if (kamiyure4 != num4) { kamiyure4 = num4; Preferences["config"]["hair_radius"].Value = kamiyure4.ToString(); SaveConfig(); } GUI.Label(new Rect(GetPix(108), GetPix(590), GetPix(100), GetPix(25)), "減衰率", guistyle2); float num5 = GUI.HorizontalSlider(new Rect(GetPix(108), GetPix(604), GetPix(92), GetPix(20)), kamiyure2, 0.2f, 1f); if (kamiyure2 != num5) { kamiyure2 = num5; Preferences["config"]["hair_damping"].Value = kamiyure2.ToString(); SaveConfig(); } GUI.Label(new Rect(GetPix(10), GetPix(590), GetPix(100), GetPix(25)), "復元率", guistyle2); float num6 = GUI.HorizontalSlider(new Rect(GetPix(8), GetPix(604), GetPix(92), GetPix(20)), kamiyure3, 0f, 2f); if (kamiyure3 != num6) { kamiyure3 = num6; Preferences["config"]["hair_elasticity"].Value = kamiyure3.ToString(); SaveConfig(); } GUI.enabled = true; } if (GUI.Toggle(new Rect(GetPix(105), GetPix(545), GetPix(100), GetPix(20)), isSkirtSetting, "スカート設定", guistyle6)) { isHairSetting = false; isSkirtSetting = true; } if (isSkirtSetting) { bool flag4 = GUI.Toggle(new Rect(GetPix(5), GetPix(566), GetPix(40), GetPix(20)), isSkirtyure, "有効", guistyle6); if (isSkirtyure != flag4) { isSkirtyure = flag4; if (isSkirtyure) { Preferences["config"]["skirt_setting"].Value = "true"; Preferences["config"]["skirt_radius"].Value = skirtyure4.ToString(); Preferences["config"]["skirt_elasticity"].Value = skirtyure3.ToString(); Preferences["config"]["skirt_damping"].Value = skirtyure2.ToString(); SaveConfig(); } else { Preferences["config"]["skirt_setting"].Value = "false"; SaveConfig(); for (int j = 0; j < maidCnt; j++) { for (int k = 0; k < maidArray[j].body0.goSlot.Count; k++) { if (maidArray[j].body0.goSlot[k].obj != null) { DynamicSkirtBone fieldValue = GetFieldValue(maidArray[j].body0.goSlot[k].bonehair3, "m_SkirtBone"); if (fieldValue != null) { fieldValue.m_fPanierForce = 0.05f; fieldValue.m_fPanierForceDistanceThreshold = 0.1f; fieldValue.m_fRegDefaultRadius = 0.1f; } } } } } } if (!isSkirtyure) { GUI.enabled = false; } GUI.Label(new Rect(GetPix(108), GetPix(565), GetPix(100), GetPix(25)), "足側カプセル半径", guistyle2); float num4 = GUI.HorizontalSlider(new Rect(GetPix(108), GetPix(579), GetPix(92), GetPix(20)), skirtyure4, 0f, 0.2f); if (skirtyure4 != num4) { skirtyure4 = num4; Preferences["config"]["skirt_radius"].Value = skirtyure4.ToString(); SaveConfig(); } GUI.Label(new Rect(GetPix(108), GetPix(590), GetPix(100), GetPix(25)), "足との距離パニエ力", guistyle2); float num5 = GUI.HorizontalSlider(new Rect(GetPix(108), GetPix(604), GetPix(92), GetPix(20)), skirtyure2, 0f, 0.2f); if (skirtyure2 != num5) { skirtyure2 = num5; Preferences["config"]["skirt_damping"].Value = skirtyure2.ToString(); SaveConfig(); } GUI.Label(new Rect(GetPix(10), GetPix(590), GetPix(100), GetPix(25)), "パニエ力", guistyle2); float num6 = GUI.HorizontalSlider(new Rect(GetPix(8), GetPix(604), GetPix(92), GetPix(20)), skirtyure3, 0f, 0.1f); if (skirtyure3 != num6) { skirtyure3 = num6; Preferences["config"]["skirt_elasticity"].Value = skirtyure3.ToString(); SaveConfig(); } GUI.enabled = true; } GUI.enabled = true; GUI.DrawTexture(new Rect(GetPix(5), GetPix(389), GetPix(195), 2f), line1); GUI.DrawTexture(new Rect(GetPix(5), GetPix(389), GetPix(195), 1f), line2); if (doguCombo.isClickedComboButton || parCombo.isClickedComboButton || bgCombo.isClickedComboButton || bgmCombo.isClickedComboButton) { GUI.enabled = false; } GUI.DrawTexture(new Rect(GetPix(5), GetPix(176), GetPix(195), 2f), line1); GUI.DrawTexture(new Rect(GetPix(5), GetPix(176), GetPix(195), 1f), line2); GUI.Label(new Rect(GetPix(8), GetPix(187), GetPix(100), GetPix(25)), "照明", guistyle2); listStyle3.padding.top = GetPix(3); listStyle3.padding.bottom = GetPix(2); listStyle3.fontSize = GetPix(13); int num7 = lightCombo.List(new Rect(GetPix(34), GetPix(185), GetPix(78), GetPix(23)), lightComboList[selectLightIndex].text, lightComboList, guistyle4, "box", listStyle3); if (num7 != selectLightIndex) { selectLightIndex = num7; isIdx1 = false; isIdx2 = false; isIdx3 = false; isIdx4 = false; } if (GUI.Button(new Rect(GetPix(115), GetPix(185), GetPix(35), GetPix(23)), "追加", guistyle3)) { GameObject gameObject = new GameObject("Light"); gameObject.AddComponent(); lightList.Add(gameObject); lightColorR.Add(1f); lightColorG.Add(1f); lightColorB.Add(1f); lightIndex.Add(0); lightX.Add(40f); lightY.Add(180f); lightAkarusa.Add(0.95f); lightKage.Add(0.098f); lightRange.Add(50f); gameObject.transform.position = GameMain.Instance.MainLight.transform.position; selectLightIndex = lightList.Count - 1; lightComboList = new GUIContent[lightList.Count]; for (int i = 0; i < lightList.Count; i++) { if (i == 0) { lightComboList[i] = new GUIContent("メイン"); } else { lightComboList[i] = new GUIContent("追加" + i); } } lightCombo.selectedItemIndex = selectLightIndex; gameObject.GetComponent().intensity = 0.95f; gameObject.GetComponent().spotAngle = 50f; gameObject.GetComponent().range = 10f; gameObject.GetComponent().type = LightType.Directional; gameObject.GetComponent().color = new Color(0.5f, 1f, 0f); if (gLight[selectLightIndex] == null) { gLight[selectLightIndex] = GameObject.CreatePrimitive(PrimitiveType.Cube); Material material = new Material(Shader.Find("Transparent/Diffuse")) { color = new Color(0.5f, 0.5f, 1f, 0.8f) }; gLight[selectLightIndex].GetComponent().material = material; gLight[selectLightIndex].layer = 8; gLight[selectLightIndex].GetComponent().enabled = false; gLight[selectLightIndex].SetActive(false); gLight[selectLightIndex].transform.position = gameObject.transform.position; mLight[selectLightIndex] = gLight[selectLightIndex].AddComponent(); mLight[selectLightIndex].obj = gLight[selectLightIndex]; mLight[selectLightIndex].maid = gameObject.gameObject; mLight[selectLightIndex].angles = gameObject.gameObject.transform.eulerAngles; gLight[selectLightIndex].transform.localScale = new Vector3(0.12f, 0.12f, 0.12f); mLight[selectLightIndex].ido = 1; mLight[selectLightIndex].isScale = false; } } if (GUI.Button(new Rect(GetPix(153), GetPix(185), GetPix(23), GetPix(23)), "R", guistyle3)) { for (int i = 1; i < lightList.Count; i++) { Destroy(lightList[i]); } lightIndex = new List { 0 }; lightColorR = new List { 1f }; lightColorG = new List { 1f }; lightColorB = new List { 1f }; lightX = new List { 40f }; lightY = new List { 180f }; lightAkarusa = new List { 0.95f }; lightKage = new List { 0.098f }; lightRange = new List { 50f }; lightCombo.selectedItemIndex = 0; lightList = new List { GameMain.Instance.MainLight.gameObject }; lightComboList = new GUIContent[lightList.Count]; for (int i = 0; i < lightList.Count; i++) { if (i == 0) { lightComboList[i] = new GUIContent("メイン"); } else { lightComboList[i] = new GUIContent("追加" + i); } } selectLightIndex = 0; GameMain.Instance.MainLight.Reset(); GameMain.Instance.MainLight.SetIntensity(0.95f); GameMain.Instance.MainLight.GetComponent().spotAngle = 50f; GameMain.Instance.MainLight.GetComponent().range = 10f; GameMain.Instance.MainLight.gameObject.transform.position = new Vector3(0f, 2f, 0f); GameMain.Instance.MainLight.GetComponent().type = LightType.Directional; bgObject.SetActive(true); mainCamera.GetComponent().backgroundColor = new Color(0f, 0f, 0f); isIdx1 = false; isIdx2 = false; isIdx3 = false; isIdx4 = false; } GUI.enabled = true; if (doguCombo.isClickedComboButton || bgCombo.isClickedComboButton || bgmCombo.isClickedComboButton) { GUI.enabled = false; } listStyle3.padding.top = GetPix(0); listStyle3.padding.bottom = GetPix(0); listStyle3.fontSize = GetPix(12); GUI.Label(new Rect(GetPix(8), GetPix(116), GetPix(150), GetPix(25)), "大道具2", guistyle2); parIndex = parCombo.List(new Rect(GetPix(51), GetPix(113), GetPix(100), GetPix(23)), parComboList[parIndex].text, parComboList, guistyle4, "box", listStyle3); if (GUI.Button(new Rect(GetPix(156), GetPix(113), GetPix(38), GetPix(23)), "追加", guistyle3)) { GameObject gameObject2 = null; bool flag5 = false; bool flag6 = false; if (parArray[parIndex].Contains("#")) { string[] array3 = parArray[parIndex].Split(new char[] { '#' }); gameObject2 = GameMain.Instance.BgMgr.CreateAssetBundle(array3[1]); if (gameObject2 != null) { gameObject2 = Instantiate(gameObject2); MeshRenderer[] componentsInChildren = gameObject2.GetComponentsInChildren(); for (int k = 0; k < componentsInChildren.Length; k++) { if (componentsInChildren[k] != null) { componentsInChildren[k].shadowCastingMode = ShadowCastingMode.Off; } } } flag5 = true; if (!parArray[parIndex].Contains("Odogu_")) { flag6 = true; } doguBObject.Add(gameObject2); } else if (!parArray[parIndex].StartsWith("mirror") && parArray[parIndex].IndexOf(":") < 0) { Object @object = Resources.Load("Prefab/" + parArray[parIndex]); gameObject2 = Instantiate(@object) as GameObject; doguBObject.Add(gameObject2); } else if (parArray[parIndex].StartsWith("mirror")) { Material material2 = new Material(Shader.Find("Mirror")); GameObject gameObject3 = GameObject.CreatePrimitive(PrimitiveType.Plane); gameObject3.GetComponent().material = material2; gameObject3.AddComponent(); MirrorReflection2 component2 = gameObject3.GetComponent(); component2.m_TextureSize = 2048; component2.m_ClipPlaneOffset = 0.07f; gameObject3.GetComponent().enabled = true; gameObject2 = gameObject3; doguBObject.Add(gameObject2); } else { string[] array3 = parArray[parIndex].Split(new char[] { ':' }); Object @object = GameMain.Instance.BgMgr.CreateAssetBundle(array3[0]); if (@object == null) { @object = Resources.Load("BG/" + array3[0]); } GameObject gameObject4 = Instantiate(@object) as GameObject; int num8 = 0; int.TryParse(array3[1], out int num9); foreach (object obj in gameObject4.transform) { Transform transform = (Transform)obj; if (num9 == num8) { gameObject2 = transform.gameObject; break; } num8++; } doguBObject.Add(gameObject2); gameObject2.transform.parent = null; Destroy(gameObject4); gameObject4.SetActive(false); } gameObject2.name = parArray[parIndex]; Vector3 zero = Vector3.zero; Vector3 zero2 = Vector3.zero; switch (parIndex) { case 0: zero.z = -0.6f; zero.y = 0.96f; zero2.z = 180f; zero2.x = -90f; gameObject2.transform.localScale = new Vector3(0.2f, 0.4f, 0.2f); break; case 1: zero.z = -0.6f; zero.y = 0.96f; zero2.z = 180f; zero2.x = -90f; gameObject2.transform.localScale = new Vector3(0.1f, 0.4f, 0.2f); break; case 2: zero.z = -0.6f; zero.y = 0.85f; zero2.z = 180f; zero2.x = -90f; gameObject2.transform.localScale = new Vector3(0.03f, 0.18f, 0.124f); break; case 3: case 4: case 5: case 6: case 7: case 8: case 9: case 10: case 11: case 12: case 13: case 14: case 15: case 16: case 17: zero.z = 0.5f; zero2.x = -90f; break; } if (flag5) { zero.z = 0.4f; if (flag6) { zero2.x = -90f; } } if (gameObject2.name == "Salon_Entrance:3" || gameObject2.name == "Salon_Entrance:4" || gameObject2.name == "Salon_Entrance:1" || gameObject2.name == "Salon_Entrance:2" || gameObject2.name == "Salon_Entrance:0" || gameObject2.name == "Shitsumu:23" || gameObject2.name == "Shitsumu_Night:23") { zero.z = 0.5f; zero2.x = -90f; } if (gameObject2.name == "Pool:26") { zero.z = 0.5f; zero2.x = -90f; zero2.z = 90f; zero.y = 0.15f; } if (gameObject2.name == "Particle/pstarY_act2") { zero2.y = 90f; } gameObject2.transform.localPosition = zero; gameObject2.transform.localRotation = Quaternion.Euler(zero2); doguCnt = doguBObject.Count - 1; gDogu[doguCnt] = GameObject.CreatePrimitive(PrimitiveType.Cube); gDogu[doguCnt].GetComponent().material = m_material; gDogu[doguCnt].layer = 8; gDogu[doguCnt].GetComponent().enabled = false; gDogu[doguCnt].SetActive(false); gDogu[doguCnt].transform.position = gameObject2.transform.position; mDogu[doguCnt] = gDogu[doguCnt].AddComponent(); mDogu[doguCnt].obj = gDogu[doguCnt]; mDogu[doguCnt].maid = gameObject2; mDogu[doguCnt].angles = gameObject2.transform.eulerAngles; gDogu[doguCnt].transform.localScale = new Vector3(cubeSize, cubeSize, cubeSize); mDogu[doguCnt].ido = 1; mDogu[doguCnt].isScale = false; if (gameObject2.name == "Particle/pLineY") { mDogu[doguCnt].count = 180; gameObject2.transform.localScale = new Vector3(3f, 3f, 3f); } if (gameObject2.name == "Particle/pLineP02") { mDogu[doguCnt].count = 115; gameObject2.transform.localScale = new Vector3(3f, 3f, 3f); } if (gameObject2.name == "Particle/pLine_act2") { mDogu[doguCnt].count = 90; gameObject2.transform.localScale = new Vector3(3f, 3f, 3f); } if (gameObject2.name == "Particle/pHeart01") { mDogu[doguCnt].count = 77; } if (parIndex < 3) { mDogu[doguCnt].isScale = true; mDogu[doguCnt].isScale2 = true; mDogu[doguCnt].scale2 = gameObject2.transform.localScale; if (parIndex == 0) { mDogu[doguCnt].scale = new Vector3(gameObject2.transform.localScale.x * 5f, gameObject2.transform.localScale.y * 5f, gameObject2.transform.localScale.z * 5f); } if (parIndex == 1) { mDogu[doguCnt].scale = new Vector3(gameObject2.transform.localScale.x * 10f, gameObject2.transform.localScale.y * 10f, gameObject2.transform.localScale.z * 10f); } if (parIndex == 2) { mDogu[doguCnt].scale = new Vector3(gameObject2.transform.localScale.x * 33f, gameObject2.transform.localScale.y * 33f, gameObject2.transform.localScale.z * 33f); } } if (gameObject2.GetComponent() != null) { gameObject2.GetComponent().enabled = false; } } GUI.enabled = true; if (bgCombo.isClickedComboButton || bgmCombo.isClickedComboButton) { GUI.enabled = false; } GUI.Label(new Rect(GetPix(8), GetPix(88), GetPix(100), GetPix(25)), "大道具1", guistyle2); doguBIndex = doguCombo.List(new Rect(GetPix(51), GetPix(85), GetPix(100), GetPix(23)), doguComboList[doguBIndex].text, doguComboList, guistyle4, "box", listStyle3); if (GUI.Button(new Rect(GetPix(156), GetPix(85), GetPix(38), GetPix(23)), "追加", guistyle3)) { GameObject gameObject2 = null; if (doguDict.TryGetValue(doguBArray[doguBIndex], out PhotoBGObjectData objResult)) { if (!string.IsNullOrEmpty(objResult.create_prefab_name)) { Object tmpObj = Resources.Load("Prefab/" + objResult.create_prefab_name); if (tmpObj == null) { gameObject2 = null; } else { gameObject2 = Instantiate(tmpObj) as GameObject; } } else if (!string.IsNullOrEmpty(objResult.create_asset_bundle_name)) { GameObject gameObject3 = GameMain.Instance.BgMgr.CreateAssetBundle(objResult.create_asset_bundle_name); if (gameObject3 == null) { gameObject2 = null; } else { gameObject2 = Instantiate(gameObject3); } } else if (!string.IsNullOrEmpty(objResult.direct_file)) { BasePhotoCustomObject basePhotoCustomObject = BasePhotoCustomObject.InstantiateFromFile(transform.gameObject, objResult.direct_file); gameObject2 = basePhotoCustomObject.gameObject; } if (gameObject2 != null) { doguBObject.Add(gameObject2); } } else if (!doguBArray[doguBIndex].StartsWith("mirror")) { Object @object; if (doguBArray[doguBIndex].StartsWith("BG")) { string text2 = doguBArray[doguBIndex].Replace("BG", ""); @object = GameMain.Instance.BgMgr.CreateAssetBundle(text2); if (@object == null) { @object = Resources.Load("BG/" + text2); } } else { @object = Resources.Load("Prefab/" + doguBArray[doguBIndex]); } gameObject2 = Instantiate(@object) as GameObject; doguBObject.Add(gameObject2); } else { Material material2 = new Material(Shader.Find("Mirror")); GameObject gameObject3 = GameObject.CreatePrimitive(PrimitiveType.Plane); gameObject3.transform.localScale = new Vector3(0.3f, 1f, 0.3f); gameObject3.GetComponent().material = material2; gameObject3.AddComponent(); MirrorReflection2 component2 = gameObject3.GetComponent(); component2.m_TextureSize = 2048; component2.m_ClipPlaneOffset = 0f; gameObject3.GetComponent().enabled = true; gameObject2 = gameObject3; doguBObject.Add(gameObject2); } gameObject2.name = doguBArray[doguBIndex]; Vector3 zero = Vector3.zero; Vector3 zero2 = Vector3.zero; string text = gameObject2.name; switch (text) { case "Odogu_XmasTreeMini_photo_ver": zero.z = 0.6f; gameObject2.transform.localScale = new Vector3(4.5f, 4.5f, 4.5f); foreach (object obj2 in gameObject2.transform) { Transform transform2 = (Transform)obj2; if (transform2.GetComponent() != null) { transform2.GetComponent().enabled = false; } } goto IL_A0BF; case "Odogu_KadomatsuMini_photo_ver": zero.z = 0.6f; gameObject2.transform.localScale = new Vector3(3.5f, 3.5f, 3.5f); foreach (object obj3 in gameObject2.transform) { Transform transform2 = (Transform)obj3; if (transform2.GetComponent() != null) { transform2.GetComponent().enabled = false; } } goto IL_A0BF; case "Odogu_ClassRoomDesk": zero.z = 0.5f; zero2.x = -90f; goto IL_A0BF; case "Odogu_SimpleTable": zero.z = 0.5f; zero2.x = -90f; goto IL_A0BF; case "Odogu_DildoBox": zero.z = 0.5f; zero2.x = -90f; goto IL_A0BF; case "PlayAreaOut": zero.z = 0.5f; zero.y = 0.2f; goto IL_A0BF; case "Odogu_Dresser_photo_ver": GameObject.Find("Prim.00000000").GetComponent().enabled = false; GameObject.Find("Prim.00000001").GetComponent().enabled = false; GameObject.Find("Prim.00000002").GetComponent().enabled = false; GameObject.Find("Prim.00000004").GetComponent().enabled = false; goto IL_A0BF; case "BGodogu_bbqgrill": case "BGodogu_bucket": case "BGodogu_coolerbox": case "BGodogu_game_darts": case "BGodogu_game_dartsboard": case "BGodogu_nabe_huta": case "BGodogu_nabe_water": case "BGodogu_natumikan": case "BGodogu_rb_chair": case "BGodogu_rb_duck": case "BGodogu_rb_obon": case "BGodogu_rb_tokkuri": case "BGodogu_saracorn": case "BGodogu_saraimo": case "BGodogu_saratomato": case "BGodogu_sunanoshiro": case "BGodogu_sunanoyama": case "BGodogu_tsutsuhanabi": case "BGodogu_ukiwa": case "BGodogu_vf_crops_corn": case "BGodogu_vf_crops_gekkabijin": case "BGodogu_vf_crops_gekkabijinflower": case "BGodogu_vf_crops_himawari": case "BGodogu_vf_crops_natsumikan": case "BGodogu_vf_crops_suika": case "BGodogu_vf_crops_zakuro": case "BGodogu_villa_table": case "BGodogu_villa_tvrimocon": case "BGodogu_villabr_sideboard": case "BGOdogu_Game_Nei_USB": case "BGOdogu_Game_Wanage": case "BGOdogu_Game_Wa": case "BGodogu_pafe": case "BGodogu_furaidopoteto": case "BGodogu_karaoketable": case "BGodogu_omuriceh": case "BGodogu_omuricekao1": case "BGodogu_omuricekao2": case "BGodogu_omuriceoppai": case "BGodogu_kakigori": case "BGodogu_pretzel_sara": case "BGodogu_karaoke_box": case "Odogu_StandMike": case "Odogu_StandMikeBase": case "Odogu_HeroineChair_muku": case "Odogu_HeroineChair_mazime": case "Odogu_HeroineChair_rindere": case "Odogu_HeroineChair_tsumdere": case "Odogu_HeroineChair_cooldere": case "Odogu_HeroineChair_junshin": case "Odogu_TabletPC": case "Odogu_Styluspen_black": case "Odogu_Styluspen_white": case "Odogu_Styluspen_red": case "Odogu_Styluspen_blue": case "Odogu_Styluspen_yellow": case "Odogu_Styluspen_green": case "Odogu_Omurice1": case "Odogu_Omurice3": case "Odogu_OmuriceH": case "Odogu_OmuriceKao1": case "Odogu_OmuriceKao2": case "Odogu_OmuriceOppai": case "Odogu_AcquaPazza": case "Odogu_Sandwich": case "Odogu_vichyssoise": case "Odogu_BirthdayCake": case "Odogu_Shortcake": case "Odogu_MontBlanc": case "Odogu_Pafe": case "Odogu_Smoothie_Red": case "Odogu_Smoothie_Green": case "Odogu_Cocktail_Red": case "Odogu_Cocktail_Blue": case "Odogu_Cocktail_Yellow": case "Odogu_Coffiecup": case "Odogu_WineBottle(cap_off)": case "Odogu_WineBottle(cap_on)": case "Odogu_Jyouro": case "Odogu_Planter_Red": case "Odogu_Planter_Lightblue": case "Odogu_MariGold": case "Odogu_CasinoChip_10": case "Odogu_CasinoChip_100": case "Odogu_CasinoChip_1000": case "Odogu_CardShooter": case "Odogu_CardsDeck": case "Odogu_Card_s1": case "Odogu_Card_s2": case "Odogu_Card_s3": case "Odogu_Card_s4": case "Odogu_Card_s5": case "Odogu_Card_s6": case "Odogu_Card_s7": case "Odogu_Card_s8": case "Odogu_Card_s9": case "Odogu_Card_s10": case "Odogu_Card_s11": case "Odogu_Card_s12": case "Odogu_Card_s13": case "Odogu_Card_h1": case "Odogu_Card_h2": case "Odogu_Card_h3": case "Odogu_Card_h4": case "Odogu_Card_h5": case "Odogu_Card_h6": case "Odogu_Card_h7": case "Odogu_Card_h8": case "Odogu_Card_h9": case "Odogu_Card_h10": case "Odogu_Card_h11": case "Odogu_Card_h12": case "Odogu_Card_h13": case "Odogu_Card_d1": case "Odogu_Card_d2": case "Odogu_Card_d3": case "Odogu_Card_d4": case "Odogu_Card_d5": case "Odogu_Card_d6": case "Odogu_Card_d7": case "Odogu_Card_d8": case "Odogu_Card_d9": case "Odogu_Card_d10": case "Odogu_Card_d11": case "Odogu_Card_d12": case "Odogu_Card_d13": case "Odogu_Card_c1": case "Odogu_Card_c2": case "Odogu_Card_c3": case "Odogu_Card_c4": case "Odogu_Card_c5": case "Odogu_Card_c6": case "Odogu_Card_c7": case "Odogu_Card_c8": case "Odogu_Card_c9": case "Odogu_Card_c10": case "Odogu_Card_c11": case "Odogu_Card_c12": case "Odogu_Card_c13": case "Odogu_Card_joker": zero.z = 0.5f; zero2.x = -90f; goto IL_A0BF; } zero.z = 0.5f; if (gameObject2.name.StartsWith("Odogu_")) { foreach (object obj4 in gameObject2.transform) { Transform transform2 = (Transform)obj4; if (transform2.GetComponent() != null) { transform2.GetComponent().enabled = false; } } } else if (gameObject2.GetComponent() != null) { gameObject2.GetComponent().enabled = false; } IL_A0BF: gameObject2.transform.localPosition = zero; gameObject2.transform.localRotation = Quaternion.Euler(zero2); doguCnt = doguBObject.Count - 1; gDogu[doguCnt] = GameObject.CreatePrimitive(PrimitiveType.Cube); gDogu[doguCnt].GetComponent().material = m_material; gDogu[doguCnt].layer = 8; gDogu[doguCnt].GetComponent().enabled = false; gDogu[doguCnt].SetActive(false); gDogu[doguCnt].transform.position = gameObject2.transform.position; mDogu[doguCnt] = gDogu[doguCnt].AddComponent(); mDogu[doguCnt].isScale = false; mDogu[doguCnt].obj = gDogu[doguCnt]; mDogu[doguCnt].maid = gameObject2; mDogu[doguCnt].angles = gameObject2.transform.eulerAngles; gDogu[doguCnt].transform.localScale = new Vector3(cubeSize, cubeSize, cubeSize); mDogu[doguCnt].ido = 1; if (doguBIndex == 6 || doguBIndex == 7) { mDogu[doguCnt].isScale2 = true; mDogu[doguCnt].scale2 = gameObject2.transform.localScale; } } GUI.enabled = true; if (bgmCombo.isClickedComboButton) { GUI.enabled = false; } listStyle3.padding.top = GetPix(1); listStyle3.padding.bottom = GetPix(0); listStyle3.fontSize = GetPix(12); int num10 = bgCombo.List(new Rect(GetPix(31), GetPix(53), GetPix(95), GetPix(23)), bgComboList[bgIndex].text, bgComboList, guistyle4, "box", listStyle3); if (GUI.Button(new Rect(GetPix(5), GetPix(53), GetPix(23), GetPix(23)), "<", guistyle3)) { num10--; if (num10 <= -1) { num10 = bgArray.Length - 1; } } if (GUI.Button(new Rect(GetPix(129), GetPix(53), GetPix(23), GetPix(23)), ">", guistyle3)) { num10++; if (num10 == bgArray.Length) { num10 = 0; } } if (bgIndex != num10) { bgIndex = num10; bg.localScale = new Vector3(1f, 1f, 1f); if (bgArray[bgIndex].Length == 36) { GameMain.Instance.BgMgr.ChangeBgMyRoom(bgArray[bgIndex]); } else { GameMain.Instance.BgMgr.ChangeBg(bgArray[bgIndex]); } bgCombo.selectedItemIndex = bgIndex; if (bgArray[bgIndex] == "karaokeroom") { bg.transform.position = bgObject.transform.position; Vector3 zero = Vector3.zero; Vector3 zero2 = Vector3.zero; zero2.y = 90f; zero.z = 4f; zero.x = 1f; bg.transform.localPosition = zero; bg.transform.localRotation = Quaternion.Euler(zero2); } } GUI.enabled = true; int num11 = bgmCombo.List(new Rect(GetPix(31), GetPix(25), GetPix(95), GetPix(23)), bgmComboList[bgmIndex].text, bgmComboList, guistyle4, "box", listStyle3); if (GUI.Button(new Rect(GetPix(5), GetPix(25), GetPix(23), GetPix(23)), "<", guistyle3)) { num11--; if (num11 <= -1) { num11 = bgmArray.Length - 1; } } if (GUI.Button(new Rect(GetPix(129), GetPix(25), GetPix(23), GetPix(23)), ">", guistyle3)) { num11++; if (num11 == bgmArray.Length) { num11 = 0; } } if (bgmIndex != num11) { bgmIndex = num11; GameMain.Instance.SoundMgr.PlayBGM(bgmArray[bgmIndex] + ".ogg", 0f, true); bgmCombo.selectedItemIndex = bgmIndex; } if (bgmCombo.isClickedComboButton) { GUI.enabled = false; } } private void PoseWindow(int winID) { GUI.DragWindow(new Rect(0, 0, rectWin.width, DRAG_BAR_HEIGHT)); GUI.Box(new Rect(0, 0, rectWin.width, DRAG_BAR_HEIGHT), ""); GUIStyle style1 = "label"; style1.fontSize = GetPix(12); style1.alignment = TextAnchor.UpperLeft; GUIStyle style2 = "label"; style2.fontSize = GetPix(11); style2.alignment = TextAnchor.UpperLeft; GUIStyle style3 = "button"; style3.fontSize = GetPix(20); GUIStyle buttonStyle1 = "button"; buttonStyle1.fontSize = GetPix(14); buttonStyle1.alignment = TextAnchor.MiddleLeft; GUIStyle buttonStyle2 = "button"; buttonStyle2.fontSize = GetPix(12); buttonStyle2.alignment = TextAnchor.MiddleLeft; GUIStyle style4 = new GUIStyle("toggle") { fontSize = GetPix(13) }; CharacterMgr characterMgr = GameMain.Instance.CharacterMgr; Maid maid = maidArray[selectMaidIndex]; if (!poseInitFlg) { listStyle2.normal.textColor = Color.white; listStyle2.normal.background = MakeTex(2, 2, new Color(0.0f, 0.0f, 0.0f, 0.5f)); listStyle2.onHover.background = listStyle2.hover.background = new Texture2D(2, 2); listStyle2.padding.left = listStyle2.padding.right = listStyle2.padding.top = listStyle2.padding.bottom = GetPix(0); listStyle2.fontSize = GetPix(12); listStyle3.normal.textColor = Color.white; listStyle3.normal.background = MakeTex(2, 2, new Color(0.0f, 0.0f, 0.0f, 0.5f)); listStyle3.onHover.background = listStyle3.hover.background = new Texture2D(2, 2); listStyle3.padding.left = listStyle3.padding.right = listStyle3.padding.top = GetPix(1); listStyle3.padding.bottom = GetPix(0); listStyle3.fontSize = GetPix(12); listStyle4.normal.textColor = Color.white; listStyle4.normal.background = MakeTex(2, 2, new Color(0.0f, 0.0f, 0.0f, 0.5f)); listStyle4.onHover.background = listStyle4.hover.background = new Texture2D(2, 2); listStyle4.padding.left = listStyle4.padding.right = listStyle4.padding.top = 3; listStyle4.padding.bottom = 3; listStyle4.fontSize = GetPix(13); poseCombo.selectedItemIndex = 0; int group = (int)groupList[0]; poseComboList = new GUIContent[group]; for (int index = 0; index < group; ++index) { poseComboList[index] = new GUIContent((index + 1).ToString() + ":" + poseArray[index]); } poseGroupCombo.selectedItemIndex = 0; poseGroupComboList = new GUIContent[poseGroupArray.Length + 1]; poseGroupComboList[0] = new GUIContent("1:通常"); for (int index = 0; index < poseGroupArray.Length; ++index) { if (poseGroupArray[index] == "maid_dressroom01") { poseGroupComboList[index + 1] = new GUIContent((index + 2).ToString() + ":立ち"); } if (poseGroupArray[index] == "tennis_kamae_f") { poseGroupComboList[index + 1] = new GUIContent((index + 2).ToString() + ":中腰"); } if (poseGroupArray[index] == "senakanagasi_f") { poseGroupComboList[index + 1] = new GUIContent((index + 2).ToString() + ":膝をつく"); } if (poseGroupArray[index] == "work_hansei") { poseGroupComboList[index + 1] = new GUIContent((index + 2).ToString() + ":座り"); } if (poseGroupArray[index] == "inu_taiki_f") { poseGroupComboList[index + 1] = new GUIContent((index + 2).ToString() + ":四つん這い"); } if (poseGroupArray[index] == "syagami_pose_f") { poseGroupComboList[index + 1] = new GUIContent((index + 2).ToString() + ":床座り"); } if (poseGroupArray[index] == "densyasuwari_taiki_f") { poseGroupComboList[index + 1] = new GUIContent((index + 2).ToString() + ":椅子座り"); } if (poseGroupArray[index] == "work_kaiwa") { poseGroupComboList[index + 1] = new GUIContent((index + 2).ToString() + ":ソファー座り"); } if (poseGroupArray[index] == "dance_cm3d2_001_f1,14.14") { poseGroupComboList[index + 1] = new GUIContent((index + 2).ToString() + ":ドキドキ☆Fallin' Love"); } if (poseGroupArray[index] == "dance_cm3d_001_f1,39.25") { poseGroupComboList[index + 1] = new GUIContent((index + 2).ToString() + ":entrance to you"); } if (poseGroupArray[index] == "dance_cm3d_002_end_f1,50.71") { poseGroupComboList[index + 1] = new GUIContent((index + 2).ToString() + ":scarlet leap"); } if (poseGroupArray[index] == "dance_cm3d2_002_smt_f,7.76,") { poseGroupComboList[index + 1] = new GUIContent((index + 2).ToString() + ":stellar my tears"); } if (poseGroupArray[index] == "dance_cm3d_003_sp2_f1,90.15") { poseGroupComboList[index + 1] = new GUIContent((index + 2).ToString() + ":rhythmix to you"); } if (poseGroupArray[index] == "dance_cm3d2_003_hs_f1,0.01,") { poseGroupComboList[index + 1] = new GUIContent((index + 2).ToString() + ":happy!happy!スキャンダル!!"); } if (poseGroupArray[index] == "dance_cm3d_004_kano_f1,124.93") { poseGroupComboList[index + 1] = new GUIContent((index + 2).ToString() + ":Can Know Two Close"); } if (poseGroupArray[index] == "dance_cm3d2_004_sse_f1,0.01") { poseGroupComboList[index + 1] = new GUIContent((index + 2).ToString() + ":sweet sweet everyday"); } if (poseGroupArray[index] == "turusi_sex_in_taiki_f") { poseGroupComboList[index + 1] = new GUIContent((index + 2).ToString() + ":拘束"); } if (poseGroupArray[index] == "rosyutu_pose01_f") { poseGroupComboList[index + 1] = new GUIContent((index + 2).ToString() + ":エロ"); } if (poseGroupArray[index] == "rosyutu_aruki_f_once_,1.37") { poseGroupComboList[index + 1] = new GUIContent((index + 2).ToString() + ":歩き"); } if (poseGroupArray[index] == "stand_desk1") { poseGroupComboList[index + 1] = new GUIContent((index + 2).ToString() + ":その他"); } if (poseGroupArray[index] == poseArray5[0]) { poseGroupComboList[index + 1] = new GUIContent((index + 2).ToString() + ":ダンスMC"); } if (poseGroupArray[index] == poseArray6[0]) { poseGroupComboList[index + 1] = new GUIContent((index + 2).ToString() + ":ダンス"); } if (existPose && strS != "") { if (index == poseGroupArray.Length - 4) { poseGroupComboList[index + 1] = new GUIContent((index + 2).ToString() + ":通常2"); } if (index == poseGroupArray.Length - 3) { poseGroupComboList[index + 1] = new GUIContent((index + 2).ToString() + ":エロ2"); } if (index == poseGroupArray.Length - 2) { poseGroupComboList[index + 1] = new GUIContent("98:撮影モード"); } if (index == poseGroupArray.Length - 1) { poseGroupComboList[index + 1] = new GUIContent("99:登録ポーズ"); } } else if (existPose && strS == "") { if (index == poseGroupArray.Length - 3) { poseGroupComboList[index + 1] = new GUIContent((index + 2).ToString() + ":通常2"); } if (index == poseGroupArray.Length - 2) { poseGroupComboList[index + 1] = new GUIContent((index + 2).ToString() + ":エロ2"); } if (index == poseGroupArray.Length - 1) { poseGroupComboList[index + 1] = new GUIContent("99:登録ポーズ"); } } else if (!existPose && strS != "") { if (index == poseGroupArray.Length - 3) { poseGroupComboList[index + 1] = new GUIContent((index + 2).ToString() + ":通常2"); } if (index == poseGroupArray.Length - 2) { poseGroupComboList[index + 1] = new GUIContent((index + 2).ToString() + ":エロ2"); } if (index == poseGroupArray.Length - 1) { poseGroupComboList[index + 1] = new GUIContent("98:撮影モード"); } } else { if (index == poseGroupArray.Length - 2) { poseGroupComboList[index + 1] = new GUIContent((index + 2).ToString() + ":通常2"); } if (index == poseGroupArray.Length - 1) { poseGroupComboList[index + 1] = new GUIContent((index + 2).ToString() + ":エロ2"); } } } poseInitFlg = true; itemCombo.selectedItemIndex = 0; int length = itemArray.Length; itemComboList = new GUIContent[length - 1]; for (int index = 0; index < length; ++index) { if (index == 0) { itemComboList[index] = new GUIContent("アイテム無し"); } else { switch (itemArray[index]) { case "handitem,HandItemR_WineGlass_I_.menu": itemComboList[index] = new GUIContent(index.ToString() + ":ワイングラス"); break; case "handitem,HandItemR_WineBottle_I_.menu": itemComboList[index] = new GUIContent(index.ToString() + ":ワインボトル"); break; case "handitem,handitemr_racket_I_.menu": itemComboList[index] = new GUIContent(index.ToString() + ":ラケット"); break; case "handitem,HandItemR_Hataki_I_.menu": itemComboList[index] = new GUIContent(index.ToString() + ":ハタキ"); break; case "handitem,HandItemR_Mop_I_.menu": itemComboList[index] = new GUIContent(index.ToString() + ":モップ"); break; case "handitem,HandItemR_Houki_I_.menu": itemComboList[index] = new GUIContent(index.ToString() + ":ほうき"); break; case "handitem,HandItemR_Zoukin2_I_.menu": itemComboList[index] = new GUIContent(index.ToString() + ":雑巾"); break; case "handitem,HandItemR_Chu-B_Lip_I_.menu": itemComboList[index] = new GUIContent(index.ToString() + ":Chu-B Lip"); break; case "handitem,HandItemR_Mimikaki_I_.menu": itemComboList[index] = new GUIContent(index.ToString() + ":耳かき"); break; case "handitem,HandItemR_Pen_I_.menu": itemComboList[index] = new GUIContent(index.ToString() + ":ペン"); break; case "handitem,HandItemR_Otama_I_.menu": itemComboList[index] = new GUIContent(index.ToString() + ":おたま"); break; case "handitem,HandItemR_Houchou_I_.menu": itemComboList[index] = new GUIContent(index.ToString() + ":包丁"); break; case "handitem,HandItemR_Book_I_.menu": itemComboList[index] = new GUIContent(index.ToString() + ":本"); break; case "handitem,HandItemR_Puff_I_.menu": itemComboList[index] = new GUIContent(index.ToString() + ":パフ"); break; case "handitem,HandItemR_Rip_I_.menu": itemComboList[index] = new GUIContent(index.ToString() + ":リップ"); break; case "handitem,HandItemD_Shisyuu_Hari_I_.menu": itemComboList[index] = new GUIContent(index.ToString() + ":刺繍"); break; case "handitem,HandItemD_Sara_Sponge_I_.menu": itemComboList[index] = new GUIContent(index.ToString() + ":皿・スポンジ"); break; case "kousoku_upper,KousokuU_TekaseOne_I_.menu": itemComboList[index] = new GUIContent(index.ToString() + ":手枷1"); break; case "kousoku_upper,KousokuU_TekaseTwo_I_.menu": itemComboList[index] = new GUIContent(index.ToString() + ":手枷2"); break; case "kousoku_lower,KousokuL_AshikaseUp_I_.menu": itemComboList[index] = new GUIContent(index.ToString() + ":足枷"); break; case "handitem,HandItemR_Usuba_Houchou_I_.menu": itemComboList[index] = new GUIContent(index.ToString() + "薄刃包丁"); break; case "handitem,HandItemR_Chusyaki_I_.menu": itemComboList[index] = new GUIContent(index.ToString() + "注射器"); break; case "handitem,HandItemR_Nei_Heartful_I_.menu": itemComboList[index] = new GUIContent(index.ToString() + "ハートフルねい人形"); break; case "handitem,HandItemR_Shaker_I_.menu": itemComboList[index] = new GUIContent(index.ToString() + "シェイカー"); break; case "handitem,HandItemR_SmartPhone_I_.menu": itemComboList[index] = new GUIContent(index.ToString() + "スマートフォン"); break; case "kousoku_upper,KousokuU_Ushirode_I_.menu": itemComboList[index - 1] = new GUIContent((index - 1).ToString() + ":後ろ手拘束具"); break; case "kousoku_upper,KousokuU_SMRoom_Haritsuke_I_.menu": itemComboList[index - 1] = new GUIContent((index - 1).ToString() + ":磔台・手枷足枷"); break; case "kousoku_upper,KousokuU_SMRoom2_Haritsuke_I_.menu": itemComboList[index - 1] = new GUIContent((index - 1).ToString() + ":磔台・手枷足枷2"); break; case "handitem,HandItemL_Dance_Hataki_I_.menu": itemComboList[index - 1] = new GUIContent((index - 1).ToString() + ":ダンスハタキ"); break; case "handitem,HandItemL_Dance_Mop_I_.menu": itemComboList[index - 1] = new GUIContent((index - 1).ToString() + ":ダンスモップ"); break; case "handitem,HandItemL_Dance_Zoukin_I_.menu": itemComboList[index - 1] = new GUIContent((index - 1).ToString() + ":ダンス雑巾"); break; case "handitem,HandItemL_Kozara_I_.menu": itemComboList[index - 1] = new GUIContent((index - 1).ToString() + ":小皿"); break; case "handitem,HandItemR_Teacup_I_.menu": itemComboList[index - 1] = new GUIContent((index - 1).ToString() + ":ティーカップ"); break; case "handitem,HandItemL_Teasaucer_I_.menu": itemComboList[index - 1] = new GUIContent((index - 1).ToString() + ":ティーソーサー"); break; case "handitem,HandItemR_Wholecake_I_.menu": itemComboList[index - 1] = new GUIContent("ホールケーキ"); break; case "handitem,HandItemR_Menu_I_.menu": itemComboList[index - 1] = new GUIContent("メニュー表"); break; case "handitem,HandItemR_Vibe_I_.menu": itemComboList[index - 1] = new GUIContent((index - 1).ToString() + ":バイブ"); break; case "handitem,HandItemR_VibePink_I_.menu": itemComboList[index - 1] = new GUIContent((index - 1).ToString() + ":ピンクバイブ"); break; case "handitem,HandItemR_VibeBig_I_.menu": itemComboList[index - 1] = new GUIContent((index - 1).ToString() + ":太バイブ"); break; case "handitem,HandItemR_AnalVibe_I_.menu": itemComboList[index - 1] = new GUIContent((index - 1).ToString() + ":アナルバイブ"); break; case "handitem,HandItemH_SoutouVibe_I_.menu": itemComboList[index - 1] = new GUIContent((index - 1).ToString() + ":前:双頭バイブ"); break; case "accvag,accVag_Vibe_I_.menu": itemComboList[index - 1] = new GUIContent((index - 1).ToString() + ":前:バイブ"); break; case "accvag,accVag_VibeBig_I_.menu": itemComboList[index - 1] = new GUIContent((index - 1).ToString() + ":前:太バイブ"); break; case "accvag,accVag_VibePink_I_.menu": itemComboList[index - 1] = new GUIContent((index - 1).ToString() + ":前:ピンクバイブ"); break; case "accanl,accAnl_AnalVibe_I_.menu": itemComboList[index - 1] = new GUIContent((index - 1).ToString() + ":後:アナルバイブ"); break; case "accanl,accAnl_Photo_NomalVibe_I_.menu": itemComboList[index - 1] = new GUIContent((index - 1).ToString() + ":後:バイブ"); break; case "accanl,accAnl_Photo_VibeBig_I_.menu": itemComboList[index - 1] = new GUIContent((index - 1).ToString() + ":後:太バイブ"); break; case "accanl,accAnl_Photo_VibePink_I_.menu": itemComboList[index - 1] = new GUIContent((index - 1).ToString() + ":後:ピンクバイブ"); break; case "handitem,HandItemL_Etoile_Saucer_I_.menu": itemComboList[index - 1] = new GUIContent((index - 1).ToString() + "ティーソーサー"); break; case "handitem,HandItemR_Etoile_Teacup_I_.menu": itemComboList[index - 1] = new GUIContent((index - 1).ToString() + "ティーカップ"); break; case "handitem,HandItemL_Katuramuki_Daikon_I_.menu": itemComboList[index - 1] = new GUIContent((index - 1).ToString() + "桂むき大根"); break; case "handitem,HandItemL_Karte_I_.menu": itemComboList[index - 1] = new GUIContent((index - 1).ToString() + "カルテ"); break; case "handitem,HandItemL_Cracker_I_.menu": itemComboList[index - 1] = new GUIContent((index - 1).ToString() + "クラッカー"); break; } if (index == 12) { itemComboList[index] = new GUIContent(index.ToString() + ":手枷・足枷"); } if (index == 13) { itemComboList[index] = new GUIContent(index.ToString() + ":手枷・足枷(下)"); } if (index == 24) { itemComboList[index - 1] = new GUIContent((index - 1).ToString() + ":カップ&ソーサー"); } } } } if (poseCombo.isClickedComboButton) { GUI.enabled = false; } if (poseGroupCombo.isClickedComboButton) { GUI.enabled = false; } if (sceneLevel == 3 || sceneLevel == 5 || isF6) { if (!isF6) { bool flag = true; if (faceFlg || poseFlg || sceneFlg || kankyoFlg || kankyo2Flg) { flag = false; } if (GUI.Toggle(new Rect(GetPix(2), GetPix(2), GetPix(39), GetPix(20)), flag, "配置", style4)) { faceFlg = false; poseFlg = false; sceneFlg = false; kankyoFlg = false; kankyo2Flg = false; bGui = true; isGuiInit = true; } } if (!yotogiFlg && GUI.Toggle(new Rect(GetPix(41), GetPix(2), GetPix(39), GetPix(20)), poseFlg, "操作", style4)) { poseFlg = true; faceFlg = false; sceneFlg = false; kankyoFlg = false; kankyo2Flg = false; } if (GUI.Toggle(new Rect(GetPix(80), GetPix(2), GetPix(39), GetPix(20)), faceFlg, "表情", style4)) { faceFlg = true; poseFlg = false; sceneFlg = false; kankyoFlg = false; kankyo2Flg = false; if (!faceFlg2) { isFaceInit = true; faceFlg2 = true; maidArray[selectMaidIndex].boMabataki = false; faceCombo.selectedItemIndex = faceIndex[selectMaidIndex]; } isFaceInit = true; } if (GUI.Toggle(new Rect(GetPix(119), GetPix(2), GetPix(39), GetPix(20)), kankyoFlg, "環境", style4)) { poseFlg = false; faceFlg = false; sceneFlg = false; kankyoFlg = true; kankyo2Flg = false; } if (!line1) { line1 = MakeTex(2, 2, new Color(0.0f, 0.0f, 0.0f, 0.3f)); line2 = MakeTex(2, 2, new Color(0.7f, 0.7f, 0.7f, 0.6f)); } GUI.DrawTexture(new Rect(GetPix(5), GetPix(20), GetPix(160), 2f), line1); GUI.DrawTexture(new Rect(GetPix(5), GetPix(20), GetPix(160), 1f), line2); style1.fontSize = GetPix(13); style1.alignment = TextAnchor.MiddleCenter; GUI.Label(new Rect(GetPix(125), GetPix(25), GetPix(40), GetPix(25)), string.Concat(selectMaidIndex + 1), style1); style1.fontSize = GetPix(11); style1.alignment = TextAnchor.UpperLeft; } if (sceneLevel > 0) { int selectMaidIndex = this.selectMaidIndex; if (sceneLevel == 3 || sceneLevel == 5 && (isF7 || maidCnt > 1)) { if (GUI.Button(new Rect(GetPix(5), GetPix(53), GetPix(23), GetPix(32)), "<", style3)) { --this.selectMaidIndex; if (this.selectMaidIndex < 0) { this.selectMaidIndex = selectList.Count - 1; } isPoseInit = true; poseFlg = true; copyIndex = 0; poseCombo.selectedItemIndex = poseIndex[this.selectMaidIndex]; faceCombo.selectedItemIndex = faceIndex[this.selectMaidIndex]; } if (GUI.Button(new Rect(GetPix(135), GetPix(53), GetPix(23), GetPix(32)), ">", style3)) { ++this.selectMaidIndex; if (selectList.Count <= this.selectMaidIndex) { this.selectMaidIndex = 0; } isPoseInit = true; poseFlg = true; copyIndex = 0; poseCombo.selectedItemIndex = poseIndex[this.selectMaidIndex]; faceCombo.selectedItemIndex = faceIndex[this.selectMaidIndex]; } } if (maidArray[this.selectMaidIndex].GetThumIcon()) { GUI.DrawTexture(new Rect(GetPix(30), GetPix(25), GetPix(60), GetPix(60)), maidArray[this.selectMaidIndex].GetThumIcon()); } GUI.Label(new Rect(GetPix(90), GetPix(50), GetPix(140), GetPix(210)), maidArray[this.selectMaidIndex].status.lastName + "\n" + maidArray[this.selectMaidIndex].status.firstName, style1); } if (!isF6) { if (isDanceStop) { isStop[selectMaidIndex] = true; isDanceStop = false; } if (sceneLevel == 5 && maidCnt > 1) { bool flag = false; if (selectMaidIndex == isEditNo) { flag = true; } isEdit[selectMaidIndex] = GUI.Toggle(new Rect(GetPix(5), GetPix(25), GetPix(50), GetPix(16)), flag, "Edit", style4); if (isEdit[selectMaidIndex] && selectMaidIndex != isEditNo) { isEditNo = selectMaidIndex; for (int index = 0; index < maidCnt; ++index) { if (index != isEditNo) { isEdit[index] = false; } } SceneEdit component = GameObject.Find("__SceneEdit__").GetComponent(); SetFieldValue(component, "m_maid", maidArray[selectMaidIndex]); component.PartsTypeCamera(MPN.stkg); editSelectMaid = maidArray[selectMaidIndex]; if (selectList[selectMaidIndex] != null && goSlot[(int)selectList[selectMaidIndex]] != null) { maidArray[selectMaidIndex].body0.goSlot = new List(goSlot[(int)selectList[selectMaidIndex]]); for (int index = 0; index < bodyHit[(int)selectList[selectMaidIndex]].Count; ++index) { maidArray[selectMaidIndex].body0.goSlot[index].bonehair.bodyhit = bodyHit[(int)selectList[selectMaidIndex]][index]; } } } } GUI.enabled = !poseGroupCombo.isClickedComboButton; if (isLock[selectMaidIndex]) { GUI.enabled = false; } int result; Transform transform; if (GUI.Button(new Rect(GetPix(5), GetPix(125), GetPix(23), GetPix(23)), "<", style3)) { --poseIndex[selectMaidIndex]; if (poseGroupIndex > 0) { if ((int)groupList[poseGroupIndex - 1] > poseIndex[selectMaidIndex]) { poseIndex[selectMaidIndex] = poseGroupIndex < groupList.Count ? (int)groupList[poseGroupIndex] - 1 : poseArray.Length - 1; } } else if (poseIndex[selectMaidIndex] < 0) { poseIndex[selectMaidIndex] = (int)groupList[poseGroupIndex] - 1; } isPoseInit = true; poseCombo.selectedItemIndex = poseGroupIndex <= 0 ? poseIndex[selectMaidIndex] : poseIndex[selectMaidIndex] - (int)groupList[poseGroupIndex - 1]; if (!isLock[selectMaidIndex] && maid && maid.Visible) { string[] strArray = poseArray[poseIndex[selectMaidIndex]].Split(','); isStop[selectMaidIndex] = false; poseCount[selectMaidIndex] = 20; if (strArray[0].Contains("_momi") || strArray[0].Contains("paizuri_")) { maid.body0.MuneYureL(0.0f); maid.body0.MuneYureR(0.0f); } else { maid.body0.MuneYureL(1f); maid.body0.MuneYureR(1f); } if (strArray[0].Contains("MultipleMaidsPose")) { string path = strArray[0].Split('/')[1]; byte[] numArray = new byte[0]; try { using (FileStream fileStream = new FileStream(path, FileMode.Open, FileAccess.Read)) { numArray = new byte[fileStream.Length]; fileStream.Read(numArray, 0, numArray.Length); } } catch { } if (0 < numArray.Length) { long hashCode = Path.GetFileName(path).GetHashCode(); maid.body0.CrossFade(hashCode.ToString(), numArray, false, false, false, 0.0f, 1f); Maid.AutoTwist[] autoTwistArray = new Maid.AutoTwist[6] { Maid.AutoTwist.ShoulderL, Maid.AutoTwist.ShoulderR, Maid.AutoTwist.WristL, Maid.AutoTwist.WristR, Maid.AutoTwist.ThighL, Maid.AutoTwist.ThighR }; foreach (Maid.AutoTwist f_eType in autoTwistArray) { maid.SetAutoTwist(f_eType, true); } } } else if (strArray[0].StartsWith("p") && int.TryParse(strArray[0].Substring(1), out result)) { loadPose[selectMaidIndex] = strArray[0]; } else if (!strArray[0].StartsWith("dance_")) { maidArray[selectMaidIndex].CrossFade(strArray[0] + ".anm", false, true, false, 0.0f, 1f); } else { if (!maid.body0.m_Bones.GetComponent().GetClip(strArray[0] + ".anm")) { maid.body0.LoadAnime(strArray[0] + ".anm", GameUty.FileSystem, strArray[0] + ".anm", false, false); } maid.body0.m_Bones.GetComponent().Play(strArray[0] + ".anm"); } if (strArray.Length > 1) { maid.body0.m_Bones.GetComponent()[strArray[0] + ".anm"].time = float.Parse(strArray[1]); isDanceStop = true; if (strArray.Length > 2) { transform = CMT.SearchObjName(maidArray[selectMaidIndex].body0.m_Bones.transform, "Bip01", true); isPoseIti[selectMaidIndex] = true; poseIti[selectMaidIndex] = maidArray[selectMaidIndex].transform.position; maidArray[selectMaidIndex].transform.position = new Vector3(100f, 100f, 100f); } } } } if (GUI.Button(new Rect(GetPix(135), GetPix(125), GetPix(23), GetPix(23)), ">", style3)) { ++poseIndex[selectMaidIndex]; if (poseIndex[selectMaidIndex] > (int)groupList[groupList.Count - 1]) { if (poseIndex[selectMaidIndex] >= poseArray.Length) { poseIndex[selectMaidIndex] = (int)groupList[poseGroupIndex - 1]; } } else if (poseIndex[selectMaidIndex] >= (int)groupList[poseGroupIndex]) { poseIndex[selectMaidIndex] = poseGroupIndex <= 0 ? 0 : (int)groupList[poseGroupIndex - 1]; } isPoseInit = true; poseCombo.selectedItemIndex = poseGroupIndex <= 0 ? poseIndex[selectMaidIndex] : poseIndex[selectMaidIndex] - (int)groupList[poseGroupIndex - 1]; if (!isLock[selectMaidIndex] && maid && maid.Visible) { string[] strArray = poseArray[poseIndex[selectMaidIndex]].Split(','); isStop[selectMaidIndex] = false; poseCount[selectMaidIndex] = 20; if (strArray[0].Contains("_momi") || strArray[0].Contains("paizuri_")) { maid.body0.MuneYureL(0.0f); maid.body0.MuneYureR(0.0f); } else { maid.body0.MuneYureL(1f); maid.body0.MuneYureR(1f); } if (strArray[0].Contains("MultipleMaidsPose")) { string path = strArray[0].Split('/')[1]; byte[] numArray = new byte[0]; try { using (FileStream fileStream = new FileStream(path, FileMode.Open, FileAccess.Read)) { numArray = new byte[fileStream.Length]; fileStream.Read(numArray, 0, numArray.Length); } } catch { } if (0 < numArray.Length) { long hashCode = Path.GetFileName(path).GetHashCode(); maid.body0.CrossFade(hashCode.ToString(), numArray, false, false, false, 0.0f, 1f); Maid.AutoTwist[] autoTwistArray = new Maid.AutoTwist[6] { Maid.AutoTwist.ShoulderL, Maid.AutoTwist.ShoulderR, Maid.AutoTwist.WristL, Maid.AutoTwist.WristR, Maid.AutoTwist.ThighL, Maid.AutoTwist.ThighR }; foreach (Maid.AutoTwist f_eType in autoTwistArray) { maid.SetAutoTwist(f_eType, true); } } } else if (strArray[0].StartsWith("p") && int.TryParse(strArray[0].Substring(1), out result)) { loadPose[selectMaidIndex] = strArray[0]; } else if (!strArray[0].StartsWith("dance_")) { maidArray[selectMaidIndex].CrossFade(strArray[0] + ".anm", false, true, false, 0.0f, 1f); } else { if (!maid.body0.m_Bones.GetComponent().GetClip(strArray[0] + ".anm")) { maid.body0.LoadAnime(strArray[0] + ".anm", GameUty.FileSystem, strArray[0] + ".anm", false, false); } maid.body0.m_Bones.GetComponent().Play(strArray[0] + ".anm"); } if (strArray.Length > 1) { maid.body0.m_Bones.GetComponent()[strArray[0] + ".anm"].time = float.Parse(strArray[1]); isDanceStop = true; if (strArray.Length > 2) { transform = CMT.SearchObjName(maidArray[selectMaidIndex].body0.m_Bones.transform, "Bip01", true); isPoseIti[selectMaidIndex] = true; poseIti[selectMaidIndex] = maidArray[selectMaidIndex].transform.position; maidArray[selectMaidIndex].transform.position = new Vector3(100f, 100f, 100f); } } } } GUI.enabled = true; int index1 = -1; for (int index2 = 0; index2 < groupList.Count; ++index2) { if (poseIndex[selectMaidIndex] < (int)groupList[index2]) { index1 = index2; break; } } int length1 = (int)groupList[0]; int num1 = 0; if (index1 > 0) { length1 = (int)groupList[index1] - (int)groupList[index1 - 1]; num1 = (int)groupList[index1 - 1]; } if (index1 < 0) { index1 = groupList.Count; length1 = poseArray.Length - (int)groupList[index1 - 1]; num1 = (int)groupList[index1 - 1]; } if (poseGroupCombo.selectedItemIndex != index1) { poseComboList = new GUIContent[length1]; int index2 = 0; for (int index3 = num1; index3 < num1 + length1; ++index3) { bool flag = false; foreach (IniKey key in Preferences["pose"].Keys) { if (poseArray[index3] == key.Key) { IniKey iniKey = Preferences["pose"][key.Key]; if (iniKey.Value != null && iniKey.Value.ToString() != "" && iniKey.Value.ToString() != "del") { poseComboList[index2] = new GUIContent((index2 + 1).ToString() + ":" + iniKey.Value.Split('_')[0] + "                    " + key.Key); flag = true; } } } if (!flag) { poseComboList[index2] = new GUIContent((index2 + 1).ToString() + ":" + poseArray[index3]); } ++index2; } poseGroupCombo.selectedItemIndex = index1; poseGroupIndex = index1; poseCombo.selectedItemIndex = 0; } GUI.enabled = !poseCombo.isClickedComboButton && !poseGroupCombo.isClickedComboButton; isLook[selectMaidIndex] = GUI.Toggle(new Rect(GetPix(8), GetPix(155), GetPix(65), GetPix(16)), isLook[selectMaidIndex], "顔の向き", style4); isPoseEdit = GUI.Toggle(new Rect(GetPix(86), GetPix(155), GetPix(90), GetPix(16)), isPoseEdit, "ポーズ登録", style4); if (isPoseEdit) { inName3 = GUI.TextField(new Rect(GetPix(5), GetPix(180), GetPix(100), GetPix(20)), inName3); if (GUI.Button(new Rect(GetPix(107), GetPix(180), GetPix(35), GetPix(20)), "追加", style3)) { isSavePose = true; GameMain.Instance.SoundMgr.PlaySe("se002.ogg", false); existPose = true; GUI.FocusControl(""); } if (poseGroupComboList[poseGroupCombo.selectedItemIndex].text != "99:登録ポーズ") { GUI.enabled = false; } if (GUI.Button(new Rect(GetPix(144), GetPix(180), GetPix(24), GetPix(20)), "削", style3)) { GameMain.Instance.SoundMgr.PlaySe("se002.ogg", false); List stringList1 = new List(); stringList1.AddRange(poseArray); if (poseComboList[poseCombo.selectedItemIndex].text.Contains("MultipleMaidsPose")) { string pose = poseArray[poseIndex[selectMaidIndex]]; stringList1.Remove(pose); string path = poseArray[poseIndex[selectMaidIndex]].Split('/')[1].Replace("                    ", ""); if (File.Exists(path)) { File.Delete(path); } } else { string[] strArray = poseComboList[poseCombo.selectedItemIndex].text.Split('p'); string str = strArray[strArray.Length - 1]; IniKey iniKey = Preferences["pose"]["p" + str]; if (iniKey.Value != "" || iniKey.Value != "del") { Preferences["pose"]["p" + str].Value = "del"; SaveConfig(); } stringList1.Remove("p" + str); } GUI.FocusControl(""); poseArray = stringList1.ToArray(); int index2 = -1; for (int index3 = 0; index3 < groupList.Count; ++index3) { if (poseIndex[selectMaidIndex] < (int)groupList[index3]) { index2 = index3; break; } } int length2 = (int)groupList[0]; int num2 = 0; if (index2 > 0) { length2 = (int)groupList[index2] - (int)groupList[index2 - 1]; num2 = (int)groupList[index2 - 1]; } if (index2 < 0) { index2 = groupList.Count; length2 = poseArray.Length - (int)groupList[index2 - 1]; num2 = (int)groupList[index2 - 1]; } poseComboList = new GUIContent[length2]; int index4 = 0; bool existEdit = false; for (int index3 = num2; index3 < num2 + length2; ++index3) { bool flag = false; foreach (IniKey key in Preferences["pose"].Keys) { if (poseArray[index3] == key.Key) { IniKey iniKey = Preferences["pose"][key.Key]; if (iniKey.Value != null && iniKey.Value.ToString() != "" && iniKey.Value.ToString() != "del") { poseComboList[index4] = new GUIContent((index4 + 1).ToString() + ":" + iniKey.Value.Split('_')[0] + "                    " + key.Key); flag = true; existEdit = true; } } } if (!flag) { poseComboList[index4] = new GUIContent((index4 + 1).ToString() + ":" + poseArray[index3]); } ++index4; } ((Action>)((path, result_list) => { string[] files = Directory.GetFiles(path); countS = 0; for (int index = 0; index < files.Length; ++index) { if (Path.GetExtension(files[index]) == ".anm") { existEdit = true; break; } } }))(Path.GetFullPath(".\\") + "Mod\\MultipleMaidsPose", new List()); if (!existEdit) { poseIniStr = ""; List stringList2 = new List(50 + poseGroupArray2.Length); stringList2.AddRange(poseGroupArray2); stringList2.AddRange(poseGroupArrayVP); stringList2.AddRange(poseGroupArrayFB); stringList2.AddRange(poseGroupArray3); stringList2.Add(poseArray5[0]); stringList2.Add(poseArray6[0]); stringList2.Add(strList2[0]); stringList2.Add(strListE2[0]); existPose = false; poseGroupArray = stringList2.ToArray(); groupList = new ArrayList(); for (int index3 = 0; index3 < poseArray.Length; ++index3) { for (int index5 = 0; index5 < poseGroupArray.Length; ++index5) { if (poseGroupArray[index5] == poseArray[index3]) { groupList.Add(index3); if (poseGroupArray[index5] == strList2[0]) { sPoseCount = index3; } } } } poseIndex[selectMaidIndex] = 0; poseGroupComboList = new GUIContent[poseGroupArray.Length + 1]; poseGroupComboList[0] = new GUIContent("1:通常"); for (int index3 = 0; index3 < poseGroupArray.Length; ++index3) { if (poseGroupArray[index3] == "maid_dressroom01") { poseGroupComboList[index3 + 1] = new GUIContent((index3 + 2).ToString() + ":立ち"); } if (poseGroupArray[index3] == "tennis_kamae_f") { poseGroupComboList[index3 + 1] = new GUIContent((index3 + 2).ToString() + ":中腰"); } if (poseGroupArray[index3] == "senakanagasi_f") { poseGroupComboList[index3 + 1] = new GUIContent((index3 + 2).ToString() + ":膝をつく"); } if (poseGroupArray[index3] == "work_hansei") { poseGroupComboList[index3 + 1] = new GUIContent((index3 + 2).ToString() + ":座り"); } if (poseGroupArray[index3] == "inu_taiki_f") { poseGroupComboList[index3 + 1] = new GUIContent((index3 + 2).ToString() + ":四つん這い"); } if (poseGroupArray[index3] == "syagami_pose_f") { poseGroupComboList[index3 + 1] = new GUIContent((index3 + 2).ToString() + ":床座り"); } if (poseGroupArray[index3] == "densyasuwari_taiki_f") { poseGroupComboList[index3 + 1] = new GUIContent((index3 + 2).ToString() + ":椅子座り"); } if (poseGroupArray[index3] == "work_kaiwa") { poseGroupComboList[index3 + 1] = new GUIContent((index3 + 2).ToString() + ":ソファー座り"); } if (poseGroupArray[index3] == "dance_cm3d2_001_f1,14.14") { poseGroupComboList[index3 + 1] = new GUIContent((index3 + 2).ToString() + ":ドキドキ☆Fallin' Love"); } if (poseGroupArray[index3] == "dance_cm3d_001_f1,39.25") { poseGroupComboList[index3 + 1] = new GUIContent((index3 + 2).ToString() + ":entrance to you"); } if (poseGroupArray[index3] == "dance_cm3d_002_end_f1,50.71") { poseGroupComboList[index3 + 1] = new GUIContent((index3 + 2).ToString() + ":scarlet leap"); } if (poseGroupArray[index3] == "dance_cm3d2_002_smt_f,7.76,") { poseGroupComboList[index3 + 1] = new GUIContent((index3 + 2).ToString() + ":stellar my tears"); } if (poseGroupArray[index3] == "dance_cm3d_003_sp2_f1,90.15") { poseGroupComboList[index3 + 1] = new GUIContent((index3 + 2).ToString() + ":rhythmix to you"); } if (poseGroupArray[index3] == "dance_cm3d2_003_hs_f1,0.01,") { poseGroupComboList[index3 + 1] = new GUIContent((index3 + 2).ToString() + ":happy!happy!スキャンダル!!"); } if (poseGroupArray[index3] == "dance_cm3d_004_kano_f1,124.93") { poseGroupComboList[index3 + 1] = new GUIContent((index3 + 2).ToString() + ":Can Know Two Close"); } if (poseGroupArray[index3] == "dance_cm3d2_004_sse_f1,0.01") { poseGroupComboList[index3 + 1] = new GUIContent((index3 + 2).ToString() + ":sweet sweet everyday"); } if (poseGroupArray[index3] == "turusi_sex_in_taiki_f") { poseGroupComboList[index3 + 1] = new GUIContent((index3 + 2).ToString() + ":拘束"); } if (poseGroupArray[index3] == "rosyutu_pose01_f") { poseGroupComboList[index3 + 1] = new GUIContent((index3 + 2).ToString() + ":エロ"); } if (poseGroupArray[index3] == "rosyutu_aruki_f_once_,1.37") { poseGroupComboList[index3 + 1] = new GUIContent((index3 + 2).ToString() + ":歩き"); } if (poseGroupArray[index3] == "stand_desk1") { poseGroupComboList[index3 + 1] = new GUIContent((index3 + 2).ToString() + ":その他"); } if (poseGroupArray[index3] == poseArray5[0]) { poseGroupComboList[index3 + 1] = new GUIContent((index3 + 2).ToString() + ":ダンスMC"); } if (poseGroupArray[index3] == poseArray6[0]) { poseGroupComboList[index3 + 1] = new GUIContent((index3 + 2).ToString() + ":ダンス"); } if (index3 == poseGroupArray.Length - 2) { poseGroupComboList[index3 + 1] = new GUIContent((index3 + 2).ToString() + ":通常2"); } if (index3 == poseGroupArray.Length - 1) { poseGroupComboList[index3 + 1] = new GUIContent((index3 + 2).ToString() + ":エロ2"); } } } else { poseGroupCombo.selectedItemIndex = index2; poseGroupIndex = index2; poseCombo.selectedItemIndex = 0; poseIndex[selectMaidIndex] = (int)groupList[groupList.Count - 1]; if (poseArray.Length <= poseIndex[selectMaidIndex]) { --poseIndex[selectMaidIndex]; } } } GUI.enabled = !poseCombo.isClickedComboButton && !poseGroupCombo.isClickedComboButton; } else { if (!isLook[selectMaidIndex]) { GUI.enabled = false; } GUI.Label(new Rect(GetPix(8), GetPix(175), GetPix(100), GetPix(25)), "顔の向きX", style2); lookX[selectMaidIndex] = GUI.HorizontalSlider(new Rect(GetPix(8), GetPix(191), GetPix(70), GetPix(20)), lookX[selectMaidIndex], -0.6f, 0.6f); GUI.Label(new Rect(GetPix(88), GetPix(175), GetPix(100), GetPix(25)), "顔の向きY", style2); lookY[selectMaidIndex] = GUI.HorizontalSlider(new Rect(GetPix(88), GetPix(191), GetPix(70), GetPix(20)), lookY[selectMaidIndex], 0.5f, -0.55f); GUI.enabled = !poseCombo.isClickedComboButton && !poseGroupCombo.isClickedComboButton; } int index6 = poseGroupIndex <= 0 ? poseIndex[selectMaidIndex] : poseIndex[selectMaidIndex] - (int)groupList[poseGroupIndex - 1]; string[] strArray1; if (GUI.Button(new Rect(GetPix(5), GetPix(215), GetPix(23), GetPix(23)), "<", style3)) { --itemIndex[selectMaidIndex]; if (itemIndex[selectMaidIndex] <= -1) { itemIndex[selectMaidIndex] = itemArray.Length - 2; } strArray1 = new string[2]; string[] strArray2 = itemArray[itemIndex[selectMaidIndex]].Split(','); if (itemIndex[selectMaidIndex] > 13) { strArray2 = itemArray[itemIndex[selectMaidIndex] + 1].Split(','); } maid.DelProp(MPN.handitem, true); maid.DelProp(MPN.accvag, true); maid.DelProp(MPN.accanl, true); bool flag = false; if (itemIndex[selectMaidIndex] == 12 || itemIndex[selectMaidIndex] == 13 || itemIndex[selectMaidIndex] == 23) { flag = true; } if (!flag) { maid.DelProp(MPN.kousoku_upper, true); maid.DelProp(MPN.kousoku_lower, true); } if (strArray2[0] != "") { maid.SetProp(strArray2[0], strArray2[1], 0, true, false); } if (itemIndex[selectMaidIndex] == 12) { string[] strArray3 = itemArray[itemIndex[selectMaidIndex] - 1].Split(','); maid.SetProp(strArray3[0], strArray3[1], 0, true, false); } if (itemIndex[selectMaidIndex] == 13) { string[] strArray3 = itemArray[itemIndex[selectMaidIndex] + 1].Split(','); maid.SetProp(strArray3[0], strArray3[1], 0, true, false); } if (itemIndex[selectMaidIndex] == 23) { string[] strArray3 = itemArray[itemIndex[selectMaidIndex]].Split(','); maid.SetProp(strArray3[0], strArray3[1], 0, true, false); cafeFlg[selectMaidIndex] = true; } maid.AllProcPropSeqStart(); itemCombo.selectedItemIndex = itemIndex[selectMaidIndex]; } if (GUI.Button(new Rect(GetPix(135), GetPix(215), GetPix(23), GetPix(23)), ">", style3)) { ++itemIndex[selectMaidIndex]; if (itemIndex[selectMaidIndex] >= itemArray.Length - 1) { itemIndex[selectMaidIndex] = 0; } strArray1 = new string[2]; string[] strArray2 = itemArray[itemIndex[selectMaidIndex]].Split(','); if (itemIndex[selectMaidIndex] > 13) { strArray2 = itemArray[itemIndex[selectMaidIndex] + 1].Split(','); } maid.DelProp(MPN.handitem, true); maid.DelProp(MPN.accvag, true); maid.DelProp(MPN.accanl, true); bool flag = false; if (itemIndex[selectMaidIndex] == 12 || itemIndex[selectMaidIndex] == 13) { flag = true; } if (!flag) { maid.DelProp(MPN.kousoku_upper, true); maid.DelProp(MPN.kousoku_lower, true); } if (strArray2[0] != "") { maid.SetProp(strArray2[0], strArray2[1], 0, true, false); } if (itemIndex[selectMaidIndex] == 12) { string[] strArray3 = itemArray[itemIndex[selectMaidIndex] - 1].Split(','); maid.SetProp(strArray3[0], strArray3[1], 0, true, false); } if (itemIndex[selectMaidIndex] == 13) { string[] strArray3 = itemArray[itemIndex[selectMaidIndex] + 1].Split(','); maid.SetProp(strArray3[0], strArray3[1], 0, true, false); } if (itemIndex[selectMaidIndex] == 23) { string[] strArray3 = itemArray[itemIndex[selectMaidIndex]].Split(','); maid.SetProp(strArray3[0], strArray3[1], 0, true, false); cafeFlg[selectMaidIndex] = true; } maid.AllProcPropSeqStart(); itemCombo.selectedItemIndex = itemIndex[selectMaidIndex]; } if (itemCombo.isClickedComboButton) { GUI.enabled = false; } isWear = GUI.Toggle(new Rect(GetPix(5), GetPix(248), GetPix(70), GetPix(20)), isWear, "トップス", style4); isSkirt = GUI.Toggle(new Rect(GetPix(90), GetPix(248), GetPix(70), GetPix(20)), isSkirt, "ボトムス", style4); isBra = GUI.Toggle(new Rect(GetPix(5), GetPix(273), GetPix(80), GetPix(20)), isBra, "ブラジャー", style4); isPanz = GUI.Toggle(new Rect(GetPix(90), GetPix(273), GetPix(60), GetPix(20)), isPanz, "パンツ", style4); isHeadset = GUI.Toggle(new Rect(GetPix(5), GetPix(298), GetPix(70), GetPix(20)), isHeadset, "ヘッド", style4); isMegane = GUI.Toggle(new Rect(GetPix(95), GetPix(298), GetPix(70), GetPix(20)), isMegane, "メガネ", style4); isAccUde = GUI.Toggle(new Rect(GetPix(5), GetPix(323), GetPix(40), GetPix(20)), isAccUde, "腕", style4); isGlove = GUI.Toggle(new Rect(GetPix(50), GetPix(323), GetPix(40), GetPix(20)), isGlove, "手袋", style4); isAccSenaka = GUI.Toggle(new Rect(GetPix(95), GetPix(323), GetPix(40), GetPix(20)), isAccSenaka, "背中", style4); isStkg = GUI.Toggle(new Rect(GetPix(5), GetPix(348), GetPix(40), GetPix(20)), isStkg, "靴下", style4); isShoes = GUI.Toggle(new Rect(GetPix(50), GetPix(348), GetPix(40), GetPix(20)), isShoes, "靴", style4); isMaid = GUI.Toggle(new Rect(GetPix(95), GetPix(348), GetPix(70), GetPix(20)), isMaid, "メイド", style4); mekure1[selectMaidIndex] = GUI.Toggle(new Rect(GetPix(5), GetPix(373), GetPix(62), GetPix(20)), mekure1[selectMaidIndex], "めくれ前", style4); mekure2[selectMaidIndex] = GUI.Toggle(new Rect(GetPix(67), GetPix(373), GetPix(40), GetPix(20)), mekure2[selectMaidIndex], "後ろ", style4); zurasi[selectMaidIndex] = GUI.Toggle(new Rect(GetPix(105), GetPix(373), GetPix(50), GetPix(20)), zurasi[selectMaidIndex], "ずらし", style4); voice1[selectMaidIndex] = GUI.Toggle(new Rect(GetPix(5), GetPix(530), GetPix(70), GetPix(20)), zFlg[selectMaidIndex], "ボイス", style4); voice2[selectMaidIndex] = GUI.Toggle(new Rect(GetPix(70), GetPix(530), GetPix(70), GetPix(20)), xFlg[selectMaidIndex], "Hボイス", style4); GUI.enabled = !poseCombo.isClickedComboButton && !poseGroupCombo.isClickedComboButton && !itemCombo.isClickedComboButton; GUI.DrawTexture(new Rect(GetPix(5), GetPix(402), GetPix(160), 2f), line1); GUI.DrawTexture(new Rect(GetPix(5), GetPix(402), GetPix(160), 1f), line2); isIK[selectMaidIndex] = GUI.Toggle(new Rect(GetPix(5), GetPix(411), GetPix(30), GetPix(20)), isIK[selectMaidIndex], "IK", style4); if (!isLock[selectMaidIndex]) { GUI.enabled = false; } isLock[selectMaidIndex] = GUI.Toggle(new Rect(GetPix(45), GetPix(411), GetPix(40), GetPix(20)), isLock[selectMaidIndex], "解除", style4); GUI.enabled = !poseCombo.isClickedComboButton && !poseGroupCombo.isClickedComboButton && !itemCombo.isClickedComboButton; if (!isIK[selectMaidIndex]) { GUI.enabled = false; } isBone[selectMaidIndex] = GUI.Toggle(new Rect(GetPix(100), GetPix(411), GetPix(60), GetPix(20)), isBone[selectMaidIndex], "ボーン", style4); GUI.enabled = !poseCombo.isClickedComboButton && !poseGroupCombo.isClickedComboButton; if (isBone[selectMaidIndex] != isBoneN[selectMaidIndex]) { isBoneN[selectMaidIndex] = isBone[selectMaidIndex]; isChange[selectMaidIndex] = true; } if (!isLock[selectMaidIndex] && unLockFlg != isLock[selectMaidIndex]) { string[] strArray2 = poseArray[poseIndex[selectMaidIndex]].Split(','); isStop[selectMaidIndex] = false; poseCount[selectMaidIndex] = 20; if (strArray2[0].Contains("_momi") || strArray2[0].Contains("paizuri_")) { maid.body0.MuneYureL(0.0f); maid.body0.MuneYureR(0.0f); } else { maid.body0.MuneYureL(1f); maid.body0.MuneYureR(1f); } if (strArray2[0].Contains("MultipleMaidsPose")) { string path = strArray2[0].Split('/')[1]; byte[] numArray = new byte[0]; try { using (FileStream fileStream = new FileStream(path, FileMode.Open, FileAccess.Read)) { numArray = new byte[fileStream.Length]; fileStream.Read(numArray, 0, numArray.Length); } } catch { } if (0 < numArray.Length) { long hashCode = Path.GetFileName(path).GetHashCode(); maid.body0.CrossFade(hashCode.ToString(), numArray, false, false, false, 0.0f, 1f); Maid.AutoTwist[] autoTwistArray = new Maid.AutoTwist[6] { Maid.AutoTwist.ShoulderL, Maid.AutoTwist.ShoulderR, Maid.AutoTwist.WristL, Maid.AutoTwist.WristR, Maid.AutoTwist.ThighL, Maid.AutoTwist.ThighR }; foreach (Maid.AutoTwist f_eType in autoTwistArray) { maid.SetAutoTwist(f_eType, true); } } } else if (strArray2[0].StartsWith("p") && int.TryParse(strArray2[0].Substring(1), out result)) { loadPose[selectMaidIndex] = strArray2[0]; } else if (!strArray2[0].StartsWith("dance_")) { maidArray[selectMaidIndex].CrossFade(strArray2[0] + ".anm", false, true, false, 0.0f, 1f); } else { if (!maid.body0.m_Bones.GetComponent().GetClip(strArray2[0] + ".anm")) { maid.body0.LoadAnime(strArray2[0] + ".anm", GameUty.FileSystem, strArray2[0] + ".anm", false, false); } maid.body0.m_Bones.GetComponent().Play(strArray2[0] + ".anm"); } if (strArray2.Length > 1) { maid.body0.m_Bones.GetComponent()[strArray2[0] + ".anm"].time = float.Parse(strArray2[1]); isDanceStop = true; if (strArray2.Length > 2) { transform = CMT.SearchObjName(maidArray[selectMaidIndex].body0.m_Bones.transform, "Bip01", true); isPoseIti[selectMaidIndex] = true; poseIti[selectMaidIndex] = maidArray[selectMaidIndex].transform.position; maidArray[selectMaidIndex].transform.position = new Vector3(100f, 100f, 100f); } } mHandL[selectMaidIndex].initFlg = false; mHandR[selectMaidIndex].initFlg = false; mFootL[selectMaidIndex].initFlg = false; mFootR[selectMaidIndex].initFlg = false; pHandL[selectMaidIndex] = 0; pHandR[selectMaidIndex] = 0; hanten[selectMaidIndex] = false; hantenn[selectMaidIndex] = false; muneIKL[selectMaidIndex] = false; muneIKR[selectMaidIndex] = false; maid.body0.jbMuneL.enabled = true; maid.body0.jbMuneR.enabled = true; if (!GameMain.Instance.VRMode) { maidArray[selectMaidIndex].body0.quaDefEyeL.eulerAngles = eyeL[(int)selectList[selectMaidIndex]]; maidArray[selectMaidIndex].body0.quaDefEyeR.eulerAngles = eyeR[(int)selectList[selectMaidIndex]]; } } unLockFlg = isLock[selectMaidIndex]; GUI.enabled = !poseCombo.isClickedComboButton && !poseGroupCombo.isClickedComboButton && !itemCombo.isClickedComboButton; if (!isIK[selectMaidIndex]) { GUI.enabled = false; } hanten[selectMaidIndex] = GUI.Toggle(new Rect(GetPix(5), GetPix(479), GetPix(70), GetPix(20)), hanten[selectMaidIndex], "左右反転", style4); bool flag1 = GUI.Toggle(new Rect(GetPix(80), GetPix(479), GetPix(100), GetPix(20)), kotei[selectMaidIndex], "スカート固定", style4); if (kotei[selectMaidIndex] != flag1) { kotei[selectMaidIndex] = flag1; if (flag1) { SkirtListArray[selectMaidIndex] = new DynamicSkirtBone[100]; for (int index2 = 0; index2 < maid.body0.goSlot.Count; ++index2) { DynamicSkirtBone fieldValue = GetFieldValue(maid.body0.goSlot[index2].bonehair3, "m_SkirtBone"); SkirtListArray[selectMaidIndex][index2] = fieldValue; SetFieldValue8(maid.body0.goSlot[index2].bonehair3, "m_SkirtBone", null); } } else { for (int index2 = 0; index2 < maid.body0.goSlot.Count; ++index2) { SetFieldValue8(maid.body0.goSlot[index2].bonehair3, "m_SkirtBone", SkirtListArray[selectMaidIndex][index2]); } } } GUI.Label(new Rect(GetPix(29), GetPix(433), GetPix(100), GetPix(25)), "右手", style1); GUI.Label(new Rect(GetPix(109), GetPix(433), GetPix(100), GetPix(25)), "左手", style1); string text = "未選択"; if (copyIndex > 0) { text = copyIndex.ToString() + ":" + maidArray[copyIndex - 1].status.firstName; } if (maidCnt <= 1) { GUI.enabled = false; } GUI.Label(new Rect(GetPix(8), GetPix(505), GetPix(100), GetPix(25)), "コピー", style1); GUI.Label(new Rect(GetPix(70), GetPix(505), GetPix(100), GetPix(25)), text, style1); GUI.enabled = !poseCombo.isClickedComboButton && !poseGroupCombo.isClickedComboButton && !itemCombo.isClickedComboButton && isIK[selectMaidIndex]; style1.fontSize = GetPix(13); style1.alignment = TextAnchor.UpperCenter; GUI.Label(new Rect(GetPix(-10), GetPix(449), GetPix(100), GetPix(25)), pHandR[selectMaidIndex].ToString(), style1); GUI.Label(new Rect(GetPix(70), GetPix(449), GetPix(100), GetPix(25)), pHandL[selectMaidIndex].ToString(), style1); style1.fontSize = GetPix(11); style1.alignment = TextAnchor.UpperLeft; if (GUI.Button(new Rect(GetPix(5), GetPix(448), GetPix(23), GetPix(23)), "<", style3)) { --pHandR[selectMaidIndex]; if (pHandR[selectMaidIndex] < 1) { pHandR[selectMaidIndex] = fingerRArray.GetLength(0); } for (int index2 = 0; index2 < 20; ++index2) { string[] strArray2 = fingerRArray[pHandR[selectMaidIndex] - 1, index2].Split(','); Finger[selectMaidIndex, index2 + 20].localEulerAngles = new Vector3(float.Parse(strArray2[0]), float.Parse(strArray2[1]), float.Parse(strArray2[2])); } isStop[selectMaidIndex] = true; isLock[selectMaidIndex] = true; for (int index2 = 0; index2 < 10; ++index2) { if ((index2 == 0 || index2 == 5) && mFinger[selectMaidIndex, index2 * 3]) { mFinger[selectMaidIndex, index2 * 3].reset = true; } } } if (GUI.Button(new Rect(GetPix(55), GetPix(448), GetPix(23), GetPix(23)), ">", style3)) { ++pHandR[selectMaidIndex]; if (pHandR[selectMaidIndex] > fingerRArray.GetLength(0)) { pHandR[selectMaidIndex] = 1; } for (int index2 = 0; index2 < 20; ++index2) { string[] strArray2 = fingerRArray[pHandR[selectMaidIndex] - 1, index2].Split(','); Finger[selectMaidIndex, index2 + 20].localEulerAngles = new Vector3(float.Parse(strArray2[0]), float.Parse(strArray2[1]), float.Parse(strArray2[2])); } isStop[selectMaidIndex] = true; isLock[selectMaidIndex] = true; for (int index2 = 0; index2 < 10; ++index2) { if ((index2 == 0 || index2 == 5) && mFinger[selectMaidIndex, index2 * 3]) { mFinger[selectMaidIndex, index2 * 3].reset = true; } } } if (GUI.Button(new Rect(GetPix(85), GetPix(448), GetPix(23), GetPix(23)), "<", style3)) { --pHandL[selectMaidIndex]; if (pHandL[selectMaidIndex] < 1) { pHandL[selectMaidIndex] = fingerLArray.GetLength(0); } for (int index2 = 0; index2 < 20; ++index2) { string[] strArray2 = fingerLArray[pHandL[selectMaidIndex] - 1, index2].Split(','); Finger[selectMaidIndex, index2].localEulerAngles = new Vector3(float.Parse(strArray2[0]), float.Parse(strArray2[1]), float.Parse(strArray2[2])); } isStop[selectMaidIndex] = true; isLock[selectMaidIndex] = true; } if (GUI.Button(new Rect(GetPix(135), GetPix(448), GetPix(23), GetPix(23)), ">", style3)) { ++pHandL[selectMaidIndex]; if (pHandL[selectMaidIndex] > fingerRArray.GetLength(0)) { pHandL[selectMaidIndex] = 1; } for (int index2 = 0; index2 < 20; ++index2) { string[] strArray2 = fingerLArray[pHandL[selectMaidIndex] - 1, index2].Split(','); Finger[selectMaidIndex, index2].localEulerAngles = new Vector3(float.Parse(strArray2[0]), float.Parse(strArray2[1]), float.Parse(strArray2[2])); } isStop[selectMaidIndex] = true; isLock[selectMaidIndex] = true; } if (maidCnt <= 1) { GUI.enabled = false; } if (GUI.Button(new Rect(GetPix(45), GetPix(504), GetPix(22), GetPix(20)), ">", style3)) { ++copyIndex; if (copyIndex - 1 == selectMaidIndex) { ++copyIndex; } if (copyIndex > maidCnt) { copyIndex = 0; } } if (isCopy) { isCopy = false; CopyIK2(maidArray[selectMaidIndex], selectMaidIndex, maidArray[copyIndex - 1], copyIndex - 1); } if (copyIndex == 0) { GUI.enabled = false; } if (GUI.Button(new Rect(GetPix(123), GetPix(504), GetPix(35), GetPix(20)), "決定", style3)) { CopyIK(maidArray[selectMaidIndex], selectMaidIndex, maidArray[copyIndex - 1], copyIndex - 1); isCopy = true; pHandL[selectMaidIndex] = pHandL[copyIndex - 1]; pHandR[selectMaidIndex] = pHandR[copyIndex - 1]; hanten[selectMaidIndex] = hanten[copyIndex - 1]; hantenn[selectMaidIndex] = hantenn[copyIndex - 1]; } GUI.enabled = true; if (poseCombo.isClickedComboButton || poseGroupCombo.isClickedComboButton) { GUI.enabled = false; } itemIndex2[selectMaidIndex] = itemCombo.List(new Rect(GetPix(35), GetPix(215), GetPix(95), GetPix(23)), itemComboList[itemIndex[selectMaidIndex]].text, itemComboList, buttonStyle1, "box", listStyle3); GUI.enabled = true; if (poseGroupCombo.isClickedComboButton || isLock[selectMaidIndex]) { GUI.enabled = false; } poseCombo.List(new Rect(GetPix(35), GetPix(125), GetPix(95), GetPix(23)), poseComboList[index6].text, poseComboList, buttonStyle1, "box", listStyle2); if (!isLock[selectMaidIndex]) { GUI.enabled = true; } int index7 = -1; for (int index2 = 0; index2 < groupList.Count; ++index2) { if (poseIndex[selectMaidIndex] < (int)groupList[index2]) { index7 = index2; break; } } if (index7 < 0) { index7 = groupList.Count; } if (GUI.Button(new Rect(GetPix(5), GetPix(95), GetPix(23), GetPix(23)), "<", style3)) { isPoseInit = true; if (!isLock[selectMaidIndex]) { for (int index2 = 0; index2 < groupList.Count; ++index2) { if (index2 == 0 && poseIndex[selectMaidIndex] <= (int)groupList[index2]) { poseIndex[selectMaidIndex] = poseIndex[selectMaidIndex] != 0 ? 0 : (int)groupList[groupList.Count - 1]; break; } if (index2 > 0 && poseIndex[selectMaidIndex] > (int)groupList[index2 - 1] && poseIndex[selectMaidIndex] <= (int)groupList[index2]) { poseIndex[selectMaidIndex] = (int)groupList[index2 - 1]; break; } } if (poseIndex[selectMaidIndex] > (int)groupList[groupList.Count - 1]) { poseIndex[selectMaidIndex] = (int)groupList[groupList.Count - 1]; } if (maid && maid.Visible) { string[] strArray2 = poseArray[poseIndex[selectMaidIndex]].Split(','); isStop[selectMaidIndex] = false; poseCount[selectMaidIndex] = 20; if (strArray2[0].Contains("_momi") || strArray2[0].Contains("paizuri_")) { maid.body0.MuneYureL(0.0f); maid.body0.MuneYureR(0.0f); } else { maid.body0.MuneYureL(1f); maid.body0.MuneYureR(1f); } if (strArray2[0].Contains("MultipleMaidsPose")) { string path = strArray2[0].Split('/')[1]; byte[] numArray = new byte[0]; try { using (FileStream fileStream = new FileStream(path, FileMode.Open, FileAccess.Read)) { numArray = new byte[fileStream.Length]; fileStream.Read(numArray, 0, numArray.Length); } } catch { } if (0 < numArray.Length) { long hashCode = Path.GetFileName(path).GetHashCode(); maid.body0.CrossFade(hashCode.ToString(), numArray, false, false, false, 0.0f, 1f); Maid.AutoTwist[] autoTwistArray = new Maid.AutoTwist[6] { Maid.AutoTwist.ShoulderL, Maid.AutoTwist.ShoulderR, Maid.AutoTwist.WristL, Maid.AutoTwist.WristR, Maid.AutoTwist.ThighL, Maid.AutoTwist.ThighR }; foreach (Maid.AutoTwist f_eType in autoTwistArray) { maid.SetAutoTwist(f_eType, true); } } } else if (strArray2[0].StartsWith("p") && int.TryParse(strArray2[0].Substring(1), out result)) { loadPose[selectMaidIndex] = strArray2[0]; } else if (!strArray2[0].StartsWith("dance_")) { maidArray[selectMaidIndex].CrossFade(strArray2[0] + ".anm", false, true, false, 0.0f, 1f); } else { if (!maid.body0.m_Bones.GetComponent().GetClip(strArray2[0] + ".anm")) { maid.body0.LoadAnime(strArray2[0] + ".anm", GameUty.FileSystem, strArray2[0] + ".anm", false, false); } maid.body0.m_Bones.GetComponent().Play(strArray2[0] + ".anm"); } if (strArray2.Length > 1) { maid.body0.m_Bones.GetComponent()[strArray2[0] + ".anm"].time = float.Parse(strArray2[1]); isDanceStop = true; if (strArray2.Length > 2) { transform = CMT.SearchObjName(maidArray[selectMaidIndex].body0.m_Bones.transform, "Bip01", true); isPoseIti[selectMaidIndex] = true; poseIti[selectMaidIndex] = maidArray[selectMaidIndex].transform.position; maidArray[selectMaidIndex].transform.position = new Vector3(100f, 100f, 100f); } } } } int index3 = -1; for (int index2 = 0; index2 < groupList.Count; ++index2) { if (poseIndex[selectMaidIndex] < (int)groupList[index2]) { index3 = index2; break; } } int length2 = (int)groupList[0]; int num2 = 0; if (index3 > 0) { length2 = (int)groupList[index3] - (int)groupList[index3 - 1]; num2 = (int)groupList[index3 - 1]; } if (index3 < 0) { index3 = groupList.Count; length2 = poseArray.Length - (int)groupList[index3 - 1]; num2 = (int)groupList[index3 - 1]; } poseComboList = new GUIContent[length2]; int index4 = 0; for (int index2 = num2; index2 < num2 + length2; ++index2) { bool flag2 = false; foreach (IniKey key in Preferences["pose"].Keys) { if (poseArray[index2] == key.Key) { IniKey iniKey = Preferences["pose"][key.Key]; if (iniKey.Value != null && iniKey.Value.ToString() != "" && iniKey.Value.ToString() != "del") { poseComboList[index4] = new GUIContent((index4 + 1).ToString() + ":" + iniKey.Value.Split('_')[0] + "                    " + key.Key); flag2 = true; } } } if (!flag2) { poseComboList[index4] = new GUIContent((index4 + 1).ToString() + ":" + poseArray[index2]); } ++index4; } poseCombo.scrollPos = new Vector2(0.0f, 0.0f); poseGroupCombo.selectedItemIndex = index3; poseCombo.selectedItemIndex = 0; } if (GUI.Button(new Rect(GetPix(135), GetPix(95), GetPix(23), GetPix(23)), ">", style3)) { isPoseInit = true; if (!isLock[selectMaidIndex]) { int num2 = poseIndex[selectMaidIndex]; for (int index2 = 0; index2 < groupList.Count; ++index2) { if (poseIndex[selectMaidIndex] < (int)groupList[index2]) { poseIndex[selectMaidIndex] = (int)groupList[index2]; break; } } if (num2 == poseIndex[selectMaidIndex] && poseIndex[selectMaidIndex] >= (int)groupList[groupList.Count - 1]) { poseIndex[selectMaidIndex] = 0; } if (maid && maid.Visible) { string[] strArray2 = poseArray[poseIndex[selectMaidIndex]].Split(','); isStop[selectMaidIndex] = false; poseCount[selectMaidIndex] = 20; if (strArray2[0].Contains("_momi") || strArray2[0].Contains("paizuri_")) { maid.body0.MuneYureL(0.0f); maid.body0.MuneYureR(0.0f); } else { maid.body0.MuneYureL(1f); maid.body0.MuneYureR(1f); } if (strArray2[0].Contains("MultipleMaidsPose")) { string path = strArray2[0].Split('/')[1]; byte[] numArray = new byte[0]; try { using (FileStream fileStream = new FileStream(path, FileMode.Open, FileAccess.Read)) { numArray = new byte[fileStream.Length]; fileStream.Read(numArray, 0, numArray.Length); } } catch { } if (0 < numArray.Length) { long hashCode = Path.GetFileName(path).GetHashCode(); maid.body0.CrossFade(hashCode.ToString(), numArray, false, false, false, 0.0f, 1f); Maid.AutoTwist[] autoTwistArray = new Maid.AutoTwist[6] { Maid.AutoTwist.ShoulderL, Maid.AutoTwist.ShoulderR, Maid.AutoTwist.WristL, Maid.AutoTwist.WristR, Maid.AutoTwist.ThighL, Maid.AutoTwist.ThighR }; foreach (Maid.AutoTwist f_eType in autoTwistArray) { maid.SetAutoTwist(f_eType, true); } } } else if (strArray2[0].StartsWith("p") && int.TryParse(strArray2[0].Substring(1), out result)) { loadPose[selectMaidIndex] = strArray2[0]; } else if (!strArray2[0].StartsWith("dance_")) { maidArray[selectMaidIndex].CrossFade(strArray2[0] + ".anm", false, true, false, 0.0f, 1f); } else { if (!maid.body0.m_Bones.GetComponent().GetClip(strArray2[0] + ".anm")) { maid.body0.LoadAnime(strArray2[0] + ".anm", GameUty.FileSystem, strArray2[0] + ".anm", false, false); } maid.body0.m_Bones.GetComponent().Play(strArray2[0] + ".anm"); } if (strArray2.Length > 1) { maid.body0.m_Bones.GetComponent()[strArray2[0] + ".anm"].time = float.Parse(strArray2[1]); isDanceStop = true; if (strArray2.Length > 2) { transform = CMT.SearchObjName(maidArray[selectMaidIndex].body0.m_Bones.transform, "Bip01", true); isPoseIti[selectMaidIndex] = true; poseIti[selectMaidIndex] = maidArray[selectMaidIndex].transform.position; maidArray[selectMaidIndex].transform.position = new Vector3(100f, 100f, 100f); } } } } int index3 = -1; for (int index2 = 0; index2 < groupList.Count; ++index2) { if (poseIndex[selectMaidIndex] < (int)groupList[index2]) { index3 = index2; break; } } int length2 = (int)groupList[0]; int num3 = 0; if (index3 > 0) { length2 = (int)groupList[index3] - (int)groupList[index3 - 1]; num3 = (int)groupList[index3 - 1]; } if (index3 < 0) { index3 = groupList.Count; length2 = poseArray.Length - (int)groupList[index3 - 1]; num3 = (int)groupList[index3 - 1]; } poseComboList = new GUIContent[length2]; int index4 = 0; for (int index2 = num3; index2 < num3 + length2; ++index2) { bool flag2 = false; foreach (IniKey key in Preferences["pose"].Keys) { if (poseArray[index2] == key.Key) { IniKey iniKey = Preferences["pose"][key.Key]; if (iniKey.Value != null && iniKey.Value.ToString() != "" && iniKey.Value.ToString() != "del") { poseComboList[index4] = new GUIContent((index4 + 1).ToString() + ":" + iniKey.Value.Split('_')[0] + "                    " + key.Key); flag2 = true; } } } if (!flag2) { poseComboList[index4] = new GUIContent((index4 + 1).ToString() + ":" + poseArray[index2]); } ++index4; } poseCombo.scrollPos = new Vector2(0.0f, 0.0f); poseGroupCombo.selectedItemIndex = index3; poseCombo.selectedItemIndex = 0; } poseGroupIndex = poseGroupCombo.List(new Rect(GetPix(35), GetPix(95), GetPix(95), GetPix(23)), poseGroupComboList[index7].text, poseGroupComboList, buttonStyle2, "box", listStyle4); if (poseGroupCombo.isClickedComboButton) { isCombo2 = true; } else if (isCombo2) { isCombo2 = false; isPoseInit = true; poseIndex[selectMaidIndex] = poseGroupIndex <= 0 ? 0 : (int)groupList[poseGroupIndex - 1]; if (!isLock[selectMaidIndex] && maid && maid.Visible) { string[] strArray2 = poseArray[poseIndex[selectMaidIndex]].Split(','); isStop[selectMaidIndex] = false; poseCount[selectMaidIndex] = 20; if (strArray2[0].Contains("_momi") || strArray2[0].Contains("paizuri_")) { maid.body0.MuneYureL(0.0f); maid.body0.MuneYureR(0.0f); } else { maid.body0.MuneYureL(1f); maid.body0.MuneYureR(1f); } if (strArray2[0].Contains("MultipleMaidsPose")) { string path = strArray2[0].Split('/')[1]; byte[] numArray = new byte[0]; try { using (FileStream fileStream = new FileStream(path, FileMode.Open, FileAccess.Read)) { numArray = new byte[fileStream.Length]; fileStream.Read(numArray, 0, numArray.Length); } } catch { } if (0 < numArray.Length) { long hashCode = Path.GetFileName(path).GetHashCode(); maid.body0.CrossFade(hashCode.ToString(), numArray, false, false, false, 0.0f, 1f); Maid.AutoTwist[] autoTwistArray = new Maid.AutoTwist[6] { Maid.AutoTwist.ShoulderL, Maid.AutoTwist.ShoulderR, Maid.AutoTwist.WristL, Maid.AutoTwist.WristR, Maid.AutoTwist.ThighL, Maid.AutoTwist.ThighR }; foreach (Maid.AutoTwist f_eType in autoTwistArray) { maid.SetAutoTwist(f_eType, true); } } } else if (strArray2[0].StartsWith("p") && int.TryParse(strArray2[0].Substring(1), out result)) { loadPose[selectMaidIndex] = strArray2[0]; } else if (!strArray2[0].StartsWith("dance_")) { maidArray[selectMaidIndex].CrossFade(strArray2[0] + ".anm", false, true, false, 0.0f, 1f); } else { if (!maid.body0.m_Bones.GetComponent().GetClip(strArray2[0] + ".anm")) { maid.body0.LoadAnime(strArray2[0] + ".anm", GameUty.FileSystem, strArray2[0] + ".anm", false, false); } maid.body0.m_Bones.GetComponent().Play(strArray2[0] + ".anm"); } if (strArray2.Length > 1) { maid.body0.m_Bones.GetComponent()[strArray2[0] + ".anm"].time = float.Parse(strArray2[1]); isDanceStop = true; if (strArray2.Length > 2) { transform = CMT.SearchObjName(maidArray[selectMaidIndex].body0.m_Bones.transform, "Bip01", true); isPoseIti[selectMaidIndex] = true; poseIti[selectMaidIndex] = maidArray[selectMaidIndex].transform.position; maidArray[selectMaidIndex].transform.position = new Vector3(100f, 100f, 100f); } } } int index2 = -1; for (int index3 = 0; index3 < groupList.Count; ++index3) { if (poseIndex[selectMaidIndex] < (int)groupList[index3]) { index2 = index3; break; } } int length2 = (int)groupList[0]; int num2 = 0; if (index2 > 0) { length2 = (int)groupList[index2] - (int)groupList[index2 - 1]; num2 = (int)groupList[index2 - 1]; } if (index2 < 0) { index2 = groupList.Count; length2 = poseArray.Length - (int)groupList[index2 - 1]; num2 = (int)groupList[index2 - 1]; } poseComboList = new GUIContent[length2]; int index4 = 0; for (int index3 = num2; index3 < num2 + length2; ++index3) { bool flag2 = false; foreach (IniKey key in Preferences["pose"].Keys) { if (poseArray[index3] == key.Key) { IniKey iniKey = Preferences["pose"][key.Key]; if (iniKey.Value != null && iniKey.Value.ToString() != "" && iniKey.Value.ToString() != "del") { poseComboList[index4] = new GUIContent((index4 + 1).ToString() + ":" + iniKey.Value.Split('_')[0] + "                    " + key.Key); flag2 = true; } } } if (!flag2) { poseComboList[index4] = new GUIContent((index4 + 1).ToString() + ":" + poseArray[index3]); } ++index4; } poseCombo.scrollPos = new Vector2(0.0f, 0.0f); poseGroupCombo.selectedItemIndex = index2; poseCombo.selectedItemIndex = 0; } if (poseCombo.isClickedComboButton) { isCombo = true; } else if (isCombo) { isCombo = false; isPoseInit = true; poseIndex[selectMaidIndex] = poseGroupIndex <= 0 ? poseCombo.selectedItemIndex : (int)groupList[poseGroupIndex - 1] + poseCombo.selectedItemIndex; if (poseIndex[selectMaidIndex] == poseArray.Length) { poseIndex[selectMaidIndex] = 0; } if (!isLock[selectMaidIndex] && maid && maid.Visible) { string[] strArray2 = poseArray[poseIndex[selectMaidIndex]].Split(','); isStop[selectMaidIndex] = false; poseCount[selectMaidIndex] = 20; if (strArray2[0].Contains("_momi") || strArray2[0].Contains("paizuri_")) { maid.body0.MuneYureL(0.0f); maid.body0.MuneYureR(0.0f); } else { maid.body0.MuneYureL(1f); maid.body0.MuneYureR(1f); } if (strArray2[0].Contains("MultipleMaidsPose")) { string path = strArray2[0].Split('/')[1]; byte[] numArray = new byte[0]; try { using (FileStream fileStream = new FileStream(path, FileMode.Open, FileAccess.Read)) { numArray = new byte[fileStream.Length]; fileStream.Read(numArray, 0, numArray.Length); } } catch { } if (0 < numArray.Length) { long hashCode = Path.GetFileName(path).GetHashCode(); maid.body0.CrossFade(hashCode.ToString(), numArray, false, false, false, 0.0f, 1f); Maid.AutoTwist[] autoTwistArray = new Maid.AutoTwist[6] { Maid.AutoTwist.ShoulderL, Maid.AutoTwist.ShoulderR, Maid.AutoTwist.WristL, Maid.AutoTwist.WristR, Maid.AutoTwist.ThighL, Maid.AutoTwist.ThighR }; foreach (Maid.AutoTwist f_eType in autoTwistArray) { maid.SetAutoTwist(f_eType, true); } } } else if (strArray2[0].StartsWith("p") && int.TryParse(strArray2[0].Substring(1), out result)) { loadPose[selectMaidIndex] = strArray2[0]; } else if (!strArray2[0].StartsWith("dance_")) { maidArray[selectMaidIndex].CrossFade(strArray2[0] + ".anm", false, true, false, 0.0f, 1f); } else { if (!maid.body0.m_Bones.GetComponent().GetClip(strArray2[0] + ".anm")) { maid.body0.LoadAnime(strArray2[0] + ".anm", GameUty.FileSystem, strArray2[0] + ".anm", false, false); } maid.body0.m_Bones.GetComponent().Play(strArray2[0] + ".anm"); } if (strArray2.Length > 1) { maid.body0.m_Bones.GetComponent()[strArray2[0] + ".anm"].time = float.Parse(strArray2[1]); isDanceStop = true; if (strArray2.Length > 2) { transform = CMT.SearchObjName(maidArray[selectMaidIndex].body0.m_Bones.transform, "Bip01", true); isPoseIti[selectMaidIndex] = true; poseIti[selectMaidIndex] = maidArray[selectMaidIndex].transform.position; maidArray[selectMaidIndex].transform.position = new Vector3(100f, 100f, 100f); } } } } if (itemCombo.isClickedComboButton) { isCombo3 = true; } else { if (!isCombo3) { return; } isCombo3 = false; strArray1 = new string[2]; string[] strArray2 = itemArray[itemIndex2[selectMaidIndex]].Split(','); if (itemIndex2[selectMaidIndex] > 13) { strArray2 = itemArray[itemIndex2[selectMaidIndex] + 1].Split(','); } maid.DelProp(MPN.handitem, true); bool flag2 = false; if (itemIndex2[selectMaidIndex] == 0) { maid.DelProp(MPN.accvag, true); maid.DelProp(MPN.accanl, true); } if (itemIndex2[selectMaidIndex] == 12 || itemIndex2[selectMaidIndex] == 13) { flag2 = true; } if (!flag2) { maid.DelProp(MPN.kousoku_upper, true); maid.DelProp(MPN.kousoku_lower, true); } if (strArray2[0] != "") { maid.SetProp(strArray2[0], strArray2[1], 0, true, false); } if (itemIndex2[selectMaidIndex] == 12) { string[] strArray3 = itemArray[itemIndex2[selectMaidIndex] - 1].Split(','); maid.SetProp(strArray3[0], strArray3[1], 0, true, false); } if (itemIndex2[selectMaidIndex] == 13) { string[] strArray3 = itemArray[itemIndex2[selectMaidIndex] + 1].Split(','); maid.SetProp(strArray3[0], strArray3[1], 0, true, false); } if (itemIndex2[selectMaidIndex] == 23) { string[] strArray3 = itemArray[itemIndex2[selectMaidIndex]].Split(','); maid.SetProp(strArray3[0], strArray3[1], 0, true, false); cafeFlg[selectMaidIndex] = true; } maid.AllProcPropSeqStart(); itemCombo.selectedItemIndex = itemIndex2[selectMaidIndex]; itemIndex[selectMaidIndex] = itemIndex2[selectMaidIndex]; } } else { isWear = GUI.Toggle(new Rect(GetPix(5), GetPix(98), GetPix(70), GetPix(20)), isWear, "トップス", style4); isSkirt = GUI.Toggle(new Rect(GetPix(90), GetPix(98), GetPix(70), GetPix(20)), isSkirt, "ボトムス", style4); isBra = GUI.Toggle(new Rect(GetPix(5), GetPix(123), GetPix(80), GetPix(20)), isBra, "ブラジャー", style4); isPanz = GUI.Toggle(new Rect(GetPix(90), GetPix(123), GetPix(60), GetPix(20)), isPanz, "パンツ", style4); isHeadset = GUI.Toggle(new Rect(GetPix(5), GetPix(148), GetPix(70), GetPix(20)), isHeadset, "ヘッド", style4); isMegane = GUI.Toggle(new Rect(GetPix(90), GetPix(148), GetPix(70), GetPix(20)), isMegane, "メガネ", style4); isAccUde = GUI.Toggle(new Rect(GetPix(5), GetPix(173), GetPix(40), GetPix(20)), isAccUde, "腕", style4); isGlove = GUI.Toggle(new Rect(GetPix(45), GetPix(173), GetPix(40), GetPix(20)), isGlove, "手袋", style4); isAccSenaka = GUI.Toggle(new Rect(GetPix(97), GetPix(173), GetPix(40), GetPix(20)), isAccSenaka, "背中", style4); isStkg = GUI.Toggle(new Rect(GetPix(5), GetPix(198), GetPix(70), GetPix(20)), isStkg, "ソックス", style4); isShoes = GUI.Toggle(new Rect(GetPix(90), GetPix(198), GetPix(70), GetPix(20)), isShoes, "シューズ", style4); mekure1[selectMaidIndex] = GUI.Toggle(new Rect(GetPix(5), GetPix(223), GetPix(62), GetPix(20)), mekure1[selectMaidIndex], "めくれ前", style4); mekure2[selectMaidIndex] = GUI.Toggle(new Rect(GetPix(67), GetPix(223), GetPix(40), GetPix(20)), mekure2[selectMaidIndex], "後ろ", style4); zurasi[selectMaidIndex] = GUI.Toggle(new Rect(GetPix(105), GetPix(223), GetPix(50), GetPix(20)), zurasi[selectMaidIndex], "ずらし", style4); } } private void FaceWindow(int winID) { GUI.DragWindow(new Rect(0, 0, rectWin.width, DRAG_BAR_HEIGHT)); GUI.Box(new Rect(0, 0, rectWin.width, DRAG_BAR_HEIGHT), ""); GUIStyle style1 = "label"; style1.fontSize = GetPix(12); style1.alignment = TextAnchor.UpperLeft; GUIStyle style2 = "label"; style2.fontSize = GetPix(11); style2.alignment = TextAnchor.UpperLeft; GUIStyle style3 = "button"; style3.fontSize = GetPix(20); GUIStyle buttonStyle = "button"; buttonStyle.fontSize = GetPix(12); buttonStyle.alignment = TextAnchor.MiddleLeft; GUIStyle style4 = new GUIStyle("toggle") { fontSize = GetPix(13) }; CharacterMgr characterMgr = GameMain.Instance.CharacterMgr; if (!faceInitFlg) { listStyle2.normal.textColor = Color.white; listStyle2.normal.background = MakeTex(2, 2, new Color(0.0f, 0.0f, 0.0f, 0.5f)); listStyle2.onHover.background = listStyle2.hover.background = new Texture2D(2, 2); listStyle2.padding.left = listStyle2.padding.right = listStyle2.padding.top = listStyle2.padding.bottom = GetPix(0); listStyle2.fontSize = GetPix(12); faceCombo.selectedItemIndex = 0; List stringList = new List(300); stringList.AddRange(faceArray); for (int index = 1; index < 300; ++index) { IniKey iniKey = Preferences["face"]["f" + index]; if (iniKey.Value != null) { string[] strArray = iniKey.Value.Split(':'); if (strArray.Length > 1) { stringList.Add(strArray[0] + "               :" + index + ":" + strArray[1]); } } else { break; } } faceCombo.selectedItemIndex = 0; faceComboList = new GUIContent[stringList.ToArray().Length]; for (int index = 0; index < stringList.ToArray().Length; ++index) { faceComboList[index] = new GUIContent(stringList.ToArray()[index]); } faceInitFlg = true; } if (faceCombo.isClickedComboButton) { GUI.enabled = false; } if (sceneLevel == 3 || sceneLevel == 5 || isF6) { if (!isF6) { bool flag = true; if (faceFlg || poseFlg || sceneFlg || kankyoFlg || kankyo2Flg) { flag = false; } if (GUI.Toggle(new Rect(GetPix(2), GetPix(2), GetPix(39), GetPix(20)), flag, "配置", style4)) { faceFlg = false; poseFlg = false; sceneFlg = false; kankyoFlg = false; kankyo2Flg = false; bGui = true; isGuiInit = true; } } if (!yotogiFlg && GUI.Toggle(new Rect(GetPix(41), GetPix(2), GetPix(39), GetPix(20)), poseFlg, "操作", style4)) { poseFlg = true; faceFlg = false; sceneFlg = false; kankyoFlg = false; kankyo2Flg = false; } if (GUI.Toggle(new Rect(GetPix(80), GetPix(2), GetPix(39), GetPix(20)), faceFlg, "表情", style4)) { faceFlg = true; poseFlg = false; sceneFlg = false; kankyoFlg = false; kankyo2Flg = false; if (!faceFlg2) { isFaceInit = true; faceFlg2 = true; maidArray[selectMaidIndex].boMabataki = false; faceCombo.selectedItemIndex = faceIndex[selectMaidIndex]; } faceCombo.selectedItemIndex = faceIndex[selectMaidIndex]; } if (GUI.Toggle(new Rect(GetPix(119), GetPix(2), GetPix(39), GetPix(20)), kankyoFlg, "環境", style4)) { poseFlg = false; faceFlg = false; sceneFlg = false; kankyoFlg = true; kankyo2Flg = false; } if (!line1) { line1 = MakeTex(2, 2, new Color(0.0f, 0.0f, 0.0f, 0.3f)); line2 = MakeTex(2, 2, new Color(0.7f, 0.7f, 0.7f, 0.6f)); } GUI.DrawTexture(new Rect(GetPix(5), GetPix(20), GetPix(160), 2f), line1); GUI.DrawTexture(new Rect(GetPix(5), GetPix(20), GetPix(160), 1f), line2); style1.fontSize = GetPix(13); style1.alignment = TextAnchor.MiddleCenter; GUI.Label(new Rect(GetPix(125), GetPix(25), GetPix(40), GetPix(25)), string.Concat(selectMaidIndex + 1), style1); style1.fontSize = GetPix(11); style1.alignment = TextAnchor.UpperLeft; } if (sceneLevel > 0) { int selectMaidIndex = this.selectMaidIndex; if (sceneLevel == 3 || sceneLevel == 5 && (isF7 || maidCnt > 1)) { if (GUI.Button(new Rect(GetPix(5), GetPix(53), GetPix(23), GetPix(32)), "<", style3)) { --this.selectMaidIndex; if (this.selectMaidIndex < 0) { this.selectMaidIndex = selectList.Count - 1; } isFaceInit = true; faceFlg = true; copyIndex = 0; faceCombo.selectedItemIndex = faceIndex[this.selectMaidIndex]; } if (GUI.Button(new Rect(GetPix(135), GetPix(53), GetPix(23), GetPix(32)), ">", style3)) { ++this.selectMaidIndex; if (selectList.Count <= this.selectMaidIndex) { this.selectMaidIndex = 0; } isFaceInit = true; faceFlg = true; copyIndex = 0; faceCombo.selectedItemIndex = faceIndex[this.selectMaidIndex]; } } if (maidArray[this.selectMaidIndex].GetThumIcon()) { GUI.DrawTexture(new Rect(GetPix(30), GetPix(25), GetPix(60), GetPix(60)), maidArray[this.selectMaidIndex].GetThumIcon()); } GUI.Label(new Rect(GetPix(90), GetPix(50), GetPix(140), GetPix(210)), maidArray[this.selectMaidIndex].status.lastName + "\n" + maidArray[this.selectMaidIndex].status.firstName, style1); bool flag = GUI.Toggle(new Rect(GetPix(90), GetPix(25), GetPix(50), GetPix(16)), isShosai, "詳細", style4); if (flag != isShosai) { isShosai = flag; if (isShosai) { Preferences["config"]["hair_details"].Value = "true"; } else { Preferences["config"]["hair_details"].Value = "false"; } SaveConfig(); } if (isFace[selectMaidIndex]) { if (GUI.Button(new Rect(GetPix(5), GetPix(25), GetPix(23), GetPix(23)), "有", style3)) { TMorph morph = maidArray[selectMaidIndex].body0.Face.morph; maidArray[selectMaidIndex].boMabataki = false; isFace[selectMaidIndex] = false; } maidArray[selectMaidIndex].boMabataki = false; } else { if (GUI.Button(new Rect(GetPix(5), GetPix(25), GetPix(23), GetPix(23)), "無", style3)) { TMorph morph = maidArray[selectMaidIndex].body0.Face.morph; maidArray[selectMaidIndex].boMabataki = false; morph.EyeMabataki = 0.0f; isFaceInit = true; isFace[selectMaidIndex] = true; faceCombo.selectedItemIndex = faceIndex[selectMaidIndex]; } GUI.enabled = false; maidArray[selectMaidIndex].boMabataki = true; } } if (GUI.Button(new Rect(GetPix(5), GetPix(95), GetPix(23), GetPix(23)), "<", style3)) { --faceIndex[selectMaidIndex]; if (faceIndex[selectMaidIndex] <= -1) { faceIndex[selectMaidIndex] = faceComboList.Length - 1; } TMorph morph = maidArray[selectMaidIndex].body0.Face.morph; maidArray[selectMaidIndex].boMabataki = false; morph.EyeMabataki = 0.0f; if (faceIndex[selectMaidIndex] < faceArray.Length) { morph.MulBlendValues(faceArray[faceIndex[selectMaidIndex]], 1f); } else { float[] fieldValue1 = GetFieldValue(morph, "BlendValues"); float[] fieldValue2 = GetFieldValue(morph, "BlendValuesBackup"); if (!isVR) { maidArray[selectMaidIndex].boMabataki = false; } string[] strArray = faceComboList[faceIndex[selectMaidIndex]].text.Split(':')[2].Split(','); fieldValue2[(int)morph.hash["eyeclose"]] = float.Parse(strArray[0]); fieldValue2[(int)morph.hash["eyeclose2"]] = float.Parse(strArray[1]); fieldValue2[(int)morph.hash["eyeclose3"]] = float.Parse(strArray[2]); fieldValue2[(int)morph.hash["eyeclose6"]] = float.Parse(strArray[3]); fieldValue1[(int)morph.hash["hitomih"]] = float.Parse(strArray[4]); fieldValue1[(int)morph.hash["hitomis"]] = float.Parse(strArray[5]); fieldValue1[(int)morph.hash["mayuha"]] = float.Parse(strArray[6]); fieldValue1[(int)morph.hash["mayuup"]] = float.Parse(strArray[7]); fieldValue1[(int)morph.hash["mayuv"]] = float.Parse(strArray[8]); fieldValue1[(int)morph.hash["mayuvhalf"]] = float.Parse(strArray[9]); fieldValue1[(int)morph.hash["moutha"]] = float.Parse(strArray[10]); fieldValue1[(int)morph.hash["mouths"]] = float.Parse(strArray[11]); fieldValue1[(int)morph.hash["mouthdw"]] = float.Parse(strArray[12]); fieldValue1[(int)morph.hash["mouthup"]] = float.Parse(strArray[13]); fieldValue1[(int)morph.hash["tangout"]] = float.Parse(strArray[14]); fieldValue1[(int)morph.hash["tangup"]] = float.Parse(strArray[15]); fieldValue1[(int)morph.hash["eyebig"]] = float.Parse(strArray[16]); fieldValue2[(int)morph.hash["eyeclose5"]] = float.Parse(strArray[17]); fieldValue1[(int)morph.hash["mayuw"]] = float.Parse(strArray[18]); fieldValue1[(int)morph.hash["mouthhe"]] = float.Parse(strArray[19]); fieldValue1[(int)morph.hash["mouthc"]] = float.Parse(strArray[20]); fieldValue1[(int)morph.hash["mouthi"]] = float.Parse(strArray[21]); fieldValue1[(int)morph.hash["mouthuphalf"]] = float.Parse(strArray[22]) + 0.01f; try { fieldValue1[(int)morph.hash["tangopen"]] = float.Parse(strArray[23]); } catch { } if (float.Parse(strArray[24]) == 1.0) { fieldValue1[(int)morph.hash["namida"]] = 1f; } else { fieldValue1[(int)morph.hash["namida"]] = 0.0f; } if (float.Parse(strArray[25]) == 1.0) { fieldValue1[(int)morph.hash["tear1"]] = 1f; } else { fieldValue1[(int)morph.hash["tear1"]] = 0.0f; } if (float.Parse(strArray[26]) == 1.0) { fieldValue1[(int)morph.hash["tear2"]] = 1f; } else { fieldValue1[(int)morph.hash["tear2"]] = 0.0f; } if (float.Parse(strArray[27]) == 1.0) { fieldValue1[(int)morph.hash["tear3"]] = 1f; } else { fieldValue1[(int)morph.hash["tear3"]] = 0.0f; } if (float.Parse(strArray[28]) == 1.0) { fieldValue1[(int)morph.hash["shock"]] = 1f; } else { fieldValue1[(int)morph.hash["shock"]] = 0.0f; } if (float.Parse(strArray[29]) == 1.0) { fieldValue1[(int)morph.hash["yodare"]] = 1f; } else { fieldValue1[(int)morph.hash["yodare"]] = 0.0f; } if (float.Parse(strArray[30]) == 1.0) { fieldValue1[(int)morph.hash["hoho"]] = 0.5f; } else { fieldValue1[(int)morph.hash["hoho"]] = 0.0f; } if (float.Parse(strArray[31]) == 1.0) { fieldValue1[(int)morph.hash["hoho2"]] = 0.5f; } else { fieldValue1[(int)morph.hash["hoho2"]] = 0.0f; } if (float.Parse(strArray[32]) == 1.0) { fieldValue1[(int)morph.hash["hohos"]] = 1f; } else { fieldValue1[(int)morph.hash["hohos"]] = 0.0f; } if (float.Parse(strArray[33]) == 1.0) { fieldValue1[(int)morph.hash["hohol"]] = 1f; } else { fieldValue1[(int)morph.hash["hohol"]] = 0.0f; } if (float.Parse(strArray[34]) == 1.0) { fieldValue1[(int)morph.hash["toothoff"]] = 1f; } else { fieldValue1[(int)morph.hash["toothoff"]] = 0.0f; } if (strArray.Length > 35) { morph.boNoseFook = float.Parse(strArray[35]) == 1.0; } } maidArray[selectMaidIndex].body0.Face.morph.FixBlendValues_Face(); isFaceInit = true; faceCombo.selectedItemIndex = faceIndex[selectMaidIndex]; } if (GUI.Button(new Rect(GetPix(135), GetPix(95), GetPix(23), GetPix(23)), ">", style3)) { ++faceIndex[selectMaidIndex]; if (faceIndex[selectMaidIndex] == faceComboList.Length) { faceIndex[selectMaidIndex] = 0; } TMorph morph = maidArray[selectMaidIndex].body0.Face.morph; maidArray[selectMaidIndex].boMabataki = false; morph.EyeMabataki = 0.0f; if (faceIndex[selectMaidIndex] < faceArray.Length) { morph.MulBlendValues(faceArray[faceIndex[selectMaidIndex]], 1f); } else { float[] fieldValue1 = GetFieldValue(morph, "BlendValues"); float[] fieldValue2 = GetFieldValue(morph, "BlendValuesBackup"); if (!isVR) { maidArray[selectMaidIndex].boMabataki = false; } string[] strArray = faceComboList[faceIndex[selectMaidIndex]].text.Split(':')[2].Split(','); fieldValue2[(int)morph.hash["eyeclose"]] = float.Parse(strArray[0]); fieldValue2[(int)morph.hash["eyeclose2"]] = float.Parse(strArray[1]); fieldValue2[(int)morph.hash["eyeclose3"]] = float.Parse(strArray[2]); fieldValue2[(int)morph.hash["eyeclose6"]] = float.Parse(strArray[3]); fieldValue1[(int)morph.hash["hitomih"]] = float.Parse(strArray[4]); fieldValue1[(int)morph.hash["hitomis"]] = float.Parse(strArray[5]); fieldValue1[(int)morph.hash["mayuha"]] = float.Parse(strArray[6]); fieldValue1[(int)morph.hash["mayuup"]] = float.Parse(strArray[7]); fieldValue1[(int)morph.hash["mayuv"]] = float.Parse(strArray[8]); fieldValue1[(int)morph.hash["mayuvhalf"]] = float.Parse(strArray[9]); fieldValue1[(int)morph.hash["moutha"]] = float.Parse(strArray[10]); fieldValue1[(int)morph.hash["mouths"]] = float.Parse(strArray[11]); fieldValue1[(int)morph.hash["mouthdw"]] = float.Parse(strArray[12]); fieldValue1[(int)morph.hash["mouthup"]] = float.Parse(strArray[13]); fieldValue1[(int)morph.hash["tangout"]] = float.Parse(strArray[14]); fieldValue1[(int)morph.hash["tangup"]] = float.Parse(strArray[15]); fieldValue1[(int)morph.hash["eyebig"]] = float.Parse(strArray[16]); fieldValue2[(int)morph.hash["eyeclose5"]] = float.Parse(strArray[17]); fieldValue1[(int)morph.hash["mayuw"]] = float.Parse(strArray[18]); fieldValue1[(int)morph.hash["mouthhe"]] = float.Parse(strArray[19]); fieldValue1[(int)morph.hash["mouthc"]] = float.Parse(strArray[20]); fieldValue1[(int)morph.hash["mouthi"]] = float.Parse(strArray[21]); fieldValue1[(int)morph.hash["mouthuphalf"]] = float.Parse(strArray[22]) + 0.01f; try { fieldValue1[(int)morph.hash["tangopen"]] = float.Parse(strArray[23]); } catch { } if (float.Parse(strArray[24]) == 1.0) { fieldValue1[(int)morph.hash["namida"]] = 1f; } else { fieldValue1[(int)morph.hash["namida"]] = 0.0f; } if (float.Parse(strArray[25]) == 1.0) { fieldValue1[(int)morph.hash["tear1"]] = 1f; } else { fieldValue1[(int)morph.hash["tear1"]] = 0.0f; } if (float.Parse(strArray[26]) == 1.0) { fieldValue1[(int)morph.hash["tear2"]] = 1f; } else { fieldValue1[(int)morph.hash["tear2"]] = 0.0f; } if (float.Parse(strArray[27]) == 1.0) { fieldValue1[(int)morph.hash["tear3"]] = 1f; } else { fieldValue1[(int)morph.hash["tear3"]] = 0.0f; } if (float.Parse(strArray[28]) == 1.0) { fieldValue1[(int)morph.hash["shock"]] = 1f; } else { fieldValue1[(int)morph.hash["shock"]] = 0.0f; } if (float.Parse(strArray[29]) == 1.0) { fieldValue1[(int)morph.hash["yodare"]] = 1f; } else { fieldValue1[(int)morph.hash["yodare"]] = 0.0f; } if (float.Parse(strArray[30]) == 1.0) { fieldValue1[(int)morph.hash["hoho"]] = 0.5f; } else { fieldValue1[(int)morph.hash["hoho"]] = 0.0f; } if (float.Parse(strArray[31]) == 1.0) { fieldValue1[(int)morph.hash["hoho2"]] = 0.5f; } else { fieldValue1[(int)morph.hash["hoho2"]] = 0.0f; } if (float.Parse(strArray[32]) == 1.0) { fieldValue1[(int)morph.hash["hohos"]] = 1f; } else { fieldValue1[(int)morph.hash["hohos"]] = 0.0f; } if (float.Parse(strArray[33]) == 1.0) { fieldValue1[(int)morph.hash["hohol"]] = 1f; } else { fieldValue1[(int)morph.hash["hohol"]] = 0.0f; } if (float.Parse(strArray[34]) == 1.0) { fieldValue1[(int)morph.hash["toothoff"]] = 1f; } else { fieldValue1[(int)morph.hash["toothoff"]] = 0.0f; } if (strArray.Length > 35) { morph.boNoseFook = float.Parse(strArray[35]) == 1.0; } } maidArray[selectMaidIndex].body0.Face.morph.FixBlendValues_Face(); isFaceInit = true; faceCombo.selectedItemIndex = faceIndex[selectMaidIndex]; } if (!isShosai) { GUI.Label(new Rect(GetPix(8), GetPix(130), GetPix(100), GetPix(25)), "目の開閉", style1); eyeclose = GUI.HorizontalSlider(new Rect(GetPix(8), GetPix(150), GetPix(70), GetPix(20)), eyeclose, 0.0f, 1f); GUI.Label(new Rect(GetPix(88), GetPix(130), GetPix(100), GetPix(25)), "にっこり", style1); eyeclose2 = GUI.HorizontalSlider(new Rect(GetPix(88), GetPix(150), GetPix(70), GetPix(20)), eyeclose2, 0.0f, 1f); GUI.Label(new Rect(GetPix(8), GetPix(170), GetPix(100), GetPix(25)), "ジト目", style1); eyeclose3 = GUI.HorizontalSlider(new Rect(GetPix(8), GetPix(190), GetPix(70), GetPix(20)), eyeclose3, 0.0f, 1f); GUI.Label(new Rect(GetPix(88), GetPix(170), GetPix(100), GetPix(25)), "ウインク", style1); eyeclose6 = GUI.HorizontalSlider(new Rect(GetPix(88), GetPix(190), GetPix(70), GetPix(20)), eyeclose6, 0.0f, 1f); GUI.Label(new Rect(GetPix(8), GetPix(210), GetPix(100), GetPix(25)), "ハイライト", style1); hitomih = GUI.HorizontalSlider(new Rect(GetPix(8), GetPix(230), GetPix(70), GetPix(20)), hitomih, 0.0f, 2f); GUI.Label(new Rect(GetPix(88), GetPix(210), GetPix(100), GetPix(25)), "瞳サイズ", style1); hitomis = GUI.HorizontalSlider(new Rect(GetPix(88), GetPix(230), GetPix(70), GetPix(20)), hitomis, 0.0f, 1f); GUI.Label(new Rect(GetPix(8), GetPix(250), GetPix(100), GetPix(25)), "眉角度", style1); mayuha = GUI.HorizontalSlider(new Rect(GetPix(8), GetPix(270), GetPix(70), GetPix(20)), mayuha, 0.0f, 1f); GUI.Label(new Rect(GetPix(8), GetPix(290), GetPix(100), GetPix(25)), "眉上げ", style1); mayuup = GUI.HorizontalSlider(new Rect(GetPix(8), GetPix(310), GetPix(70), GetPix(20)), mayuup, 0.0f, 0.8f); GUI.Label(new Rect(GetPix(88), GetPix(290), GetPix(100), GetPix(25)), "眉下げ", style1); mayuv = GUI.HorizontalSlider(new Rect(GetPix(88), GetPix(310), GetPix(70), GetPix(20)), mayuv, 0.0f, 0.8f); GUI.Label(new Rect(GetPix(8), GetPix(330), GetPix(100), GetPix(25)), "口開け1", style1); moutha = GUI.HorizontalSlider(new Rect(GetPix(8), GetPix(350), GetPix(70), GetPix(20)), moutha, 0.0f, 1f); GUI.Label(new Rect(GetPix(88), GetPix(330), GetPix(100), GetPix(25)), "口開け2", style1); mouths = GUI.HorizontalSlider(new Rect(GetPix(88), GetPix(350), GetPix(70), GetPix(20)), mouths, 0.0f, 0.9f); GUI.Label(new Rect(GetPix(8), GetPix(370), GetPix(100), GetPix(25)), "口角上げ", style1); mouthup = GUI.HorizontalSlider(new Rect(GetPix(8), GetPix(390), GetPix(70), GetPix(20)), mouthup, 0.0f, 1.4f); GUI.Label(new Rect(GetPix(88), GetPix(370), GetPix(100), GetPix(25)), "口角下げ", style1); mouthdw = GUI.HorizontalSlider(new Rect(GetPix(88), GetPix(390), GetPix(70), GetPix(20)), mouthdw, 0.0f, 1f); GUI.Label(new Rect(GetPix(8), GetPix(410), GetPix(100), GetPix(25)), "舌出し", style1); tangout = GUI.HorizontalSlider(new Rect(GetPix(8), GetPix(430), GetPix(70), GetPix(20)), tangout, 0.0f, 1f); GUI.Label(new Rect(GetPix(88), GetPix(410), GetPix(100), GetPix(25)), "舌上げ", style1); tangup = GUI.HorizontalSlider(new Rect(GetPix(88), GetPix(430), GetPix(70), GetPix(20)), tangup, 0.0f, 0.7f); isHoho2 = GUI.Toggle(new Rect(GetPix(5), GetPix(455), GetPix(50), GetPix(20)), isHoho2, "赤面", style4); isShock = GUI.Toggle(new Rect(GetPix(60), GetPix(455), GetPix(70), GetPix(20)), isShock, "ショック", style4); isNamida = GUI.Toggle(new Rect(GetPix(5), GetPix(480), GetPix(50), GetPix(20)), isNamida, "涙", style4); isYodare = GUI.Toggle(new Rect(GetPix(60), GetPix(480), GetPix(50), GetPix(20)), isYodare, "涎", style4); isTear1 = GUI.Toggle(new Rect(GetPix(5), GetPix(505), GetPix(50), GetPix(20)), isTear1, "涙1", style4); isTear2 = GUI.Toggle(new Rect(GetPix(60), GetPix(505), GetPix(50), GetPix(20)), isTear2, "涙2", style4); isTear3 = GUI.Toggle(new Rect(GetPix(115), GetPix(505), GetPix(50), GetPix(20)), isTear3, "涙3", style4); isHohos = GUI.Toggle(new Rect(GetPix(5), GetPix(530), GetPix(50), GetPix(20)), isHohos, "頬1", style4); isHoho = GUI.Toggle(new Rect(GetPix(60), GetPix(530), GetPix(50), GetPix(20)), isHoho, "頬2", style4); isHohol = GUI.Toggle(new Rect(GetPix(115), GetPix(530), GetPix(50), GetPix(20)), isHohol, "頬3", style4); } else { int i1 = 120; int i2 = 135; int num = 28; GUI.Label(new Rect(GetPix(8), GetPix(i1), GetPix(100), GetPix(25)), "目の開閉", style2); eyeclose = GUI.HorizontalSlider(new Rect(GetPix(8), GetPix(i2), GetPix(70), GetPix(20)), eyeclose, 0.0f, 1f); GUI.Label(new Rect(GetPix(88), GetPix(i1), GetPix(100), GetPix(25)), "にっこり", style2); eyeclose2 = GUI.HorizontalSlider(new Rect(GetPix(88), GetPix(i2), GetPix(70), GetPix(20)), eyeclose2, 0.0f, 1f); GUI.Label(new Rect(GetPix(8), GetPix(i1 + num), GetPix(100), GetPix(25)), "ジト目", style2); eyeclose3 = GUI.HorizontalSlider(new Rect(GetPix(8), GetPix(i2 + num), GetPix(70), GetPix(20)), eyeclose3, 0.0f, 1f); GUI.Label(new Rect(GetPix(88), GetPix(i1 + num), GetPix(100), GetPix(25)), "見開く", style2); eyebig = GUI.HorizontalSlider(new Rect(GetPix(88), GetPix(i2 + num), GetPix(70), GetPix(20)), eyebig, 0.0f, 1f); GUI.Label(new Rect(GetPix(8), GetPix(i1 + num * 2), GetPix(100), GetPix(25)), "ウインク1", style2); eyeclose6 = GUI.HorizontalSlider(new Rect(GetPix(8), GetPix(i2 + num * 2), GetPix(70), GetPix(20)), eyeclose6, 0.0f, 1f); GUI.Label(new Rect(GetPix(88), GetPix(i1 + num * 2), GetPix(100), GetPix(25)), "ウインク2", style2); eyeclose5 = GUI.HorizontalSlider(new Rect(GetPix(88), GetPix(i2 + num * 2), GetPix(70), GetPix(20)), eyeclose5, 0.0f, 1f); GUI.Label(new Rect(GetPix(8), GetPix(i1 + num * 3), GetPix(100), GetPix(25)), "ハイライト", style2); hitomih = GUI.HorizontalSlider(new Rect(GetPix(8), GetPix(i2 + num * 3), GetPix(70), GetPix(20)), hitomih, 0.0f, 2f); GUI.Label(new Rect(GetPix(88), GetPix(i1 + num * 3), GetPix(100), GetPix(25)), "瞳サイズ", style2); hitomis = GUI.HorizontalSlider(new Rect(GetPix(88), GetPix(i2 + num * 3), GetPix(70), GetPix(20)), hitomis, 0.0f, 1f); GUI.Label(new Rect(GetPix(8), GetPix(i1 + num * 4), GetPix(100), GetPix(25)), "眉角度1", style2); mayuha = GUI.HorizontalSlider(new Rect(GetPix(8), GetPix(i2 + num * 4), GetPix(70), GetPix(20)), mayuha, 0.0f, 1f); GUI.Label(new Rect(GetPix(88), GetPix(i1 + num * 4), GetPix(100), GetPix(25)), "眉角度2", style2); mayuw = GUI.HorizontalSlider(new Rect(GetPix(88), GetPix(i2 + num * 4), GetPix(70), GetPix(20)), mayuw, 0.0f, 1f); GUI.Label(new Rect(GetPix(8), GetPix(i1 + num * 5), GetPix(100), GetPix(25)), "眉上げ", style2); mayuup = GUI.HorizontalSlider(new Rect(GetPix(8), GetPix(i2 + num * 5), GetPix(70), GetPix(20)), mayuup, 0.0f, 0.8f); GUI.Label(new Rect(GetPix(88), GetPix(i1 + num * 5), GetPix(100), GetPix(25)), "眉下げ1", style2); mayuv = GUI.HorizontalSlider(new Rect(GetPix(88), GetPix(i2 + num * 5), GetPix(70), GetPix(20)), mayuv, 0.0f, 0.8f); GUI.Label(new Rect(GetPix(8), GetPix(i1 + num * 6), GetPix(100), GetPix(25)), "眉下げ2", style2); mayuvhalf = GUI.HorizontalSlider(new Rect(GetPix(8), GetPix(i2 + num * 6), GetPix(70), GetPix(20)), mayuvhalf, 0.0f, 0.9f); GUI.Label(new Rect(GetPix(8), GetPix(i1 + num * 7), GetPix(100), GetPix(25)), "口開け1", style2); moutha = GUI.HorizontalSlider(new Rect(GetPix(8), GetPix(i2 + num * 7), GetPix(70), GetPix(20)), moutha, 0.0f, 1f); GUI.Label(new Rect(GetPix(88), GetPix(i1 + num * 7), GetPix(100), GetPix(25)), "口開け2", style2); mouths = GUI.HorizontalSlider(new Rect(GetPix(88), GetPix(i2 + num * 7), GetPix(70), GetPix(20)), mouths, 0.0f, 0.9f); GUI.Label(new Rect(GetPix(8), GetPix(i1 + num * 8), GetPix(100), GetPix(25)), "口幅狭く", style2); mouthc = GUI.HorizontalSlider(new Rect(GetPix(8), GetPix(i2 + num * 8), GetPix(70), GetPix(20)), mouthc, 0.0f, 1f); GUI.Label(new Rect(GetPix(88), GetPix(i1 + num * 8), GetPix(100), GetPix(25)), "口幅広く", style2); mouthi = GUI.HorizontalSlider(new Rect(GetPix(88), GetPix(i2 + num * 8), GetPix(70), GetPix(20)), mouthi, 0.0f, 1f); GUI.Label(new Rect(GetPix(8), GetPix(i1 + num * 9), GetPix(100), GetPix(25)), "口角上げ", style2); mouthup = GUI.HorizontalSlider(new Rect(GetPix(8), GetPix(i2 + num * 9), GetPix(70), GetPix(20)), mouthup, 0.0f, 1.4f); GUI.Label(new Rect(GetPix(88), GetPix(i1 + num * 9), GetPix(100), GetPix(25)), "口角下げ", style2); mouthdw = GUI.HorizontalSlider(new Rect(GetPix(88), GetPix(i2 + num * 9), GetPix(70), GetPix(20)), mouthdw, 0.0f, 1f); GUI.Label(new Rect(GetPix(8), GetPix(i1 + num * 10), GetPix(100), GetPix(25)), "口中央上げ", style2); mouthhe = GUI.HorizontalSlider(new Rect(GetPix(8), GetPix(i2 + num * 10), GetPix(70), GetPix(20)), mouthhe, 0.0f, 1f); GUI.Label(new Rect(GetPix(88), GetPix(i1 + num * 10), GetPix(100), GetPix(25)), "左口角上げ", style2); mouthuphalf = GUI.HorizontalSlider(new Rect(GetPix(88), GetPix(i2 + num * 10), GetPix(70), GetPix(20)), mouthuphalf, 0.0f, 2f); GUI.Label(new Rect(GetPix(8), GetPix(i1 + num * 11), GetPix(100), GetPix(25)), "舌出し", style2); tangout = GUI.HorizontalSlider(new Rect(GetPix(8), GetPix(i2 + num * 11), GetPix(70), GetPix(20)), tangout, 0.0f, 1f); GUI.Label(new Rect(GetPix(88), GetPix(i1 + num * 11), GetPix(100), GetPix(25)), "舌上げ", style2); tangup = GUI.HorizontalSlider(new Rect(GetPix(88), GetPix(i2 + num * 11), GetPix(70), GetPix(20)), tangup, 0.0f, 0.7f); GUI.Label(new Rect(GetPix(8), GetPix(i1 + num * 12), GetPix(100), GetPix(25)), "舌根上げ", style2); tangopen = GUI.HorizontalSlider(new Rect(GetPix(8), GetPix(i2 + num * 12), GetPix(70), GetPix(20)), tangopen, 0.0f, 1f); bool enabled = GUI.enabled; if (!faceCombo.isClickedComboButton) { GUI.enabled = true; } GUI.enabled = enabled; isHoho2 = GUI.Toggle(new Rect(GetPix(5), GetPix(489), GetPix(50), GetPix(16)), isHoho2, "赤面", style4); isShock = GUI.Toggle(new Rect(GetPix(60), GetPix(489), GetPix(58), GetPix(16)), isShock, "ショック", style4); isNosefook = GUI.Toggle(new Rect(GetPix(115), GetPix(489), GetPix(62), GetPix(16)), isNosefook, "鼻フック", style4); isNamida = GUI.Toggle(new Rect(GetPix(5), GetPix(511), GetPix(50), GetPix(16)), isNamida, "涙", style4); isYodare = GUI.Toggle(new Rect(GetPix(60), GetPix(511), GetPix(50), GetPix(16)), isYodare, "涎", style4); isToothoff = !GUI.Toggle(new Rect(GetPix(115), GetPix(511), GetPix(50), GetPix(16)), !isToothoff, "歯", style4); isTear1 = GUI.Toggle(new Rect(GetPix(5), GetPix(533), GetPix(50), GetPix(16)), isTear1, "涙1", style4); isTear2 = GUI.Toggle(new Rect(GetPix(60), GetPix(533), GetPix(50), GetPix(16)), isTear2, "涙2", style4); isTear3 = GUI.Toggle(new Rect(GetPix(115), GetPix(533), GetPix(50), GetPix(16)), isTear3, "涙3", style4); isHohos = GUI.Toggle(new Rect(GetPix(5), GetPix(555), GetPix(50), GetPix(16)), isHohos, "頬1", style4); isHoho = GUI.Toggle(new Rect(GetPix(60), GetPix(555), GetPix(50), GetPix(16)), isHoho, "頬2", style4); isHohol = GUI.Toggle(new Rect(GetPix(115), GetPix(555), GetPix(50), GetPix(16)), isHohol, "頬3", style4); } int num1 = 0; if (isShosai) { num1 = 22; } isFaceEdit = GUI.Toggle(new Rect(GetPix(5), GetPix(555 + num1), GetPix(50), GetPix(16)), isFaceEdit, "登録", style4); if (isFaceEdit) { inName4 = GUI.TextField(new Rect(GetPix(5), GetPix(575 + num1), GetPix(100), GetPix(20)), inName4); if (GUI.Button(new Rect(GetPix(107), GetPix(575 + num1), GetPix(35), GetPix(20)), "追加", style3)) { GameMain.Instance.SoundMgr.PlaySe("se002.ogg", false); GUI.FocusControl(""); int num2 = 1; for (int index = 1; index < 1000; ++index) { if (Preferences["face"]["f" + index].Value == null) { num2 = index; break; } } TMorph morph = maidArray[selectMaidIndex].body0.Face.morph; float[] fieldValue1 = GetFieldValue(morph, "BlendValues"); float[] fieldValue2 = GetFieldValue(morph, "BlendValuesBackup"); string str1 = inName4 + ":" + fieldValue2[(int)morph.hash["eyeclose"]] + "," + fieldValue2[(int)morph.hash["eyeclose2"]] + "," + fieldValue2[(int)morph.hash["eyeclose3"]] + "," + fieldValue2[(int)morph.hash["eyeclose6"]] + "," + fieldValue1[(int)morph.hash["hitomih"]] + "," + fieldValue1[(int)morph.hash["hitomis"]] + "," + fieldValue1[(int)morph.hash["mayuha"]] + "," + fieldValue1[(int)morph.hash["mayuup"]] + "," + fieldValue1[(int)morph.hash["mayuv"]] + "," + fieldValue1[(int)morph.hash["mayuvhalf"]] + "," + fieldValue1[(int)morph.hash["moutha"]] + "," + fieldValue1[(int)morph.hash["mouths"]] + "," + fieldValue1[(int)morph.hash["mouthdw"]] + "," + fieldValue1[(int)morph.hash["mouthup"]] + "," + fieldValue1[(int)morph.hash["tangout"]] + "," + fieldValue1[(int)morph.hash["tangup"]] + "," + fieldValue1[(int)morph.hash["eyebig"]] + "," + fieldValue2[(int)morph.hash["eyeclose5"]] + "," + fieldValue1[(int)morph.hash["mayuw"]] + "," + fieldValue1[(int)morph.hash["mouthhe"]] + "," + fieldValue1[(int)morph.hash["mouthc"]] + "," + fieldValue1[(int)morph.hash["mouthi"]] + "," + fieldValue1[(int)morph.hash["mouthuphalf"]] + ","; string str2; try { str2 = str1 + fieldValue1[(int)morph.hash["tangopen"]] + ","; } catch { str2 = str1 + "0,"; } string str3 = fieldValue1[(int)morph.hash["namida"]] <= 0.0 ? str2 + 0 + "," : str2 + 1 + ","; string str4 = fieldValue1[(int)morph.hash["tear1"]] <= 0.0 ? str3 + 0 + "," : str3 + 1 + ","; string str5 = fieldValue1[(int)morph.hash["tear2"]] <= 0.0 ? str4 + 0 + "," : str4 + 1 + ","; string str6 = fieldValue1[(int)morph.hash["tear3"]] <= 0.0 ? str5 + 0 + "," : str5 + 1 + ","; string str7 = fieldValue1[(int)morph.hash["shock"]] <= 0.0 ? str6 + 0 + "," : str6 + 1 + ","; string str8 = fieldValue1[(int)morph.hash["yodare"]] <= 0.0 ? str7 + 0 + "," : str7 + 1 + ","; string str9 = fieldValue1[(int)morph.hash["hoho"]] <= 0.0 ? str8 + 0 + "," : str8 + 1 + ","; string str10 = fieldValue1[(int)morph.hash["hoho2"]] <= 0.0 ? str9 + 0 + "," : str9 + 1 + ","; string str11 = fieldValue1[(int)morph.hash["hohos"]] <= 0.0 ? str10 + 0 + "," : str10 + 1 + ","; string str12 = fieldValue1[(int)morph.hash["hohol"]] <= 0.0 ? str11 + 0 + "," : str11 + 1 + ","; string str13 = fieldValue1[(int)morph.hash["toothoff"]] <= 0.0 ? str12 + 0 + "," : str12 + 1 + ","; string str14 = fieldValue1[(int)morph.hash["nosefook"]] <= 0.0 ? str13 + 0 + ":" : str13 + 1 + ":"; Preferences["face"]["f" + num2].Value = str14; SaveConfig(); List stringList = new List(300); stringList.AddRange(faceArray); for (int index = 1; index < 300; ++index) { IniKey iniKey = Preferences["face"]["f" + index]; if (iniKey.Value != null) { string[] strArray = iniKey.Value.Split(':'); if (strArray.Length > 1) { stringList.Add(strArray[0] + "               :" + index + ":" + strArray[1]); } } else { break; } } faceCombo.selectedItemIndex = 0; faceComboList = new GUIContent[stringList.ToArray().Length]; for (int index = 0; index < stringList.ToArray().Length; ++index) { faceComboList[index] = new GUIContent(stringList.ToArray()[index]); } faceCombo.selectedItemIndex = stringList.ToArray().Length - 1; inName4 = ""; } if (faceIndex[selectMaidIndex] < faceArray.Length) { GUI.enabled = false; } if (GUI.Button(new Rect(GetPix(144), GetPix(575 + num1), GetPix(24), GetPix(20)), "削", style3)) { GameMain.Instance.SoundMgr.PlaySe("se002.ogg", false); Preferences["face"]["f" + faceComboList[faceIndex[selectMaidIndex]].text.Split(':')[1]].Value = "del"; SaveConfig(); List stringList = new List(300); stringList.AddRange(faceArray); for (int index = 1; index < 300; ++index) { IniKey iniKey = Preferences["face"]["f" + index]; if (iniKey.Value != null) { string[] strArray = iniKey.Value.Split(':'); if (strArray.Length > 1) { stringList.Add(strArray[0] + "               :" + index + ":" + strArray[1]); } } else { break; } } faceCombo.selectedItemIndex = 0; faceComboList = new GUIContent[stringList.ToArray().Length]; for (int index = 0; index < stringList.ToArray().Length; ++index) { faceComboList[index] = new GUIContent(stringList.ToArray()[index]); } faceCombo.selectedItemIndex = 0; for (int index = 0; index < maidCnt; ++index) { if (maidArray[index] && maidArray[index].Visible && stringList.ToArray().Length <= faceIndex[index]) { faceIndex[index] = 0; } } } GUI.enabled = true; } if (faceCombo.isClickedComboButton) { GUI.enabled = true; } if (isFace[selectMaidIndex]) { faceIndex[selectMaidIndex] = faceCombo.List(new Rect(GetPix(35), GetPix(95), GetPix(95), GetPix(23)), faceComboList[faceIndex[selectMaidIndex]].text, faceComboList, buttonStyle, "box", listStyle2); } else { faceCombo.List(new Rect(GetPix(35), GetPix(95), GetPix(95), GetPix(23)), faceComboList[faceIndex[selectMaidIndex]].text, faceComboList, buttonStyle, "box", listStyle2); } if (faceCombo.isClickedComboButton) { isCombo = true; } else if (isCombo) { isCombo = false; TMorph morph = maidArray[selectMaidIndex].body0.Face.morph; float[] fieldValue1 = GetFieldValue(morph, "BlendValues"); morph.EyeMabataki = 0.0f; if (faceIndex[selectMaidIndex] < faceArray.Length) { morph.MulBlendValues(faceArray[faceIndex[selectMaidIndex]], 1f); } else { float[] fieldValue2 = GetFieldValue(morph, "BlendValuesBackup"); if (!isVR) { maidArray[selectMaidIndex].boMabataki = false; } string[] strArray = faceComboList[faceIndex[selectMaidIndex]].text.Split(':')[2].Split(','); fieldValue2[(int)morph.hash["eyeclose"]] = float.Parse(strArray[0]); fieldValue2[(int)morph.hash["eyeclose2"]] = float.Parse(strArray[1]); fieldValue2[(int)morph.hash["eyeclose3"]] = float.Parse(strArray[2]); fieldValue2[(int)morph.hash["eyeclose6"]] = float.Parse(strArray[3]); fieldValue1[(int)morph.hash["hitomih"]] = float.Parse(strArray[4]); fieldValue1[(int)morph.hash["hitomis"]] = float.Parse(strArray[5]); fieldValue1[(int)morph.hash["mayuha"]] = float.Parse(strArray[6]); fieldValue1[(int)morph.hash["mayuup"]] = float.Parse(strArray[7]); fieldValue1[(int)morph.hash["mayuv"]] = float.Parse(strArray[8]); fieldValue1[(int)morph.hash["mayuvhalf"]] = float.Parse(strArray[9]); fieldValue1[(int)morph.hash["moutha"]] = float.Parse(strArray[10]); fieldValue1[(int)morph.hash["mouths"]] = float.Parse(strArray[11]); fieldValue1[(int)morph.hash["mouthdw"]] = float.Parse(strArray[12]); fieldValue1[(int)morph.hash["mouthup"]] = float.Parse(strArray[13]); fieldValue1[(int)morph.hash["tangout"]] = float.Parse(strArray[14]); fieldValue1[(int)morph.hash["tangup"]] = float.Parse(strArray[15]); fieldValue1[(int)morph.hash["eyebig"]] = float.Parse(strArray[16]); fieldValue2[(int)morph.hash["eyeclose5"]] = float.Parse(strArray[17]); fieldValue1[(int)morph.hash["mayuw"]] = float.Parse(strArray[18]); fieldValue1[(int)morph.hash["mouthhe"]] = float.Parse(strArray[19]); fieldValue1[(int)morph.hash["mouthc"]] = float.Parse(strArray[20]); fieldValue1[(int)morph.hash["mouthi"]] = float.Parse(strArray[21]); fieldValue1[(int)morph.hash["mouthuphalf"]] = float.Parse(strArray[22]) + 0.01f; try { fieldValue1[(int)morph.hash["tangopen"]] = float.Parse(strArray[23]); } catch { } if (float.Parse(strArray[24]) == 1.0) { fieldValue1[(int)morph.hash["namida"]] = 1f; } else { fieldValue1[(int)morph.hash["namida"]] = 0.0f; } if (float.Parse(strArray[25]) == 1.0) { fieldValue1[(int)morph.hash["tear1"]] = 1f; } else { fieldValue1[(int)morph.hash["tear1"]] = 0.0f; } if (float.Parse(strArray[26]) == 1.0) { fieldValue1[(int)morph.hash["tear2"]] = 1f; } else { fieldValue1[(int)morph.hash["tear2"]] = 0.0f; } if (float.Parse(strArray[27]) == 1.0) { fieldValue1[(int)morph.hash["tear3"]] = 1f; } else { fieldValue1[(int)morph.hash["tear3"]] = 0.0f; } if (float.Parse(strArray[28]) == 1.0) { fieldValue1[(int)morph.hash["shock"]] = 1f; } else { fieldValue1[(int)morph.hash["shock"]] = 0.0f; } if (float.Parse(strArray[29]) == 1.0) { fieldValue1[(int)morph.hash["yodare"]] = 1f; } else { fieldValue1[(int)morph.hash["yodare"]] = 0.0f; } if (float.Parse(strArray[30]) == 1.0) { fieldValue1[(int)morph.hash["hoho"]] = 0.5f; } else { fieldValue1[(int)morph.hash["hoho"]] = 0.0f; } if (float.Parse(strArray[31]) == 1.0) { fieldValue1[(int)morph.hash["hoho2"]] = 0.5f; } else { fieldValue1[(int)morph.hash["hoho2"]] = 0.0f; } if (float.Parse(strArray[32]) == 1.0) { fieldValue1[(int)morph.hash["hohos"]] = 1f; } else { fieldValue1[(int)morph.hash["hohos"]] = 0.0f; } if (float.Parse(strArray[33]) == 1.0) { fieldValue1[(int)morph.hash["hohol"]] = 1f; } else { fieldValue1[(int)morph.hash["hohol"]] = 0.0f; } if (float.Parse(strArray[34]) == 1.0) { fieldValue1[(int)morph.hash["toothoff"]] = 1f; } else { fieldValue1[(int)morph.hash["toothoff"]] = 0.0f; } if (strArray.Length > 35) { morph.boNoseFook = float.Parse(strArray[35]) == 1.0; } } maidArray[selectMaidIndex].body0.Face.morph.FixBlendValues_Face(); isFaceInit = true; faceCombo.selectedItemIndex = faceIndex[selectMaidIndex]; } GUI.enabled = !faceCombo.isClickedComboButton; yotogiFlg = false; if (sceneLevel != 14 || ! GameObject .Find("/UI Root/YotogiPlayPanel/CommandViewer/SkillViewer/MaskGroup/SkillGroup/CommandParent/CommandUnit") ) { return; } yotogiFlg = true; } private void MaidCallWindow(int winID) { GUI.DragWindow(new Rect(0, 0, rectWin.width, DRAG_BAR_HEIGHT)); GUI.Box(new Rect(0, 0, rectWin.width, DRAG_BAR_HEIGHT), ""); CharacterMgr characterMgr = GameMain.Instance.CharacterMgr; GUIStyle style1 = "label"; style1.fontSize = GetPix(14); style1.alignment = TextAnchor.UpperLeft; GUIStyle style2 = "button"; style2.fontSize = GetPix(16); style2.alignment = TextAnchor.MiddleCenter; GUIStyle style3 = new GUIStyle("toggle") { fontSize = GetPix(13) }; float pix = GetPix(70); if (comboBoxList == null) { comboBoxControl.selectedItemIndex = 0; comboBoxList = new GUIContent[11]; comboBoxList[0] = new GUIContent("通常"); comboBoxList[1] = new GUIContent("横一列"); comboBoxList[2] = new GUIContent("縦一列"); comboBoxList[3] = new GUIContent("斜め"); comboBoxList[4] = new GUIContent("円(外向き)"); comboBoxList[5] = new GUIContent("円(内向き)"); comboBoxList[6] = new GUIContent("扇"); comboBoxList[7] = new GUIContent("V"); comboBoxList[8] = new GUIContent("^"); comboBoxList[9] = new GUIContent("M"); comboBoxList[10] = new GUIContent("W"); } bool flag1 = true; if (faceFlg || poseFlg || sceneFlg || kankyoFlg || kankyo2Flg) { flag1 = false; } if (!isF6 && GUI.Toggle(new Rect(GetPix(2), GetPix(2), GetPix(39), GetPix(20)), flag1, "配置", style3)) { faceFlg = false; poseFlg = false; sceneFlg = false; kankyoFlg = false; kankyo2Flg = false; bGui = true; isGuiInit = true; } if (!yotogiFlg && GUI.Toggle(new Rect(GetPix(41), GetPix(2), GetPix(39), GetPix(20)), poseFlg, "操作", style3)) { poseFlg = true; faceFlg = false; sceneFlg = false; kankyoFlg = false; kankyo2Flg = false; } if (GUI.Toggle(new Rect(GetPix(80), GetPix(2), GetPix(39), GetPix(20)), faceFlg, "表情", style3)) { faceFlg = true; poseFlg = false; sceneFlg = false; kankyoFlg = false; kankyo2Flg = false; if (!faceFlg2) { isFaceInit = true; faceFlg2 = true; maidArray[selectMaidIndex].boMabataki = false; faceCombo.selectedItemIndex = faceIndex[selectMaidIndex]; } } if (GUI.Toggle(new Rect(GetPix(119), GetPix(2), GetPix(39), GetPix(20)), kankyoFlg, "環境", style3)) { poseFlg = false; faceFlg = false; sceneFlg = false; kankyoFlg = true; kankyo2Flg = false; } if (!line1) { line1 = MakeTex(2, 2, new Color(0.0f, 0.0f, 0.0f, 0.3f)); line2 = MakeTex(2, 2, new Color(0.7f, 0.7f, 0.7f, 0.6f)); } GUI.DrawTexture(new Rect(GetPix(5), GetPix(20), GetPix(160), 2f), line1); GUI.DrawTexture(new Rect(GetPix(5), GetPix(20), GetPix(160), 1f), line2); int stockMaidCount1 = characterMgr.GetStockMaidCount(); Rect position; Rect viewRect; if (sceneLevel != 5) { position = new Rect(GetPix(7), GetPix(110), rectWin.width - GetPix(14), rectWin.height * 0.83f); viewRect = new Rect(0.0f, 0.0f, position.width * 0.85f, (pix + GetPix(5)) * stockMaidCount1 + GetPix(15)); } else { position = new Rect(GetPix(7), GetPix(110), rectWin.width - GetPix(14), (float)(rectWin.height * 0.829999983310699 * 0.980000019073486)); viewRect = new Rect(0.0f, 0.0f, position.width * 0.85f, (float)((pix + (double)GetPix(5)) * stockMaidCount1 + GetPix(15) * 0.920000016689301)); } float y = 0.0f; if (comboBoxControl.isClickedComboButton) { GUI.enabled = false; } if (GUI.Button(new Rect(GetPix(10), GetPix(78), rectWin.width * 0.85f, GetPix(28)), "呼び出す", style2)) { isYobidashi = true; selectMaidIndex = 0; copyIndex = 0; for (int index = 0; index < maxMaidCnt; ++index) { if (!isLock[index] && maidArray[index] && maidArray[index].Visible) { maidArray[index].CrossFade(poseArray[0] + ".anm", false, true, false, 0.0f, 1f); maidArray[index].SetAutoTwistAll(true); } maidArray[index] = null; } for (int index = 0; index < maxMaidCnt; ++index) { isStop[index] = false; } bGui = false; isFadeOut = true; GameMain.Instance.MainCamera.FadeOut(0.0f, false, null, true, new Color()); for (int index = 0; index < characterMgr.GetStockMaidCount(); ++index) { characterMgr.GetStockMaidList()[index].Visible = false; } } GUIStyle style4 = "button"; style4.fontSize = GetPix(13); GUIStyleState guiStyleState = new GUIStyleState(); if (GUI.Button(new Rect(GetPix(10), GetPix(52), rectWin.width * 0.4f, GetPix(23)), "7人選択", style4)) { if (sceneLevel != 5) { selectList = new ArrayList { 0, 1, 2, 3, 4, 5, 6 }; } else { int stockMaidCount2 = characterMgr.GetStockMaidCount(); selectList = new ArrayList { editMaid }; if (stockMaidCount2 > 1) { if (editMaid >= 1) { selectList.Add(0); } else if (stockMaidCount2 > 2) { selectList.Add(1); } } if (stockMaidCount2 > 2) { if (editMaid >= 2) { selectList.Add(1); } else if (stockMaidCount2 > 3) { selectList.Add(2); } } if (stockMaidCount2 > 3) { if (editMaid >= 3) { selectList.Add(2); } else if (stockMaidCount2 > 4) { selectList.Add(3); } } if (stockMaidCount2 > 4) { if (editMaid >= 4) { selectList.Add(3); } else if (stockMaidCount2 > 5) { selectList.Add(4); } } if (stockMaidCount2 > 5) { if (editMaid >= 5) { selectList.Add(4); } else if (stockMaidCount2 > 6) { selectList.Add(5); } } if (stockMaidCount2 > 6) { if (editMaid >= 6) { selectList.Add(5); } else if (stockMaidCount2 > 7) { selectList.Add(6); } } } } if (GUI.Button(new Rect(rectWin.width * 0.5f, GetPix(52), rectWin.width * 0.4f, GetPix(23)), "選択解除", style4)) { selectList = new ArrayList(); if (sceneLevel == 5) { selectList.Add(editMaid); } } GUI.enabled = true; scrollPos = GUI.BeginScrollView(position, scrollPos, viewRect); for (int nStockNo = 0; nStockNo < characterMgr.GetStockMaidCount(); ++nStockNo) { GUI.enabled = true; GUI.DrawTexture(new Rect(2f, y + 2f, (float)(rectWin.width * 0.829999983310699 - 4.0), pix - 4f), Texture2D.whiteTexture); bool flag2 = false; for (int index = 0; index < selectList.Count; ++index) { if ((int)selectList[index] == nStockNo) { flag2 = true; break; } } if (comboBoxControl.isClickedComboButton) { GUI.enabled = false; GUI.Button(new Rect(0.0f, y, rectWin.width * 0.83f, pix), "", style2); GUI.Button(new Rect(0.0f, y, rectWin.width * 0.83f, pix), "", style2); } if (GUI.Button(new Rect(0.0f, y, rectWin.width * 0.83f, pix), "", style2)) { if (flag2) { for (int index = 0; index < selectList.Count; ++index) { if ((int)selectList[index] == nStockNo && (sceneLevel != 5 || (int)selectList[index] != editMaid)) { selectList.Remove(nStockNo); break; } } } else { if (selectList.Count > maxMaidCnt - 1) { selectList.Remove(selectList[maxMaidCnt - 1]); } selectList.Add(nStockNo); } } GUI.enabled = true; if (flag2) { GUI.DrawTexture(new Rect(5f, y + 5f, (float)(rectWin.width * 0.829999983310699 - 10.0), pix - 10f), Texture2D.whiteTexture); } if (characterMgr.GetStockMaid(nStockNo).GetThumIcon()) { GUI.DrawTexture(new Rect(0.0f, y - 5f, pix, pix), characterMgr.GetStockMaid(nStockNo).GetThumIcon()); } string text = characterMgr.GetStockMaid(nStockNo).status.lastName + "\n" + characterMgr.GetStockMaid(nStockNo).status.firstName; guiStyleState.textColor = Color.black; style1.normal = guiStyleState; GUI.Label(new Rect(GetPix(65), y + pix / 4f, pix * 2f, pix * 3f), text, style1); if (flag2) { for (int index = 0; index < selectList.Count; ++index) { if ((int)selectList[index] == nStockNo) { GUI.Label(new Rect(rectWin.width * 0.7f, y + 6f, pix, pix), (index + 1).ToString(), style1); break; } } } y += pix + GetPix(5); } GUI.EndScrollView(); guiStyleState.textColor = Color.white; style1.normal = guiStyleState; comboBoxControl.List(new Rect(GetPix(10), GetPix(25), rectWin.width * 0.56f, GetPix(24)), comboBoxList[comboBoxControl.GetSelectedItemIndex()].text, comboBoxList, listStyle); if (!GUI.Button(new Rect(rectWin.width * 0.66f, GetPix(25), rectWin.width * 0.24f, GetPix(24)), "決定", style4)) { return; } for (int index = 0; index < maxMaidCnt; ++index) { isStop[index] = false; } switch (comboBoxControl.GetSelectedItemIndex()) { case 0: for (int index = 0; index < maidCnt; ++index) { Vector3 zero1 = Vector3.zero; Vector3 zero2 = Vector3.zero; if (selectList.Count <= 7) { if (selectList.Count % 2 == 1) { switch (index) { case 0: maidArray[index].SetPos(new Vector3(0.0f, 0.0f, 0.0f)); break; case 1: maidArray[index].SetPos(new Vector3(-0.6f, 0.0f, 0.26f)); break; case 2: maidArray[index].SetPos(new Vector3(0.6f, 0.0f, 0.26f)); break; case 3: maidArray[index].SetPos(new Vector3(-1.1f, 0.0f, 0.69f)); break; case 4: maidArray[index].SetPos(new Vector3(1.1f, 0.0f, 0.69f)); break; case 5: maidArray[index].SetPos(new Vector3(-1.47f, 0.0f, 1.1f)); break; case 6: maidArray[index].SetPos(new Vector3(1.47f, 0.0f, 1.1f)); break; } } else { switch (index) { case 0: maidArray[index].SetPos(new Vector3(0.3f, 0.0f, 0.0f)); break; case 1: maidArray[index].SetPos(new Vector3(-0.3f, 0.0f, 0.0f)); break; case 2: maidArray[index].SetPos(new Vector3(0.7f, 0.0f, 0.4f)); break; case 3: maidArray[index].SetPos(new Vector3(-0.7f, 0.0f, 0.4f)); break; case 4: maidArray[index].SetPos(new Vector3(1f, 0.0f, 0.9f)); break; case 5: maidArray[index].SetPos(new Vector3(-1f, 0.0f, 0.9f)); break; } } } else { float num1 = 0.0f; if (selectList.Count >= 11) { float num2 = -0.4f; if (selectList.Count % 2 == 1) { switch (index) { case 0: maidArray[index].SetPos(new Vector3(0.0f, 0.0f, 0.0f + num2)); break; case 1: maidArray[index].SetPos(new Vector3(-0.5f, 0.0f, 0.2f + num2)); break; case 2: maidArray[index].SetPos(new Vector3(0.5f, 0.0f, 0.2f + num2)); break; case 3: maidArray[index].SetPos(new Vector3(-0.9f, 0.0f, 0.55f + num2)); break; case 4: maidArray[index].SetPos(new Vector3(0.9f, 0.0f, 0.55f + num2)); break; case 5: maidArray[index].SetPos(new Vector3(-1.25f, 0.0f, 0.9f + num2)); break; case 6: maidArray[index].SetPos(new Vector3(1.25f, 0.0f, 0.9f + num2)); break; case 7: maidArray[index].SetPos(new Vector3(-1.57f, 0.0f, 1.3f + num2)); break; case 8: maidArray[index].SetPos(new Vector3(1.57f, 0.0f, 1.3f + num2)); break; case 9: maidArray[index].SetPos(new Vector3(-1.77f, 0.0f, 1.72f + num2)); break; case 10: maidArray[index].SetPos(new Vector3(1.77f, 0.0f, 1.72f + num2)); break; case 11: maidArray[index].SetPos(new Vector3(-1.85f, 0.0f, 2.17f + num2)); break; case 12: maidArray[index].SetPos(new Vector3(1.85f, 0.0f, 2.17f + num2)); break; default: maidArray[index].SetPos(new Vector3(0.0f, 0.0f, 0.7f + num2)); break; } } else { switch (index) { case 0: maidArray[index].SetPos(new Vector3(0.25f, 0.0f, 0.0f + num2)); break; case 1: maidArray[index].SetPos(new Vector3(-0.25f, 0.0f, 0.0f + num2)); break; case 2: maidArray[index].SetPos(new Vector3(0.7f, 0.0f, 0.25f + num2)); break; case 3: maidArray[index].SetPos(new Vector3(-0.7f, 0.0f, 0.25f + num2)); break; case 4: maidArray[index].SetPos(new Vector3(1.05f, 0.0f, 0.6f + num2)); break; case 5: maidArray[index].SetPos(new Vector3(-1.05f, 0.0f, 0.6f + num2)); break; case 6: maidArray[index].SetPos(new Vector3(1.35f, 0.0f, 0.9f + num2)); break; case 7: maidArray[index].SetPos(new Vector3(-1.35f, 0.0f, 0.9f + num2)); break; case 8: maidArray[index].SetPos(new Vector3(1.6f, 0.0f, 1.3f + num2)); break; case 9: maidArray[index].SetPos(new Vector3(-1.6f, 0.0f, 1.3f + num2)); break; case 10: maidArray[index].SetPos(new Vector3(1.8f, 0.0f, 1.72f + num2)); break; case 11: maidArray[index].SetPos(new Vector3(-1.8f, 0.0f, 1.72f + num2)); break; case 12: maidArray[index].SetPos(new Vector3(1.9f, 0.0f, 2.17f + num2)); break; case 13: maidArray[index].SetPos(new Vector3(-1.9f, 0.0f, 2.17f + num2)); break; default: maidArray[index].SetPos(new Vector3(0.0f, 0.0f, 0.7f + num2)); break; } } } else if (selectList.Count >= 8) { if (selectList.Count >= 9) { num1 = -0.2f; } if (selectList.Count % 2 == 1) { switch (index) { case 0: maidArray[index].SetPos(new Vector3(0.0f, 0.0f, 0.0f + num1)); break; case 1: maidArray[index].SetPos(new Vector3(-0.55f, 0.0f, 0.2f + num1)); break; case 2: maidArray[index].SetPos(new Vector3(0.55f, 0.0f, 0.2f + num1)); break; case 3: maidArray[index].SetPos(new Vector3(-1f, 0.0f, 0.6f + num1)); break; case 4: maidArray[index].SetPos(new Vector3(1f, 0.0f, 0.6f + num1)); break; case 5: maidArray[index].SetPos(new Vector3(-1.35f, 0.0f, 1f + num1)); break; case 6: maidArray[index].SetPos(new Vector3(1.35f, 0.0f, 1f + num1)); break; case 7: maidArray[index].SetPos(new Vector3(-1.6f, 0.0f, 1.4f + num1)); break; case 8: maidArray[index].SetPos(new Vector3(1.6f, 0.0f, 1.4f + num1)); break; } } else { switch (index) { case 0: maidArray[index].SetPos(new Vector3(0.28f, 0.0f, 0.0f + num1)); break; case 1: maidArray[index].SetPos(new Vector3(-0.28f, 0.0f, 0.0f + num1)); break; case 2: maidArray[index].SetPos(new Vector3(0.78f, 0.0f, 0.3f + num1)); break; case 3: maidArray[index].SetPos(new Vector3(-0.78f, 0.0f, 0.3f + num1)); break; case 4: maidArray[index].SetPos(new Vector3(1.22f, 0.0f, 0.7f + num1)); break; case 5: maidArray[index].SetPos(new Vector3(-1.22f, 0.0f, 0.7f + num1)); break; case 6: maidArray[index].SetPos(new Vector3(1.55f, 0.0f, 1.1f + num1)); break; case 7: maidArray[index].SetPos(new Vector3(-1.55f, 0.0f, 1.1f + num1)); break; case 8: maidArray[index].SetPos(new Vector3(1.77f, 0.0f, 1.58f + num1)); break; case 9: maidArray[index].SetPos(new Vector3(-1.77f, 0.0f, 1.58f + num1)); break; } } } } zero2.y = (float)(Math.Atan2(maidArray[index].transform.position.x, maidArray[index].transform.position.z - 1.5) * 180.0 / Math.PI) + 180f; maidArray[index].SetRot(zero2); } break; case 1: for (int index = 0; index < maidCnt; ++index) { Vector3 zero1 = Vector3.zero; Vector3 zero2 = Vector3.zero; if (maidCnt < 9) { switch (index) { case 1: zero1.x = -0.6f; break; case 2: zero1.x = 0.6f; break; case 3: zero1.x = -1.2f; break; case 4: zero1.x = 1.2f; break; case 5: zero1.x = -1.8f; break; case 6: zero1.x = 1.8f; break; case 7: zero1.x = -2.4f; break; case 8: zero1.x = 2.4f; break; case 9: zero1.x = -3f; break; case 10: zero1.x = 3f; break; } } else { switch (index) { case 1: zero1.x = -0.5f; break; case 2: zero1.x = 0.5f; break; case 3: zero1.x = -1f; break; case 4: zero1.x = 1f; break; case 5: zero1.x = -1.5f; break; case 6: zero1.x = 1.5f; break; case 7: zero1.x = -2f; break; case 8: zero1.x = 2f; break; case 9: zero1.x = -2.5f; break; case 10: zero1.x = 2.5f; break; case 11: zero1.x = -3f; break; case 12: zero1.x = 3f; break; case 13: zero1.x = -3.5f; break; } } maidArray[index].SetPos(zero1); maidArray[index].SetRot(zero2); if (index >= 14) { maidArray[index].SetPos(new Vector3(0.0f, 0.0f, 0.7f)); } } break; case 2: for (int index = 0; index < maidCnt; ++index) { Vector3 zero1 = Vector3.zero; Vector3 zero2 = Vector3.zero; if (maidCnt < 9) { switch (index) { case 1: zero1.z = 0.6f; break; case 2: zero1.z = -0.6f; break; case 3: zero1.z = 1.2f; break; case 4: zero1.z = -1.2f; break; case 5: zero1.z = 1.8f; break; case 6: zero1.z = -1.8f; break; case 7: zero1.z = 2.4f; break; case 8: zero1.z = -2.4f; break; case 9: zero1.z = 3f; break; case 10: zero1.z = -3f; break; } } else { switch (index) { case 1: zero1.z = 0.5f; break; case 2: zero1.z = -0.5f; break; case 3: zero1.z = 1f; break; case 4: zero1.z = -1f; break; case 5: zero1.z = 1.5f; break; case 6: zero1.z = -1.5f; break; case 7: zero1.z = 2f; break; case 8: zero1.z = -2f; break; case 9: zero1.z = 2.5f; break; case 10: zero1.z = -2.5f; break; case 11: zero1.z = 3f; break; case 12: zero1.z = -3f; break; case 13: zero1.z = 3.5f; break; } } maidArray[index].SetPos(zero1); maidArray[index].SetRot(zero2); if (index >= 14) { maidArray[index].SetPos(new Vector3(0.0f, 0.0f, 0.7f)); } } break; case 3: for (int index = 0; index < maidCnt; ++index) { Vector3 zero1 = Vector3.zero; Vector3 zero2 = Vector3.zero; float num = 0.5f; if (maidCnt > 11) { num = 0.25f; } else if (maidCnt > 9) { num = 0.32f; } else if (maidCnt > 7) { num = 0.4f; } switch (index) { case 1: zero1.x = -num; zero1.z = num; break; case 2: zero1.x = num; zero1.z = -num; break; case 3: zero1.x = (float)(-num * 2.0); zero1.z = num * 2f; break; case 4: zero1.x = num * 2f; zero1.z = (float)(-num * 2.0); break; case 5: zero1.x = (float)(-num * 3.0); zero1.z = num * 3f; break; case 6: zero1.x = num * 3f; zero1.z = (float)(-num * 3.0); break; case 7: zero1.x = (float)(-num * 4.0); zero1.z = num * 4f; break; case 8: zero1.x = num * 4f; zero1.z = (float)(-num * 4.0); break; case 9: zero1.x = (float)(-num * 5.0); zero1.z = num * 5f; break; case 10: zero1.x = num * 5f; zero1.z = (float)(-num * 5.0); break; case 11: zero1.x = (float)(-num * 6.0); zero1.z = num * 6f; break; case 12: zero1.x = num * 6f; zero1.z = (float)(-num * 6.0); break; case 13: zero1.x = (float)(-num * 7.0); zero1.z = num * 7f; break; } maidArray[index].SetPos(zero1); maidArray[index].SetRot(zero2); if (index >= 14) { maidArray[index].SetPos(new Vector3(0.0f, 0.0f, 0.7f)); } } break; case 4: for (int index = 0; index < maidCnt; ++index) { Vector3 zero1 = Vector3.zero; Vector3 zero2 = Vector3.zero; float num = (float)(0.400000005960464 + 0.0799999982118607 * maidCnt); zero1.x = num * (float)Math.Cos(Math.PI / 180.0 * (90 + 360 * index / maidCnt)); zero1.z = num * (float)Math.Sin(Math.PI / 180.0 * (90 + 360 * index / maidCnt)); maidArray[index].SetPos(zero1); zero2.y = (float)(Math.Atan2(zero1.x, zero1.z) * 180.0 / Math.PI); maidArray[index].SetRot(zero2); } break; case 5: for (int index = 0; index < maidCnt; ++index) { Vector3 zero1 = Vector3.zero; Vector3 zero2 = Vector3.zero; float num = (float)(0.400000005960464 + 0.0799999982118607 * maidCnt); zero1.x = num * (float)Math.Cos(Math.PI / 180.0 * (90 + 360 * index / maidCnt)); zero1.z = num * (float)Math.Sin(Math.PI / 180.0 * (90 + 360 * index / maidCnt)); maidArray[index].SetPos(zero1); zero2.y = (float)(Math.Atan2(zero1.x, zero1.z) * 180.0 / Math.PI) + 180f; maidArray[index].SetRot(zero2); } break; case 6: for (int index = 0; index < maidCnt; ++index) { Vector3 zero1 = Vector3.zero; Vector3 zero2 = Vector3.zero; float num = 0.0f; if (maidCnt > 9) { num = -0.4f; } else if (maidCnt > 7) { num = -0.2f; } switch (index) { case 0: zero1.z = 0.3f; break; case 1: zero1.x = -0.9f; zero1.z = -0.4f; zero2.y = 40f; break; case 2: zero1.x = 0.9f; zero1.z = -0.4f; zero2.y = -40f; break; case 3: zero1.x = -0.4f; zero1.z = -0.8f; zero2.y = 20f; break; case 4: zero1.x = 0.4f; zero1.z = -0.8f; zero2.y = -20f; break; case 5: zero1.x = -1.2f; zero1.z = 0.1f; zero2.y = 60f; break; case 6: zero1.x = 1.2f; zero1.z = 0.1f; zero2.y = -60f; break; case 7: zero1.x = -1.5f; zero1.z = 0.6f; zero2.y = 80f; break; case 8: zero1.x = 1.5f; zero1.z = 0.6f; zero2.y = -80f; break; case 9: zero1.x = -1.6f; zero1.z = 1.15f; zero2.y = 100f; break; case 10: zero1.x = 1.6f; zero1.z = 1.15f; zero2.y = -100f; break; case 11: zero1.x = -1.6f; zero1.z = 1.65f; zero2.y = 110f; break; case 12: zero1.x = 1.65f; zero1.z = 1.65f; zero2.y = -110f; break; case 13: zero1.x = -1.65f; zero1.z = 2.15f; zero2.y = 120f; break; } if (index > 0) { zero1.z += num; } else { zero1.z -= num; } maidArray[index].SetPos(zero1); maidArray[index].SetRot(zero2); if (index >= 14) { maidArray[index].SetPos(new Vector3(0.0f, 0.0f, 0.7f)); } } break; case 7: for (int index = 0; index < maidCnt; ++index) { Vector3 zero1 = Vector3.zero; Vector3 zero2 = Vector3.zero; float num = 0.0f; if (maidCnt > 11) { num = 0.6f; } else if (maidCnt > 9) { num = 0.4f; } else if (maidCnt > 7) { num = 0.2f; } switch (index) { case 0: zero1.z = 0.8f; break; case 1: zero1.x = -0.45f; zero1.z = 0.3f; zero2.y = -10f; break; case 2: zero1.x = 0.45f; zero1.z = 0.3f; zero2.y = 10f; break; case 3: zero1.x = -0.8f; zero1.z = -0.2f; zero2.y = -20f; break; case 4: zero1.x = 0.8f; zero1.z = -0.2f; zero2.y = 20f; break; case 5: zero1.x = -1.2f; zero1.z = -0.75f; zero2.y = -30f; break; case 6: zero1.x = 1.2f; zero1.z = -0.75f; zero2.y = 30f; break; case 7: zero1.x = -1.6f; zero1.z = -1.25f; zero2.y = -40f; break; case 8: zero1.x = 1.6f; zero1.z = -1.25f; zero2.y = 40f; break; case 9: zero1.x = -2f; zero1.z = -1.75f; zero2.y = -50f; break; case 10: zero1.x = 2f; zero1.z = -1.75f; zero2.y = 50f; break; case 11: zero1.x = -2.4f; zero1.z = -2.25f; zero2.y = -60f; break; case 12: zero1.x = 2.4f; zero1.z = -2.25f; zero2.y = 60f; break; case 13: zero1.x = -2.8f; zero1.z = -2.75f; zero2.y = -70f; break; } zero1.z += num; maidArray[index].SetPos(zero1); maidArray[index].SetRot(zero2); if (index >= 14) { maidArray[index].SetPos(new Vector3(0.0f, 0.0f, 0.7f)); } } break; case 8: for (int index = 0; index < maidCnt; ++index) { Vector3 zero1 = Vector3.zero; Vector3 zero2 = Vector3.zero; float num = 0.0f; if (maidCnt > 11) { num = -0.6f; } else if (maidCnt > 9) { num = -0.4f; } else if (maidCnt > 7) { num = -0.2f; } switch (index) { case 0: zero1.z = -0.75f; break; case 1: zero1.x = -0.45f; zero1.z = -0.2f; zero2.y = 20f; break; case 2: zero1.x = 0.45f; zero1.z = -0.2f; zero2.y = -20f; break; case 3: zero1.x = -0.8f; zero1.z = 0.3f; zero2.y = 35f; break; case 4: zero1.x = 0.8f; zero1.z = 0.3f; zero2.y = -35f; break; case 5: zero1.x = -1.2f; zero1.z = 0.8f; zero2.y = 50f; break; case 6: zero1.x = 1.2f; zero1.z = 0.8f; zero2.y = -50f; break; case 7: zero1.x = -1.6f; zero1.z = 1.3f; zero2.y = 65f; break; case 8: zero1.x = 1.6f; zero1.z = 1.3f; zero2.y = -65f; break; case 9: zero1.x = -2f; zero1.z = 1.8f; zero2.y = 80f; break; case 10: zero1.x = 2f; zero1.z = 1.8f; zero2.y = -80f; break; case 11: zero1.x = -2.4f; zero1.z = 2.3f; zero2.y = 90f; break; case 12: zero1.x = 2.4f; zero1.z = 2.3f; zero2.y = -90f; break; case 13: zero1.x = -2.8f; zero1.z = 2.8f; zero2.y = 100f; break; } zero1.z += num; maidArray[index].SetPos(zero1); maidArray[index].SetRot(zero2); if (index >= 14) { maidArray[index].SetPos(new Vector3(0.0f, 0.0f, 0.7f)); } } break; case 9: for (int index = 0; index < maidCnt; ++index) { Vector3 zero1 = Vector3.zero; Vector3 zero2 = Vector3.zero; float num = 1f; if (maidCnt > 9) { num = 0.84f; } else if (maidCnt > 7) { num = 0.92f; } switch (index) { case 0: zero1.z = 0.0f; break; case 1: zero1.x = -0.5f; zero1.z = -0.5f; break; case 2: zero1.x = 0.5f; zero1.z = -0.5f; break; case 3: zero1.x = -1f; zero1.z = 0.2f; break; case 4: zero1.x = 1f; zero1.z = 0.2f; break; case 5: zero1.x = -1.5f; zero1.z = -0.5f; break; case 6: zero1.x = 1.5f; zero1.z = -0.5f; break; case 7: zero1.x = -2f; zero1.z = 0.2f; break; case 8: zero1.x = 2f; zero1.z = 0.2f; break; case 9: zero1.x = -2.5f; zero1.z = -0.5f; break; case 10: zero1.x = 2.5f; zero1.z = -0.5f; break; case 11: zero1.x = -3f; zero1.z = 0.2f; break; case 12: zero1.x = 3f; zero1.z = 0.2f; break; case 13: zero1.x = -3.5f; zero1.z = -0.5f; break; } zero1.x *= num; maidArray[index].SetPos(zero1); maidArray[index].SetRot(zero2); if (index >= 14) { maidArray[index].SetPos(new Vector3(0.0f, 0.0f, 0.7f)); } } break; case 10: for (int index = 0; index < maidCnt; ++index) { Vector3 zero1 = Vector3.zero; Vector3 zero2 = Vector3.zero; float num = 1f; if (maidCnt > 9) { num = 0.84f; } else if (maidCnt > 7) { num = 0.92f; } switch (index) { case 0: zero1.z = -0.4f; break; case 1: zero1.x = -0.5f; zero1.z = 0.2f; break; case 2: zero1.x = 0.5f; zero1.z = 0.2f; break; case 3: zero1.x = -1f; zero1.z = -0.5f; break; case 4: zero1.x = 1f; zero1.z = -0.5f; break; case 5: zero1.x = -1.5f; zero1.z = 0.2f; break; case 6: zero1.x = 1.5f; zero1.z = 0.2f; break; case 7: zero1.x = -2f; zero1.z = -0.5f; break; case 8: zero1.x = 2f; zero1.z = -0.5f; break; case 9: zero1.x = -2.5f; zero1.z = 0.2f; break; case 10: zero1.x = 2.5f; zero1.z = 0.2f; break; case 11: zero1.x = -3f; zero1.z = -0.5f; break; case 12: zero1.x = 3f; zero1.z = -0.5f; break; case 13: zero1.x = -3.5f; zero1.z = 0.2f; break; } zero1.x *= num; maidArray[index].SetPos(zero1); maidArray[index].SetRot(zero2); if (index >= 14) { maidArray[index].SetPos(new Vector3(0.0f, 0.0f, 0.7f)); } } break; } for (int index = 0; index < maxMaidCnt; ++index) { if (!isLock[index] && maidArray[index] != null && maidArray[index].Visible) { maidArray[index].CrossFade(poseArray[0] + ".anm", false, true, false, 0.0f, 1f); maidArray[index].SetAutoTwistAll(true); } } } private void GuiFunc3(int winID) { GUI.DragWindow(new Rect(0, 0, rectWin.width, DRAG_BAR_HEIGHT)); GUI.Box(new Rect(0, 0, rectWin.width, DRAG_BAR_HEIGHT), ""); GUIStyle style1 = "label"; style1.fontSize = GetPix(12); style1.alignment = TextAnchor.UpperLeft; GUIStyle style2 = "button"; style2.fontSize = GetPix(16); GUI.Label(new Rect(GetPix(8), GetPix(4), GetPix(80), GetPix(25)), "名前", style1); inName = GUI.TextField(new Rect(GetPix(35), GetPix(4), GetPix(120), GetPix(20)), inName); GUI.Label(new Rect(GetPix(180), GetPix(4), GetPix(100), GetPix(25)), "サイズ", style1); fontSize = (int)GUI.HorizontalSlider(new Rect(GetPix(220), GetPix(9), GetPix(100), GetPix(20)), fontSize, 25f, 60f); if (fontSize != mFontSize) { mFontSize = fontSize; GameObject gameObject = GameObject.Find("__GameMain__/SystemUI Root").transform.Find("MessageWindowPanel").gameObject; MessageClass messageClass = new MessageClass(gameObject, GameMain.Instance.ScriptMgr.adv_kag.MessageWindowMgr); SetFieldValue2(UTY.GetChildObject(gameObject, "MessageViewer/MsgParent/Message", false) .GetComponent(), "mFontSize", fontSize); } GUI.Label(new Rect(GetPix(325), GetPix(4), GetPix(100), GetPix(25)), fontSize.ToString() + "pt", style1); inText = GUI.TextArea(new Rect(GetPix(8), GetPix(26), rectWin2.width - GetPix(15), GetPix(52)), inText, 300); if (!GUI.Button(new Rect(GetPix(8), GetPix(82), GetPix(60), GetPix(20)), "決定", style2)) { return; } isMessage = true; bGuiMessage = false; GameObject gameObject1 = GameObject.Find("__GameMain__/SystemUI Root").transform.Find("MessageWindowPanel").gameObject; MessageWindowMgr messageWindowMgr = GameMain.Instance.ScriptMgr.adv_kag.MessageWindowMgr; messageWindowMgr.OpenMessageWindowPanel(); MessageClass inst = new MessageClass(gameObject1, messageWindowMgr); UILabel component = UTY.GetChildObject(gameObject1, "MessageViewer/MsgParent/Message", false).GetComponent(); component.ProcessText(); SetFieldValue2(component, "mFontSize", fontSize); SetFieldValue5(inst, "message_label_", component); inst.SetText(inName, inText, "", 0); inst.FinishChAnime(); } } }