/// <summary> /// Pushes and activated a mode. /// </summary> /// <param name="mode"></param> public void Push(IMode mode) { // We can't handle nulls if (mode == null) { throw new ArgumentNullException("mode"); } // See if we have a current mode if (modes.Count != 0) { // Deactivate the mode CurrentMode.Deactivate(false); } // Add it modes.Insert(0, mode); mode.Activate(true); }
/// <summary> /// Pushes and activated a mode. /// </summary> /// <param name="mode"></param> public void Push(IMode mode) { // We can't handle nulls if (mode == null) throw new ArgumentNullException("mode"); // See if we have a current mode if (modes.Count != 0) // Deactivate the mode CurrentMode.Deactivate(false); // Add it modes.Insert(0, mode); mode.Activate(true); }