using UnityEngine; using UnityEditor; using System; using System.Collections; using System.Collections.Generic; namespace TBTK{ [CustomEditor(typeof(CollectibleManager))] public class I_CollectibleManagerEditor : TBEditorInspector { private CollectibleManager instance; public override void Awake(){ base.Awake(); instance = (CollectibleManager)target; } public override void OnInspectorGUI(){ Undo.RecordObject(instance, "CollectibleManager"); base.OnInspectorGUI(); EditorGUILayout.Space(); EditorGUIUtility.labelWidth=140; //~ cont=new GUIContent("Generate On Start:", "Check to "); //~ instance.generateItemOnStart=EditorGUILayout.Toggle(cont, instance.generateItemOnStart); cont=new GUIContent("Active Item Limit:", "The maximum amount of collectible available on the grid at any given time"); instance.activeItemLimit=EditorGUILayout.IntField(cont, instance.activeItemLimit); EditorGUILayout.Space(); cont=new GUIContent("Generate In Game:", "Check to enable spawning of collectible item during runtime at the end of each turn"); instance.generateInGame=EditorGUILayout.Toggle(cont, instance.generateInGame); cont=new GUIContent(" - Max Spawn Per Turn:", "The maximum amount of collectible to be spawned at each turn"); if(!instance.generateInGame) EditorGUILayout.LabelField(" - Max Spawn Per Turn:", "n/a"); else instance.maxSpawnPerTurn=EditorGUILayout.IntField(cont, instance.maxSpawnPerTurn); cont=new GUIContent(" - Spawn Chance:", "The success rate of a collectible to be spawned at each spawning attempt during runtime"); if(!instance.generateInGame) EditorGUILayout.LabelField(" - Spawn Chance:", "n/a"); else instance.spawnChance=EditorGUILayout.FloatField(cont, instance.spawnChance); EditorGUIUtility.labelWidth=0; EditorGUILayout.Space(); cont=new GUIContent("Effect On Spawn:", "The effect object to be spawned when a new collectible item is spawned during runtime"); DrawVisualObject(instance.effectOnSpawn, cont, 140); EditorGUILayout.Space(); DrawItemList(); EditorGUILayout.Space(); //DrawDefaultInspector(); CollectibleManager.inspector=DefaultInspector(CollectibleManager.inspector, 0); } private bool showItemList=true; void DrawItemList(){ //EditorGUILayout.BeginHorizontal(); //EditorGUILayout.LabelField("", GUILayout.MaxWidth(10)); showItemList=EditorGUILayout.Foldout(showItemList, "Show Perk List"); //EditorGUILayout.EndHorizontal(); if(showItemList){ EditorGUILayout.BeginHorizontal(); if(GUILayout.Button("EnableAll") && !Application.isPlaying){ instance.unavailableIDList.Clear(); } if(GUILayout.Button("DisableAll") && !Application.isPlaying){ instance.unavailableIDList=CollectibleDB.GetPrefabIDList(); } EditorGUILayout.EndHorizontal(); for(int i=0; i