示例#1
0
    void SpecialFX(itemType i, DressManager dm, UndoInfo fs)
    {
        int         l   = PlayerPrefs.GetInt("Lang");
        ColorPicker cpa = dm.cpa;
        string      key = i.ToString().Substring(0, 2);

        switch (i)
        {
        case itemType.BNry:
            Binary b = Camera.main.gameObject.GetComponent <Binary>();
            if (!isEquipped())
            {
                dm.x.onClick.AddListener(() =>
                {
                    dm.fm.Remove("BN");
                });
            }
            else
            {
                Color c0 = b.color0, c1 = b.color1;
                float alpha = b.Opacity;
                dm.x.onClick.AddListener(() =>
                {
                    b.color0  = c0;
                    b.color1  = c1;
                    b.Opacity = alpha;
                    b.updateColor();
                });
            }
            cpa.Color = b.color1;
            cpa.Reset();



            Iris lr3 = cpa.getLeftRight();
            TurnCanvas(lr3.transform, true);
            string light, dark;
            switch (l)
            {
            case 1:
                //chinese
                light = "光"; dark = "黑暗";
                break;

            case 2:
                //ja
                light = "光"; dark = "闇";
                break;

            case 3:
                //rus
                light = "легкий"; dark = "темно";
                break;

            case 4:
                light = "ligero"; dark = "oscuro";
                break;

            case 5:
                //thai
                light = "สีอ่อน"; dark = "สีเข้ม";
                break;

            case 6:
                light = "lumière"; dark = "foncé";
                break;

            default:
                //english
                light = "light"; dark = "dark";
                break;
            }


            lr3.fillButtons(light, dark,
                            () => { b.color1 = cpa.Color; b.updateColor(); },
                            () => { b.color0 = cpa.Color; b.updateColor(); }
                            );

            Slider s = getOpacitySlider(cpa.transform);
            s.value = b.Opacity;
            s.onValueChanged.AddListener((float val) =>
            {
                b.Opacity = val;
                b.updateColor();
            });


            dm.x.onClick.AddListener(() =>
            {
                s.gameObject.SetActive(false);
                lr3.gameObject.SetActive(false);
                TurnCanvas(lr3.transform, false);
            });

            b.enabled = true;
            lr3.setListeners();


            break;

        case itemType.BMlm:
            Bloom    bl = Camera.main.gameObject.GetComponent <Bloom>();
            Slider[] t  = getSliders(cpa);
            t[0].onValueChanged.RemoveAllListeners();
            t[1].onValueChanged.RemoveAllListeners();


            if (!isEquipped())
            {
                dm.x.onClick.AddListener(() =>
                {
                    dm.fm.Remove("BM");
                });
            }
            else
            {
                float intensity = bl.intensity;
                float radius    = bl.radius;
                dm.x.onClick.AddListener(() =>
                {
                    bl.intensity = intensity;
                    bl.radius    = radius;
                    bl.UpdateParam();
                });
            }

            float ratio  = 0.3f;
            float ratio2 = 6f;
            // 20- 48

            Image  oneI   = t[0].transform.GetChild(1).GetComponent <Image>();
            Sprite before = oneI.sprite;
            oneI.sprite = Resources.Load <Sprite>("random");
            oneI.rectTransform.sizeDelta = Vector2.one * 64;
            t[0].value = (bl.radius - 1) / ratio2;
            t[1].value = bl.intensity / ratio;


            dm.x.onClick.AddListener(() =>
            {
                t[1].transform.parent.gameObject.SetActive(false);
                oneI.sprite = before;
                oneI.rectTransform.sizeDelta = Vector2.one * 80.99f;
            });

            t[0].onValueChanged.AddListener((float val) =>
            {
                val       = val / 2 + 0.5f;
                bl.radius = val * ratio2 + 1;
                bl.UpdateParam();
            });
            t[1].onValueChanged.AddListener((float val) =>
            {
                val          = val / 2 + 0.5f;
                bl.intensity = val * ratio;
                bl.UpdateParam();
            });
            dm.colorPick(fs, i, transform.GetChild(0).gameObject);
            bl.enabled = true;
            return;

        case itemType.RPamp:
            Ramp r = Camera.main.gameObject.GetComponent <Ramp>();
            if (!isEquipped())
            {
                dm.x.onClick.AddListener(() =>
                {
                    dm.fm.Remove("RP");
                });
                cpa.Color = Color.blue;
            }
            else
            {
                cpa.Color = r.FirstColor;
                Color c0 = r.FirstColor, c1 = r.SecondColor;
                float a = r._opacity;
                dm.x.onClick.AddListener(() =>
                {
                    r.FirstColor  = c0;
                    r.SecondColor = c0;
                    r._opacity    = a;
                    r.updateColors();
                });
            }



            Iris lr2 = cpa.getLeftRight();
            TurnCanvas(lr2.transform, true);

            string bo, to;
            switch (l)
            {
            case 1:
                //chinese
                bo = "降低"; to = "上";
                break;

            case 2:
                //ja
                bo = "低い"; to = "アッパー";
                break;

            case 3:
                //rus
                bo = "ниже"; to = "Вверх";
                break;

            case 4:
                bo = "inferior"; to = "superior";
                break;

            case 5:
                //thai
                bo = "โคน"; to = "ด้านบน";
                break;

            case 6:
                bo = "inférieur"; to = "supérieur";
                break;

            default:
                //english
                bo = "bottom"; to = "top";
                break;
            }



            lr2.fillButtons(bo, to,
                            () => { r.FirstColor = cpa.Color; r.updateColors(); },
                            () => { r.SecondColor = cpa.Color; r.updateColors(); }
                            );

            Slider s2 = getOpacitySlider(cpa.transform);
            s2.value = r._opacity;
            s2.onValueChanged.AddListener((float val) =>
            {
                r._opacity = val;
                r.updateColors();
            });

            dm.x.onClick.AddListener(() =>
            {
                s2.gameObject.SetActive(false);
                lr2.gameObject.SetActive(false);
                TurnCanvas(lr2.transform, false);
            });


            cpa.Reset();
            lr2.setListeners();

            r.enabled = true;


            break;

        case itemType.CXolor:
            ColorFX fx = Camera.main.gameObject.GetComponent <ColorFX>();
            if (!isEquipped())
            {
                dm.x.onClick.AddListener(() =>
                {
                    dm.fm.Remove("CX");
                });
                cpa.Color = new Color(0.4f, 0.4f, 0.4f, 1);
            }
            else
            {
                cpa.Color = fx.color;
                Color prev = fx.color;
                dm.x.onClick.AddListener(() =>
                {
                    fx.color = prev;
                    fx.updateColor();
                });
            }
            cpa.Reset();
            cpa.clearUpdateColor();
            cpa.UpdateColorAction += () => { fx.color = cpa.Color; fx.updateColor(); };


            Slider s3 = getOpacitySlider(cpa.transform);
            TurnCanvas(s3.transform, true);
            s3.value = fx.Amount;
            s3.onValueChanged.AddListener((float val) =>
            {
                fx.Amount = val;
                fx.updateColor();
            });

            dm.x.onClick.AddListener(() =>
            {
                s3.gameObject.SetActive(false);
                TurnCanvas(s3.transform, false);
            });

            fx.enabled = true;
            break;



        case itemType.wdEluxeScript:

            if (!isEquipped())
            {
                dm.x.onClick.AddListener(() =>
                {
                    dm.fm.XtraStuff.Remove(key);
                    Destroy(dm.fm.transform.Find(key).gameObject);
                });
            }
            else
            {
                cpa.Color = fs.set.color;
                cpa.Reset();
            }
            break;

        case itemType.wfFallScript:

            if (!isEquipped())
            {
                dm.x.onClick.AddListener(() =>
                {
                    dm.fm.XtraStuff.Remove(key);
                    Destroy(dm.fm.transform.Find(key).gameObject);
                });
            }
            else
            {
                cpa.Color = fs.set.GetComponent <WaterfallScript>().LightColor;
                cpa.Reset();
            }
            break;

        case itemType.FRGradient:
            FourGradient fg;

            bool e = isEquipped();
            if (!e)
            {
                dm.fm.bangs.GetComponent <SoftMask>().enabled = false;
                dm.fm.bangs.transform.GetChild(0).gameObject.SetActive(false);
                fg = dm.fm.bangs.gameObject.AddComponent <FourGradient>();
                dm.fm.hair.material = dm.fm.bangs.materialForRendering;
                dm.x.onClick.AddListener(() =>
                {
                    dm.fm.Remove(key);
                });
            }
            else
            {
                fg = dm.fm.bangs.gameObject.GetComponent <FourGradient>();

                cpa.Color = fg._Color1;
                Color c0 = fg._Color1, c1 = fg._Color2, c2 = fg._Color3, c3 = fg._Color4;
                float o = fg.opacity;
                dm.x.onClick.AddListener(() =>
                {
                    fg._Color1 = c0; fg._Color2 = c1; fg._Color3 = c2; fg._Color4 = c3;
                    fg.opacity = o;
                    fg.updateParams();
                });
            }
            Iris lr4 = cpa.getLeftRight();
            TurnCanvas(lr4.transform, true);

            string bo2, to2, bo3, to3;     //t l, t r, b l , b r
            switch (l)
            {
            case 1:
            case 2:
                bo2 = "左上"; to2 = "右上"; bo3 = "左下"; to3 = "右下";
                break;

            case 3:
                //rus
                bo2 = "верхний левый"; to2 = "правом верхнем"; bo3 = "Нижняя левая"; to3 = "внизу справа";
                break;

            case 4:
                bo2 = "izquierda superior"; to2 = "derecha superior"; bo3 = "izquierda inferior"; to3 = "derecha inferior";
                //spansih
                break;

            case 5:
                //thai
                bo2 = "บนซ้าย"; to2 = "ด้านบนขวา"; bo3 = "ล่างซ้าย"; to3 = "ล่างขวา";
                break;

            case 6:
                bo2 = "haut gauche"; to2 = "haut droite"; bo3 = "bas gauche"; to3 = "bas droite";

                break;

            default:
                //english
                bo2 = "top left"; to2 = "top right"; bo3 = "bottom left"; to3 = "bottom right";
                break;
            }



            lr4.fillButtons(bo2, to2,
                            () =>
            {
                fg._Color1 = cpa.Color; fg.updateSingleParam(1);
            },
                            () =>
            {
                fg._Color2 = cpa.Color; fg.updateSingleParam(2);
            }
                            );

            lr4.fill2MoreButtons(bo3, to3,
                                 () =>
            {
                fg._Color3 = cpa.Color; fg.updateSingleParam(3);
            },
                                 () =>
            {
                fg._Color4 = cpa.Color; fg.updateSingleParam(4);
            },
                                 dm.x, e ? lr4.transform.parent.GetChild(0).GetComponent <Button>() : null
                                 );

            Slider sFG = getOpacitySlider(cpa.transform);
            sFG.value = fg.opacity;
            sFG.onValueChanged.AddListener((float val) =>
            {
                fg.opacity = val * 0.9f; fg.updateParams();
            });

            dm.x.onClick.AddListener(() =>
            {
                sFG.gameObject.SetActive(false);
                lr4.gameObject.SetActive(false);
                TurnCanvas(lr4.transform, false);
            });


            cpa.Reset();

            lr4.setListeners();
            break;
        }

        cpa.gameObject.SetActive(true);
        dm.colorPick(fs, i, transform.GetChild(0).gameObject);
    }
