2using System.Collections;
3using System.Collections.Generic;
12 private readonly List<StageOnStageChanged> OnStageChangedHandlers =
new List<StageOnStageChanged>();
17 add { OnStageChangedHandlers.Add(value); }
18 remove { OnStageChangedHandlers.Remove(value); }
22 private List<int> partsPerStage =
new List<int>(6);
36 if (stage < 1)
return;
37 partsPerStage[stage-1]++;
52 private void OnNextStage()
56 using (List<StageOnStageChanged>.Enumerator enumerator = OnStageChangedHandlers.GetEnumerator())
58 while (enumerator.MoveNext())
67 Debug.LogWarning(
"Failed Current Event OnStageChangedHandlers - " + ex.Message);
74 Debug.LogError(
"Failed Events OnStageChangedHandlers - " + ex.Message);
82public class StageManagerInspector : Editor
84 public override void OnInspectorGUI()
86 DrawDefaultInspector();
89 GUILayout.BeginHorizontal();
90 if (GUILayout.Button(
"Next Stage"))
94 GUILayout.EndHorizontal();
delegate void StageOnStageChanged(int stage)
void FinishCurrentStage()
void AddPartToStage(int stage)
StageOnStageChanged OnStageChanged