/// <summary> /// Performs the custom Inspector. /// </summary> public override void OnInspectorGUI() { spawn = (Spawner)target; if (GUILayout.Button("Unit Editor")) { SpawnerUnitEditor.Initialise(spawn); } EditorGUILayout.Space(); if (GUILayout.Button("Wave Editor")) { SpawnerWaveEditor.Initialise(spawn); } EditorGUILayout.Space(); EditorGUILayout.BeginHorizontal(); { EditorGUILayout.PrefixLabel("Spawner ID"); spawn.spawnID = EditorGUILayout.IntField(spawn.spawnID); } EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); { EditorGUILayout.PrefixLabel("Spawn"); spawn.spawn = EditorGUILayout.Toggle(spawn.spawn); } EditorGUILayout.EndHorizontal(); if (GUI.changed) { EditorUtility.SetDirty(target); } }
/// <summary> /// Initialises the Wave Editor window /// </summary> /// <param name="target">The spawner the editor window is associated with</param> public static void Initialise(Spawner target) { SpawnerWaveEditor editor = EditorWindow.GetWindow <SpawnerWaveEditor>(true, "Spawner Wave Editor", true); editor.spawn = target; if (editor.spawn.spawnLocations == null) { editor.spawn.spawnLocations = new Transform[0]; } }