Exemple #1
0
    public override void OnInspectorGUI()
    {
        var script = target as ItemData;

        script.itemID = EditorGUILayout.IntField("Item ID", script.itemID);
        EditorFunctionCollections.DrawLine();
        script.itemName = EditorGUILayout.TextField("Item Name", script.itemName);
        EditorGUILayout.LabelField("Item Description:-");
        EditorStyles.textArea.wordWrap = true;
        script.itemDescription         = EditorGUILayout.TextArea(script.itemDescription, EditorStyles.textArea, GUILayout.MaxHeight(45));
        script.mesh = (GameObject)EditorGUILayout.ObjectField("Item Mesh", script.mesh, typeof(GameObject), true);
        EditorFunctionCollections.DrawLine();
        script.itemType = (ItemType)EditorGUILayout.EnumPopup("ItemType", script.itemType);
        switch (script.itemType)
        {
        case ItemType.Weapon:
            script.weaponType = (WeaponType)EditorGUILayout.EnumPopup("Weapon Type", script.weaponType);
            break;

        case ItemType.Armor:
            script.armorSlot = (ArmorSlot)EditorGUILayout.EnumPopup("Armor Slot", script.armorSlot);
            break;

        case ItemType.Potion:
            script.potionType = (PotionType)EditorGUILayout.EnumPopup("Potion Type", script.potionType);
            break;
        }
    }
Exemple #2
0
 private void SkillTreeVisualHandler()
 {
     EditorGUILayout.LabelField("<b><size=15>SKILL TREE</size></b>", richTextStyle);
     EditorGUILayout.Space();
     SkillDataParser();
     EditorFunctionCollections.DrawLine(true, 2f);
     SkillTreeParser();
 }
Exemple #3
0
 public override void OnInspectorGUI()
 {
     script        = target as CharacterData;
     richTextStyle = new GUIStyle(GUI.skin.label)
     {
         richText = true
     };
     EditorStyles.textField.alignment = TextAnchor.MiddleLeft;
     EditorStyles.label.alignment     = TextAnchor.MiddleLeft;
     if (GUILayout.Button("SAVE DATA"))
     {
         SaveData();
     }
     EditorFunctionCollections.DrawLine();
     StatsVisualHandler();
     EditorFunctionCollections.DrawLine();
     AbilitiesVisualHandler();
     EditorFunctionCollections.DrawLine();
     SkillTreeVisualHandler();
     EditorFunctionCollections.DrawLine();
 }