示例#2
0
    public override void OnInspectorGUI()
    {
        m_object.Update();
        DrawDefaultInspector();

        ColorFX _2dxScript = (ColorFX)target;

        //Texture2D icon = Resources.Load ("2dxfxinspector") as Texture2D;
        //if (icon)
        //{
        //	Rect r;
        //	float ih=icon.height;
        //	float iw=icon.width;
        //	float result=ih/iw;
        //	float w=Screen.width;
        //	result=result*w;
        //	r = GUILayoutUtility.GetRect(ih, result);
        //	EditorGUI.DrawTextureTransparent(r,icon);
        //}

        EditorGUILayout.PropertyField(m_object.FindProperty("ActiveUpdate"), new GUIContent("Active Update", "Active Update, for animation / Animator only"));
        EditorGUILayout.PropertyField(m_object.FindProperty("ForceMaterial"), new GUIContent("Shared Material", "Use a unique material, reduce drastically the use of draw call"));

        if (_2dxScript.ForceMaterial == null)
        {
            _2dxScript.ActiveChange = true;
        }
        else
        {
            if (GUILayout.Button("Remove Shared Material"))
            {
                _2dxScript.ForceMaterial = null;
                _2dxScript.ShaderChange  = 1;
                _2dxScript.ActiveChange  = true;
                _2dxScript.CallUpdate();
            }

            EditorGUILayout.PropertyField(m_object.FindProperty("ActiveChange"), new GUIContent("Change Material Property", "Change The Material Property"));
        }

        if (_2dxScript.ActiveChange)
        {
            EditorGUILayout.BeginVertical("Box");


            Texture2D icone = Resources.Load("2dxfx-icon-color") as Texture2D;
            EditorGUILayout.PropertyField(m_object.FindProperty("_Color"), new GUIContent("Change into Color", icone, "To the sprite into the selected color"));



            EditorGUILayout.BeginVertical("Box");

            icone = Resources.Load("2dxfx-icon-fade") as Texture2D;
            EditorGUILayout.PropertyField(m_object.FindProperty("_Alpha"), new GUIContent("Fading", icone, "Fade from nothing to showing"));

            EditorGUILayout.EndVertical();
            EditorGUILayout.EndVertical();
        }

        m_object.ApplyModifiedProperties();
    }
