public void MatchWindowState(ParamCharaController controller)
 {
     ChaFileDefine.CoordinateType    coordinate = controller.GetNowCoordinate();
     ParamCharaController.ParamsKind kind       = controller.GetNowBustWear();
     coordinateSelect.Select(coordinate);
     kindSelect.Select(kind);
 }
 public ControllerWindow(int windowID, int s_dialogID, int toolsWindowId)
 {
     _controller    = null;
     _s_dialogID    = s_dialogID;
     _windowID      = windowID;
     _toolsWindowId = toolsWindowId;
     InitGUI();
 }
Exemplo n.º 3
0
        public bool Draw(ParamCharaController controller)
        {
            bool           changedEnabled = false;
            bool           changedParams  = false;
            ParamHipCustom param          = controller.paramCustom.paramHip;

            //Enabled
            GUI.skin.label.fontSize = 12;
            changedEnabled          = enabled.Draw(ref param.enabled, Style.ToggleMiddle);
            GUILayout.Space(Style.defaultSpace);

            //Gravity
            changedParams = changedParams | gravity.Draw(ref param.gravity);

            /*Hip1
             * GUILayout.Label(ParamHipCustom.Bones[0], Style.LabedMiddle);
             * changedParams = changedParams | irc01.Draw(ref param.paramBones[ParamHipCustom.Bones[0]].IsRotationCalc);
             * changedParams = changedParams | damping01.Draw(ref param.paramBones[ParamHipCustom.Bones[0]].Damping);
             * changedParams = changedParams | elasticity01.Draw(ref param.paramBones[ParamHipCustom.Bones[0]].Elasticity);
             * changedParams = changedParams | stiffness01.Draw(ref param.paramBones[ParamHipCustom.Bones[0]].Stiffness);
             * changedParams = changedParams | inert01.Draw(ref param.paramBones[ParamHipCustom.Bones[0]].Inert);
             */

            //Hip2
            GUILayout.Label(ParamHipCustom.Bones[1], Style.LabedMiddleSubject);
            GUILayout.Space(Style.defaultSpace);
            GUI.skin.label.fontSize = 12;

            changedParams = changedParams | irc02.Draw(ref param.paramBones[ParamHipCustom.Bones[1]].IsRotationCalc);
            changedParams = changedParams | damping02.Draw(ref param.paramBones[ParamHipCustom.Bones[1]].Damping);
            changedParams = changedParams | elasticity02.Draw(ref param.paramBones[ParamHipCustom.Bones[1]].Elasticity);
            changedParams = changedParams | stiffness02.Draw(ref param.paramBones[ParamHipCustom.Bones[1]].Stiffness);
            changedParams = changedParams | inert02.Draw(ref param.paramBones[ParamHipCustom.Bones[1]].Inert);
            GUILayout.Space(Style.defaultSpace);

            if (changedEnabled)
            {
                controller.changedInfo.SetInfo(ChaFileDefine.CoordinateType.School01, ParamCharaController.ParamsKind.Hip, true, false);
            }
            else if (changedParams)
            {
                controller.changedInfo.SetInfo(ChaFileDefine.CoordinateType.School01, ParamCharaController.ParamsKind.Hip, false, true);
            }
            return(changedParams | changedEnabled);
        }
Exemplo n.º 4
0
        public bool Draw(ParamCharaController controller, GUIStyle style = null)
        {
            if (style == null)
            {
                style = Skin.defaultSkin.toggle;
            }

            bool changed = false;

            bool newValue = GUILayout.Toggle(controller.Enabled, _text, style);

            if (newValue != controller.Enabled)
            {
                changed            = true;
                controller.Enabled = newValue;
            }
            return(changed);
        }