Exemple #4
0
    private void SkillDataParser()
    {
        if (script.skillTree.skillTree != null && script.skillTree.skillTree.Count > 0)
        {
            EditorGUILayout.BeginHorizontal();
            EditorGUILayout.LabelField("<b><size=10>Skill Data Parser</size></b>", richTextStyle, GUILayout.MaxWidth(100));
            selectedSkillTreeIndex = EditorGUILayout.IntSlider(selectedSkillTreeIndex, 0, script.skillTree.skillTree.Count - 1);
            EditorGUILayout.EndHorizontal();
            EditorGUILayout.BeginHorizontal();
            EditorGUILayout.LabelField("Skill ID:", GUILayout.MaxWidth(45), GUILayout.MaxHeight(20));
            script.skillTree.skillTree[selectedSkillTreeIndex].skillID = EditorGUILayout.IntField(script.skillTree.skillTree[selectedSkillTreeIndex].skillID, GUILayout.MaxWidth(30), GUILayout.MaxHeight(20));
            EditorGUILayout.LabelField("", GUILayout.MaxWidth(30), GUILayout.MaxHeight(20));
            EditorGUILayout.LabelField("Skill Name:", GUILayout.MaxWidth(65), GUILayout.MaxHeight(20));
            script.skillTree.skillTree[selectedSkillTreeIndex].skillName = EditorGUILayout.TextField(script.skillTree.skillTree[selectedSkillTreeIndex].skillName, GUILayout.MaxWidth(100), GUILayout.MaxHeight(20));
            EditorGUILayout.EndHorizontal();
            EditorGUILayout.LabelField("Skill Description:-");
            EditorStyles.textArea.wordWrap = true;
            script.skillTree.skillTree[selectedSkillTreeIndex].skillDescription = EditorGUILayout.TextArea(script.skillTree.skillTree[selectedSkillTreeIndex].skillDescription, EditorStyles.textArea, GUILayout.MaxHeight(45));
            EditorGUILayout.BeginHorizontal();
            EditorGUILayout.LabelField("Is Skill Unlocked:", GUILayout.MaxWidth(95), GUILayout.MaxHeight(20));
            script.skillTree.skillTree[selectedSkillTreeIndex].unlocked = EditorGUILayout.Toggle(script.skillTree.skillTree[selectedSkillTreeIndex].unlocked, GUILayout.MaxWidth(20), GUILayout.MaxHeight(20));
            EditorGUILayout.EndHorizontal();
            EditorFunctionCollections.DrawLine(true);
            EditorGUILayout.BeginHorizontal();
            EditorGUILayout.LabelField("Minimum Level Required:", GUILayout.MaxWidth(140), GUILayout.MaxHeight(20));
            script.skillTree.skillTree[selectedSkillTreeIndex].minimumLevel = EditorGUILayout.IntField(script.skillTree.skillTree[selectedSkillTreeIndex].minimumLevel, GUILayout.MaxWidth(30), GUILayout.MaxHeight(20));
            EditorGUILayout.EndHorizontal();
            EditorGUILayout.LabelField("Pre-requisite Skill IDs for unlocking:-");
            EditorGUILayout.BeginHorizontal();
            EditorGUILayout.LabelField("ID", GUILayout.MaxWidth(30), GUILayout.MaxHeight(20));
            EditorGUILayout.LabelField("", GUILayout.MaxWidth(20), GUILayout.MaxHeight(20));
            EditorGUILayout.LabelField("SKILL NAME", GUILayout.MaxWidth(100), GUILayout.MaxHeight(20));
            EditorGUILayout.EndHorizontal();

            if (script.skillTree.skillTree != null && script.skillTree.skillTree[selectedSkillTreeIndex].skillPrerequisites != null)
            {
                for (int i = 0; i < script.skillTree.skillTree[selectedSkillTreeIndex].skillPrerequisites.Count; i++)
                {
                    EditorGUILayout.BeginHorizontal();
                    script.skillTree.skillTree[selectedSkillTreeIndex].skillPrerequisites[i] = EditorGUILayout.IntField(script.skillTree.skillTree[selectedSkillTreeIndex].skillPrerequisites[i], GUILayout.MaxWidth(30), GUILayout.MaxHeight(20));
                    string skillName = script.skillTree.GetSkillData(script.skillTree.skillTree[selectedSkillTreeIndex].skillPrerequisites[i]).skillName;
                    EditorGUILayout.LabelField("", GUILayout.MaxWidth(20), GUILayout.MaxHeight(20));
                    EditorGUILayout.LabelField(skillName, GUILayout.MaxWidth(100), GUILayout.MaxHeight(20));
                    if (GUILayout.Button("-", GUILayout.MaxWidth(20), GUILayout.MaxHeight(20)))
                    {
                        script.skillTree.skillTree[selectedSkillTreeIndex].skillPrerequisites.Remove(script.skillTree.skillTree[selectedSkillTreeIndex].skillPrerequisites[i]);
                    }
                    EditorGUILayout.EndHorizontal();
                }
            }
            if (GUILayout.Button("Add New Pre-requisite"))
            {
                script.skillTree.skillTree[selectedSkillTreeIndex].skillPrerequisites.Add(new int());
            }
            EditorFunctionCollections.DrawLine(true);
            if (script.skillTree.skillTree != null)
            {
                script.skillTree.skillTree[selectedSkillTreeIndex].skillType = (SkillData.SkillType)EditorGUILayout.EnumPopup("Skill Type:", script.skillTree.skillTree[selectedSkillTreeIndex].skillType);
            }
            switch (script.skillTree.skillTree[selectedSkillTreeIndex].skillType)
            {
            case SkillData.SkillType.Passive:
                script.skillTree.skillTree[selectedSkillTreeIndex].statModificationCategory = (SkillData.StatModificationCategory)EditorGUILayout.EnumPopup("Stat to be modified", script.skillTree.skillTree[selectedSkillTreeIndex].statModificationCategory);
                script.skillTree.skillTree[selectedSkillTreeIndex].additivePercentage       = EditorGUILayout.FloatField("Percentage to be added", script.skillTree.skillTree[selectedSkillTreeIndex].additivePercentage);
                break;

            case SkillData.SkillType.Ability:
                script.skillTree.skillTree[selectedSkillTreeIndex].abilityID = EditorGUILayout.IntField("Ability ID", script.skillTree.skillTree[selectedSkillTreeIndex].abilityID);
                break;
            }
        }
    }