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); }
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(); }
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(); }