Exemplo n.º 1
0
    /// <summary>
    /// Exchanges the control handler.
    /// </summary>
    /// <param name="index">The index.</param>
    /// <param name="controlHandler">The control handler.</param>
    public void ExchangeControlHandler(int index, BaseProjectileControlHandler controlHandler)
    {
        Logger.Info("Exchanging handler " + _controlHandlers[index].ToString() + " (index: " + index + ") with " + controlHandler.ToString());

        if (_controlHandlers[index] == _currentBaseProjectileControlHandler)
        {
            BaseProjectileControlHandler poppedHandler = _controlHandlers.Exchange(index, controlHandler);
            poppedHandler.Dispose();

            TryActivateCurrentControlHandler(poppedHandler);
        }
        else
        {
            _controlHandlers.Exchange(index, controlHandler);
        }
    }