public static void Init(Vector2 pos) { // Get existing open window or if none, make a new one: //~ (TestEditor)EditorWindow.GetWindow(typeof (TestEditor)); window = (DmgTypeEditor)EditorWindow.GetWindow(typeof (DmgTypeEditor)); window.minSize=new Vector2(300, 150); window.maxSize=window.minSize+new Vector2(1, 0); window.position=new Rect(pos.x-150, pos.y-75, 300, 150); //~ Debug.Log(window.position); //~ window.maxSize=window.minSize+new Vector2(2, 2); //~ window.maxSize=new Vector2(310, 160); //~ Debug.Log("init"); }
public static void Init(Vector2 pos) { // Get existing open window or if none, make a new one: //~ (TestEditor)EditorWindow.GetWindow(typeof (TestEditor)); lastPos = pos; window = (DmgTypeEditor)EditorWindow.GetWindow(typeof(DmgTypeEditor)); window.minSize = new Vector2(300, 150); window.maxSize = window.minSize + new Vector2(1, 0); window.position = new Rect(pos.x - 150, pos.y - 75, 300, 150); //~ Debug.Log(window.position); //~ window.maxSize=window.minSize+new Vector2(2, 2); //~ window.maxSize=new Vector2(310, 160); //~ Debug.Log("init"); }
void OnGUI() { if (window == null) { Init(); } //~ Debug.Log(Event.current.mousePosition); if (GUI.Button(new Rect(window.position.width - 110, 10, 100, 30), "Save")) { SaveToXML(); } if (GUI.Button(new Rect(10, 10, 100, 30), "New Armor")) { ArmorTypeEditor.newArmor = true; ArmorTypeEditor.armorType = new ArmorType(); Vector2 pos = new Vector2(window.position.x, window.position.y); ArmorTypeEditor.Init(Event.current.mousePosition + pos); } if (GUI.Button(new Rect(120, 10, 100, 30), "New Damage")) { DmgTypeEditor.newDmg = true; DmgTypeEditor.dmgType = new DamageType(); Vector2 pos = new Vector2(window.position.x, window.position.y); DmgTypeEditor.Init(Event.current.mousePosition + pos); } GUI.skin.label.alignment = TextAnchor.MiddleLeft; GUI.Label(new Rect(10, 100, 50, 20), "Armor"); GUI.Label(new Rect(90, 50, 55, 20), "Damage"); GUI.skin.button.alignment = TextAnchor.MiddleCenter; GUI.skin.textField.alignment = TextAnchor.MiddleLeft; int startX = 160; int startY = 70; int spaceY = 30; int height = 20; //~ startY+=10; //~ startX=30; for (int n = 0; n < damageNumber; n++) { if (n < dmgTypes.Count) { //Debug.Log(dmgTypes[n].name); GUI.skin.label.alignment = TextAnchor.MiddleCenter; GUI.Label(new Rect(startX, startY - 20, 50, 20), n.ToString()); GUI.Label(new Rect(startX, startY, 50, 20), dmgTypes[n].name); if (GUI.Button(new Rect(startX, startY + 25, 50, 20), "Edit")) { DmgTypeEditor.newDmg = false; DmgTypeEditor.dmgType = dmgTypes[n]; Vector2 pos = new Vector2(window.position.x, window.position.y); DmgTypeEditor.Init(Event.current.mousePosition + pos); } startX += 60; } } startX = 30; startY += 55; for (int i = 0; i < armorTypes.Count; i++) { //Debug.Log(armorTypes[i].name); GUI.skin.label.alignment = TextAnchor.MiddleLeft; GUI.Label(new Rect(startX - 20, startY, 60, 20), i.ToString()); GUI.skin.label.alignment = TextAnchor.MiddleRight; GUI.Label(new Rect(startX, startY, 65, 20), armorTypes[i].name); if (GUI.Button(new Rect(startX + 70, startY, 50, 20), "Edit")) { ArmorTypeEditor.newArmor = false; ArmorTypeEditor.armorType = armorTypes[i]; Vector2 pos = new Vector2(window.position.x, window.position.y); ArmorTypeEditor.Init(Event.current.mousePosition + pos); } startX += 130; for (int j = 0; j < damageNumber; j++) { if (j >= armorTypes[i].modifiers.Count) { armorTypes[i].modifiers.Add(1f); } armorTypes[i].modifiers[j] = EditorGUI.FloatField(new Rect(startX, startY, 50, height), armorTypes[i].modifiers[j]); startX += 60; } startY += spaceY; startX = 30; } }