Esempio n. 1
0
    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");
    }
Esempio n. 2
0
    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;
        }
    }