public void Show() { GUILayout.BeginVertical(); try { GUILayout.BeginHorizontal(); GUILayout.Label("パーツカラー", uiParams.lStyleB, titleWidth, titleHeight); GUILayout.EndHorizontal(); var maid = holder.CurrentMaid; if (maid == null) { return; } if (maid.IsBusy) { GUILayout.Space(100); GUILayout.Label("変更中...", uiParams.lStyleB); GUILayout.Space(uiParams.colorRect.height - 105); return; } scrollViewPosition = GUILayout.BeginScrollView(scrollViewPosition, GUILayout.Width(uiParams.colorRect.width), GUILayout.Height(viewHeight)); try { if (!editPartColors.Any()) { for (var pcEnum = MaidParts.PARTS_COLOR.NONE + 1; pcEnum < MaidParts.PARTS_COLOR.MAX; pcEnum++) { var part = maid.Parts.GetPartsColor(pcEnum); editPartColors.Add(new EditParts(ref part, presetMgr)); } } for (var pcEnum = MaidParts.PARTS_COLOR.NONE + 1; pcEnum < MaidParts.PARTS_COLOR.MAX; pcEnum++) { var part = maid.Parts.GetPartsColor(pcEnum); var idx = (int)pcEnum; var epc = editPartColors[idx]; GUILayout.BeginHorizontal(); try { if (GUILayout.Button(pcEnum.ToString(), uiParams.lStyleB)) { epc.expand = !epc.expand; } var label = part.m_bUse ? "未使用" : "使用中"; GUILayout.Label(label, uiParams.lStyleRS); } finally { GUILayout.EndHorizontal(); } if (!epc.expand) { continue; } if (part.m_nShadowRate != epc.shadowRate.val) { epc.shadowRate.Set(part.m_nShadowRate); } if (sliderHelper.DrawValueSlider("影率", epc.shadowRate)) { part.m_nShadowRate = epc.shadowRate.val; maid.Parts.SetPartsColor(pcEnum, part); epc.SetParts(part); } if (epc.HasMainChanged(ref part)) { epc.SetMain(part); } if (epc.HasShadowChanged(ref part)) { epc.SetShadow(part); } if (part.m_nMainContrast != epc.c.val) { epc.c.Set(part.m_nMainContrast); } if (sliderHelper.DrawValueSlider("主C", epc.c)) { part.m_nMainContrast = epc.c.val; maid.Parts.SetPartsColor(pcEnum, part); epc.SetParts(part); } if (part.m_nShadowContrast != epc.shadowC.val) { epc.shadowC.Set(part.m_nShadowContrast); } if (sliderHelper.DrawValueSlider("影C", epc.shadowC)) { part.m_nShadowContrast = epc.shadowC.val; maid.Parts.SetPartsColor(pcEnum, part); epc.SetParts(part); } if (sliderHelper.DrawColorSlider("主色", ref epc.main, SliderHelper.DEFAULT_PRESET, ref epc.mainExpand, epc.mainPicker)) { epc.ReflectMain(); maid.Parts.SetPartsColor(pcEnum, epc.parts); } if (sliderHelper.DrawColorSlider("影色", ref epc.shadow, SliderHelper.DEFAULT_PRESET, ref epc.shadowExpand, epc.shadowPicker)) { epc.ReflectShadow(); maid.Parts.SetPartsColor(pcEnum, epc.parts); } } } finally { GUI.EndScrollView(); } } finally { GUILayout.EndVertical(); } }