// void Update() // { // if (!ActivatorMessage) // return; // // ActivatorMessage.OnActivatorSelected(null); // // if (!BaseGame.Instance.IsPlaying()) // return; // // if (!ActiveActivators.Any()) // return; // // ActivatorMessage.OnActivatorSelected(); // // if (Input.GetButtonDown("Submit")) // { // ActiveActivators.Last().Activate(this); // } // } public void PushActivator(ActionActivator activator) { var lastTop = ActiveActivators.LastOrDefault(); if (!ActiveActivators.Contains(activator)) { if (DrawDebug) { Debug.LogFormat("{0} :: New Activator {1}", Time.realtimeSinceStartup, activator); } ActiveActivators.Add(activator); } var newTop = ActiveActivators.LastOrDefault(); if (lastTop != newTop && ActivatorMessage) { ActivatorMessage.OnActivatorSelected(newTop); } }
public void PopActivator(ActionActivator activator) { var lastTop = ActiveActivators.LastOrDefault(); if (ActiveActivators.Remove(activator)) { if (DrawDebug) { Debug.LogFormat("{0} :: Lost Activator {1}", Time.realtimeSinceStartup, activator); } } var newTop = ActiveActivators.LastOrDefault(); if (newTop == null && ActivatorMessage) { ActivatorMessage.OnActivatorSelected(null); } else if (lastTop != newTop && CanSubmit) { ActivatorMessage.OnActivatorSelected(newTop); } }