Exemplo n.º 1
0
        /// <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);
        }