Exemplo n.º 5
0
        private bool OnPresetSelected(PresetSelect presetSelect)
        {
            ParamCharaController controller = _parent.GetSelectedController();

            ChaFileDefine.CoordinateType    coordinate = _parent.GetSelectedCoordinate();
            ParamCharaController.ParamsKind kind       = _parent.GetSelectedParamsKind();
            string xmlPath = presetSelect.GetSelectedFilePath();

            switch (_parent.GetSelectedParamsKind())
            {
            case ParamCharaController.ParamsKind.Naked:
                if (!XMLPresetIO.LoadXMLBust(controller.paramCustom.paramBustNaked, xmlPath))
                {
                    return(false);
                }
                break;

            case ParamCharaController.ParamsKind.Bra:
                if (!XMLPresetIO.LoadXMLBust(controller.paramCustom.paramBust[coordinate][kind], xmlPath))
                {
                    return(false);
                }
                break;

            case ParamCharaController.ParamsKind.Tops:
                if (!XMLPresetIO.LoadXMLBust(controller.paramCustom.paramBust[coordinate][kind], xmlPath))
                {
                    return(false);
                }
                break;

            case ParamCharaController.ParamsKind.Hip:
                if (!XMLPresetIO.LoadXMLHip(controller.paramCustom.paramHip, xmlPath))
                {
                    return(false);
                }
                break;

            default:
                break;
            }
            controller.changedInfo.SetInfo(coordinate, kind, false, true, false);
            return(true);
        }