示例#3
0
    public void Save(TMP_InputField t, int n, int overwrite = -1)
    {
        n = (overwrite == -1) ? getNext() : n;
        DressManager dm = transform.root.GetComponent <DressManager>();

        dm.load.startLoading(true);


        string num = n.ToString();
        string key = "SAVE" + num;

        if (overwrite == -1)
        {
            Debug.LogWarning("saving at " + key);
            PlayerPrefs.SetString(key, t.text);
        }


        //save all face things with key + "face", key + "bh"; etc



        foreach (var i in Enum.GetValues(typeof(itemType)))
        {
            itemType it      = (itemType)i;
            string   keyItem = i.ToString().Substring(0, 2);
            if (keyItem == "CH")
            {
                Vector2 chin = dm.fm.skin[8].rectTransform.sizeDelta;
                PlayerPrefs.SetString(num + keyItem, chin.y + "");
                continue;
            }
            else if (keyItem == "BY")
            {
                Vector2 body = dm.fm.skin[4].rectTransform.sizeDelta;
                PlayerPrefs.SetString(num + keyItem, body.x + "|" + body.y);
                continue;
            }
            else if (keyItem == "HD")
            {
                Vector2 head = dm.fm.skin[1].rectTransform.sizeDelta;
                PlayerPrefs.SetString(num + keyItem, head.x + "|" + head.y);
                continue;
            }
            if (dm.fm.XtraStuff.ContainsKey(keyItem))
            {
                string colors;
                string name;
                if (dm.fm.XtraStuff[keyItem] != null && dm.fm.XtraStuff[keyItem].sprite != null)
                {
                    name = dm.fm.XtraStuff[keyItem].sprite.name;
                }
                else
                {
                    name = " ";
                }
                if (it == itemType.bg)
                {
                    Color32 tempC = Camera.main.backgroundColor;
                    colors = tempC.r + "," + tempC.g + "," + tempC.b;
                    if (name != " " && name[2] == 'p')
                    {
                        tempC   = dm.fm.XtraStuff[keyItem].color;
                        colors += "|" + tempC.r + "," + tempC.g + "," + tempC.b;
                    }
                }
                else if (it == itemType.GXlitch)
                {
                    Glitch g = Camera.main.GetComponent <Glitch>();
                    colors = g.colorDrift + "|" + g.verticalJump;
                }
                else if (it == itemType.CXolor)
                {
                    ColorFX g     = Camera.main.GetComponent <ColorFX>();
                    Color32 tempC = g.color;
                    colors = tempC.r + "," + tempC.g + "," + tempC.b + "|" + g.Amount;
                }
                else if (it == itemType.BNry)
                {
                    Binary  g      = Camera.main.GetComponent <Binary>();
                    Color32 tempC  = g.color0;
                    Color32 tempC2 = g.color1;
                    colors = tempC.r + "," + tempC.g + "," + tempC.b + "|" + tempC2.r + "," + tempC2.g + "," + tempC2.b + "|" + g.Opacity;
                }
                else if (it == itemType.RPamp)
                {
                    Ramp    g      = Camera.main.GetComponent <Ramp>();
                    Color32 tempC  = g.FirstColor;
                    Color32 tempC2 = g.SecondColor;
                    colors = tempC.r + "," + tempC.g + "," + tempC.b + "|" + tempC2.r + "," + tempC2.g + "," + tempC2.b + "|" + g._opacity;
                }
                else if (it == itemType.BMlm)
                {
                    Bloom g = Camera.main.GetComponent <Bloom>();
                    colors = g.intensity + "|" + g.radius;
                }
                else
                {
                    Color32 tempC;
                    if (keyItem.ToLower() == "pa")
                    {
                        Transform ps = GameObject.FindGameObjectWithTag("Finish").transform.Find(it.ToString());
                        if (ps == null)
                        {
                            continue;
                        }
                        tempC  = ps.GetComponent <ParticleSystem>().main.startColor.colorMin;
                        colors = tempC.r + "," + tempC.g + "," + tempC.b;
                    }
                    else if (keyItem == "wf")
                    {
                        tempC  = dm.fm.XtraStuff[keyItem].GetComponent <WaterfallScript>().LightColor;
                        colors = tempC.r + "," + tempC.g + "," + tempC.b;
                    }
                    else if (keyItem == "FR")
                    {
                        FourGradient fg = dm.fm.bangs.GetComponent <FourGradient>();
                        tempC   = fg._Color1;
                        colors  = tempC.r + "," + tempC.g + "," + tempC.b + "|";
                        tempC   = fg._Color2;
                        colors += tempC.r + "," + tempC.g + "," + tempC.b + "|";
                        tempC   = fg._Color3;
                        colors += tempC.r + "," + tempC.g + "," + tempC.b + "|";
                        tempC   = fg._Color4;
                        colors += tempC.r + "," + tempC.g + "," + tempC.b + "|";
                        colors += fg.opacity.ToString();
                    }
                    else
                    {
                        tempC = dm.fm.XtraStuff[keyItem].color;

                        colors = tempC.r + "," + tempC.g + "," + tempC.b;

                        if (keyItem == "bh")
                        {
                            Vector2 size = dm.fm.XtraStuff[keyItem].rectTransform.sizeDelta;
                            colors += "|" + size.x + "," + size.y;
                        }
                        else if (keyItem == "b_")
                        {
                            Vector2 size = dm.fm.XtraStuff[keyItem].rectTransform.sizeDelta;
                            colors += "|" + size.x + "," + size.y;
                        }
                        else if (keyItem == "l_")
                        {
                            Vector2 size = dm.fm.XtraStuff[keyItem].rectTransform.sizeDelta;
                            colors += "|" + size.x + "," + size.y + "|" + dm.fm.VertLip;
                        }
                        else if (keyItem == "eb")
                        {
                            colors += "|" + dm.fm.XtraStuff[keyItem].rectTransform.eulerAngles.z + "|" + dm.fm.VertEB;
                        }
                        else if (keyItem == "e_")
                        {
                            RectTransform r = dm.fm.XtraStuff[keyItem].rectTransform;
                            colors += "|" + r.sizeDelta.x + "," + r.sizeDelta.y + "|" + r.eulerAngles.z;
                        }
                        else if (keyItem == "ey")
                        {
                            RectTransform r2 = dm.fm.skin[5].rectTransform;
                            colors += "|" + r2.anchoredPosition.y + "|" + r2.eulerAngles.z;
                        }

                        else if (dm.fm.XtraStuff.ContainsKey(keyItem + "2"))
                        {
                            Image im2 = dm.fm.XtraStuff[keyItem + "2"];
                            if (im2 != null)
                            {
                                tempC   = im2.color;
                                colors += "|" + tempC.r + "," + tempC.g + "," + tempC.b;
                                if (keyItem == "ir")
                                {
                                    colors += "|" + dm.fm.leftE[1].rectTransform.sizeDelta.x + "," + dm.fm.leftE[1].rectTransform.sizeDelta.y;
                                }//iris.sizeDelta = new Vector2(120.2f + ratio * val, 107.8f + ratio * val);
                            }
                        }
                    }
                }

                string val = name + "|" + colors;
                PlayerPrefs.SetString(num + keyItem, val);
                Debug.LogWarning("save" + num + keyItem + " as: " + val);
            }
        }
        PlayerPrefs.SetFloat(num + "HE", dm.fm.HorzEye);
        PlayerPrefs.SetFloat(num + "VE", dm.fm.VertEye);
        PlayerPrefs.SetFloat(num + "VN", dm.fm.VertNose);
        PlayerPrefs.SetFloat(num + "SN", dm.fm.skin[0].rectTransform.sizeDelta.y - 304);
        // fs.set.rectTransform.sizeDelta = new Vector2(349 + ratio2 * val, 304 + ratio2 * val);
        //    public float HorzEye, VertEye, VertNose, noseSize
        //   Color32 c = dm.fm.leftE[1].color;
        // PlayerPrefs.SetString(num + "lI", c.r + "," + c.g + "," + c.b);
        // c = dm.fm.rightE[1].color;
        // PlayerPrefs.SetString(num + "rI", c.r + "," + c.g + "," + c.b);
        // c = dm.fm.leftE[0].color;
        // PlayerPrefs.SetString(num + "W", c.r + "," + c.g + "," + c.b);
        // c = dm.fm.rightE[0].color;
        // PlayerPrefs.SetString(num + "Wr", c.r + "," + c.g + "," + c.b);
        Color32 c = dm.fm.skin[1].color;

        PlayerPrefs.SetString(num + "S", c.r + "," + c.g + "," + c.b);


        /*
         *
         * hm.set = leftE[1];
         *              hm.set2 = rightE[1];
         *              hm.before = hm.set.sprite;
         *              break;
         *          case "whites":
         *              hm.set = leftE[0];
         *              hm.set2 = rightE[0];
         */



        if (overwrite == -1)
        {
            Button b = InstantiateButton(PlayerPrefs.GetString(key), n);

            Color32    prev = new Color32((byte)PlayerPrefs.GetInt("themeR"), (byte)PlayerPrefs.GetInt("themeG"), (byte)PlayerPrefs.GetInt("themeB"), 255);
            ColorBlock cb   = b.colors;
            cb.normalColor   = prev;
            cb.disabledColor = prev;
            b.colors         = cb;

            setNext(n);
        }
        PlayerPrefs.Save();
        dm.load.StopLoading();
    }