Exemplo n.º 1
0
        private void ShowWindow(int id)
        {
            try
            {
                if (Event.current.type == EventType.MouseDown)
                {
                    GUI.FocusWindow(wid);

                    CamCtrl.windowdragflag = true;
                }
                else if (Event.current.type == EventType.MouseUp)
                {
                    CamCtrl.windowdragflag = false;
                }
                var human = FindObjectOfType <Human>();
                if (human != null && human.sex == SEX.FEMALE)
                {
                    GUIX.BeginHorizontal();
                    if (GUIX.Button("store"))
                    {
                        for (int i = 0; i < LEN; i++)
                        {
                            store[i] = human.head.GetShape(i);
                        }
                    }
                    if (GUIX.Button("reset"))
                    {
                        for (int i = 0; i < LEN; i++)
                        {
                            human.head.SetShape(i, store[i]);
                        }
                    }
                    range = GUIX.Range(range);
                    if (GUIX.Button("random"))
                    {
                        var r = new Random();
                        for (int i = 0; i < LEN; i++)
                        {
                            if (enabled[i])
                            {
                                var delta = r.Next(-range, range);
                                var v     = store[i] + delta / 100.0f;
                                human.head.SetShape(i, v);
                            }
                        }
                    }
                    GUIX.EndHorizontal();

                    GUIX.BeginScrollView();
                    var typeIdx = 0;
                    for (int i = 0; i < LEN; i++)
                    {
                        if (i == typePos[typeIdx])
                        {
                            GUIX.BeginHorizontal();
                            GUIX.Label(typeName[typeIdx]);
                            var allEnabled = true;
                            for (int j = i; j < typePos[typeIdx + 1]; j++)
                            {
                                if (enabled[j] == false)
                                {
                                    allEnabled = false;
                                }
                            }
                            var res = GUIX.Toggle(allEnabled, "");
                            if (res != allEnabled)
                            {
                                for (int j = i; j < typePos[typeIdx + 1]; j++)
                                {
                                    enabled[j] = res;
                                }
                            }
                            GUIX.EndHorizontal();
                            typeIdx++;
                        }
                        GUIX.BeginHorizontal();
                        var key   = SEXY.CharDefine.cf_headshapename[i];
                        var value = human.head.GetShape(i) * 100;
                        GUIX.Label((i + 1).ToString());
                        GUIX.Label(key, 2);
                        GUIX.Label(value.ToString("0"));
                        if (GUIX.Button("<<"))
                        {
                            value -= 10.0f;
                            human.head.SetShape(i, value / 100.0f);
                        }
                        if (GUIX.Button("<"))
                        {
                            value -= 1.0f;
                            human.head.SetShape(i, value / 100.0f);
                        }
                        if (GUIX.Button(">"))
                        {
                            value += 1.0f;
                            human.head.SetShape(i, value / 100.0f);
                        }
                        if (GUIX.Button(">>"))
                        {
                            value += 10.0f;
                            human.head.SetShape(i, value / 100.0f);
                        }
                        enabled[i] = GUIX.Toggle(enabled[i], "");

                        GUIX.EndHorizontal();
                    }
                    GUIX.EndScrollView();
                }
            }
            catch (Exception e)
            {
                Tracer.Log(e);
            }
        }