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; } }
private void SkillTreeVisualHandler() { EditorGUILayout.LabelField("<b><size=15>SKILL TREE</size></b>", richTextStyle); EditorGUILayout.Space(); SkillDataParser(); EditorFunctionCollections.DrawLine(true, 2f); SkillTreeParser(); }
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(); }
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; } } }