Exemplo n.º 6
0
        public bool Draw(ParamCharaController controller, ChaFileDefine.CoordinateType coordinate, ParamCharaController.ParamsKind kind)
        {
            if (controller.paramCustom == null)
            {
                return(false);
            }

            //ParamBustCustom param
            ParamBustCustom param = null;

            if (kind == ParamCharaController.ParamsKind.Naked)
            {
                param = controller.paramCustom.paramBustNaked;
            }
            else if (kind == ParamCharaController.ParamsKind.Bra || kind == ParamCharaController.ParamsKind.Tops)
            {
                param = controller.paramCustom.paramBust[coordinate][kind];
            }
            else
            {
                return(false);
            }

            bool changedEnabled = false;
            bool changedParam   = false;

            //Enabled
            changedEnabled = enabled.Draw(ref param.enabled, Style.ToggleMiddle);

            //GUILayout.Label("Parameters", Style.LabedMiddleSubject);

            GUILayout.Space(Style.defaultSpace);

            changedParam = changedParam | gravity.Draw(ref param.gravity);

            /*Bust01
             * GUILayout.Label(ParamBustCustom.Bones[0],Style.LabedMiddle);
             * irc01.Draw(); //If IsRotationCalc of Bust01 changed, bust animation is broken.
             * changedParam = changedParam | damping01.Draw(ref param.paramBones[ParamBustCustom.Bones[0]].Damping);
             * changedParam = changedParam | elasticity01.Draw(ref param.paramBones[ParamBustCustom.Bones[0]].Elasticity);
             * changedParam = changedParam | stiffness01.Draw(ref param.paramBones[ParamBustCustom.Bones[0]].Stiffness);
             * changedParam = changedParam | inert01.Draw(ref param.paramBones[ParamBustCustom.Bones[0]].Inert);
             * GUILayout.Space(Style.defaultSpace);
             */

            //Bust02
            GUILayout.Label(ParamBustCustom.Bones[1], Style.LabedMiddleSubject);
            GUILayout.Space(Style.defaultSpace);
            GUI.skin.label.fontSize = 12;
            changedParam            = changedParam | irc02.Draw(ref param.paramBones[ParamBustCustom.Bones[1]].IsRotationCalc);
            changedParam            = changedParam | damping02.Draw(ref param.paramBones[ParamBustCustom.Bones[1]].Damping);
            changedParam            = changedParam | elasticity02.Draw(ref param.paramBones[ParamBustCustom.Bones[1]].Elasticity);
            changedParam            = changedParam | stiffness02.Draw(ref param.paramBones[ParamBustCustom.Bones[1]].Stiffness);
            changedParam            = changedParam | inert02.Draw(ref param.paramBones[ParamBustCustom.Bones[1]].Inert);
            GUILayout.Space(Style.defaultSpace);

            //Bust03
            GUILayout.Label(ParamBustCustom.Bones[2], Style.LabedMiddleSubject);
            GUILayout.Space(Style.defaultSpace);
            GUI.skin.label.fontSize = 12;
            changedParam            = changedParam | irc03.Draw(ref param.paramBones[ParamBustCustom.Bones[2]].IsRotationCalc);
            changedParam            = changedParam | damping03.Draw(ref param.paramBones[ParamBustCustom.Bones[2]].Damping);
            changedParam            = changedParam | elasticity03.Draw(ref param.paramBones[ParamBustCustom.Bones[2]].Elasticity);
            changedParam            = changedParam | stiffness03.Draw(ref param.paramBones[ParamBustCustom.Bones[2]].Stiffness);
            changedParam            = changedParam | inert03.Draw(ref param.paramBones[ParamBustCustom.Bones[2]].Inert);
            GUILayout.Space(Style.defaultSpace);

            if (changedEnabled)
            {
                controller.changedInfo.SetInfo(coordinate, kind, true, false);
            }
            else if (changedParam)
            {
                controller.changedInfo.SetInfo(coordinate, kind, false, true);
            }
            return(changedParam | changedEnabled);
        }
        public void Draw(int windowID)
        {
            bool changedParam = false;

            //Outline
            GUILayout.BeginArea(new Rect(2, 2, WindowRect.width - 4, WindowRect.height - 4), Style.WindowInside);

            //Title
            GUILayout.BeginArea(new Rect(3, 3, WindowRect.width - 10, 20), Style.WindowContents);
            GUILayout.Label("BreastPhysicsController", Style.LabelWindowTitle);
            GUILayout.EndArea();

            //Contents
            GUILayout.BeginArea(new Rect(3, 26, WindowRect.width - 10, WindowRect.height - 33), Style.WindowContents);

            //ListBox for CharacterSelect
            if (charaSelect._show)
            {
                GUILayout.Label("Select one character to control.", Style.LabelLarge);
                charaSelect.Draw();
            }
            else
            {
                //Chara Select
                bool charaChanged = charaSelect.Draw();
                GUILayout.Space(Style.defaultSpace);

                if (charaChanged || _controller == null)
                {
                    _controller = charaSelect.GetSelectedController();
                }

                if (_controller != null)
                {
                    GUILayout.BeginHorizontal();
                    //Enable
                    controllEnable.Draw(_controller, Style.ToggleLarge);
                    GUILayout.EndHorizontal();

                    GUILayout.Space(Style.defaultSpace);

                    if (coordinateSelect._show)
                    {
                        //Coordinate Select
                        GUILayout.Label("Select a coordinate and state.", Style.LabedMiddleSubject);
                        GUILayout.BeginHorizontal();
                        coordinateSelect.Draw();
                        GUILayout.EndHorizontal();
                    }
                    else
                    {
                        //Coordinate Select
                        GUILayout.Label("Select a coordinate and state.", Style.LabedMiddleSubject);
                        GUILayout.BeginHorizontal();
                        coordinateSelect.Draw();
                        if (GUILayout.Button("Match state", styleMatchState))
                        {
                            MatchWindowState(_controller);
                        }
                        GUILayout.EndHorizontal();
                        GUILayout.Space(Style.defaultSpace);

                        //State Select
                        kindSelect.Draw();
                        GUILayout.Space(Style.defaultSpace);

                        //Parameter Editor
                        switch (kindSelect.GetSelected())
                        {
                        case ParamCharaController.ParamsKind.Naked:
                            changedParam = changedParam | editorBust.Draw(_controller, coordinateSelect.GetSelectedCoordinate(), ParamCharaController.ParamsKind.Naked);
                            break;

                        case ParamCharaController.ParamsKind.Bra:
                            changedParam = changedParam | editorBust.Draw(_controller, coordinateSelect.GetSelectedCoordinate(), ParamCharaController.ParamsKind.Bra);
                            break;

                        case ParamCharaController.ParamsKind.Tops:
                            changedParam = changedParam | editorBust.Draw(_controller, coordinateSelect.GetSelectedCoordinate(), ParamCharaController.ParamsKind.Tops);
                            break;

                        case ParamCharaController.ParamsKind.Hip:
                            changedParam = changedParam | editorHip.Draw(_controller);
                            break;

                        default:
                            break;
                        }

                        //Button Load from chara
                        if (GUILayout.Button("Load parameters from chara"))
                        {
                            _controller.LoadParamFromChara(coordinateSelect.GetSelectedCoordinate(), kindSelect.GetSelected());
                        }

                        //Tools
                        if (GUILayout.Button("Tools"))
                        {
                            if (tools._show)
                            {
                                tools.Hide();
                            }
                            else
                            {
                                tools.Show(new Vector2(WindowRect.position.x + 300, WindowRect.position.y + 700));
                            }
                        }
                    }
                }
            }
            GUILayout.EndArea();

            GUILayout.EndArea();

            if (WindowRect.Contains(new Vector2(Input.mousePosition.x, Screen.height - Input.mousePosition.y)) &&
                Event.current.type != EventType.KeyDown && Event.current.type != EventType.KeyUp)
            {
                Input.ResetInputAxes();
            }
            GUI.DragWindow();
        }