Exemplo n.º 1
0
        /// <summary>
        /// Changes mode to the specified one and logs it on the console.
        /// </summary>
        /// <param name="modeType">The FICS mode type.</param>
        private void ChangeMode(FICSModeType modeType)
        {
            _consoleManager.WriteLine($"$G{FICSConstants.EnginePrefix}: $gMode changed to {modeType}.");
            _textLogger.WriteLine($"{FICSConstants.EnginePrefix}: Mode changed to {modeType}.");

            var ficsModeFactory = new FICSModeFactory(_configManager);

            _ficsMode               = ficsModeFactory.Create(modeType);
            _ficsMode.OnSendData   += FICSMode_OnSendData;
            _ficsMode.OnChangeMode += FICSMode_OnChangeMode;
        }
        /// <summary>
        /// Creates a new instance of the FICS mode specified in the parameter.
        /// </summary>
        /// <param name="type">The FICS mode.</param>
        /// <exception cref="FICSModeNotFoundException">Thrown when the factory cannot create FICS mode with the specified type (enum value not supported).</exception>
        /// <returns>The FICS mode instance.</returns>
        public FICSModeBase Create(FICSModeType type)
        {
            switch (type)
            {
            case FICSModeType.Auth: return(new AuthMode(_configManager));

            case FICSModeType.Seek: return(new SeekMode(_configManager));

            case FICSModeType.Game: return(new GameMode(_configManager));
            }

            throw new FICSModeNotFoundException();
        }
Exemplo n.º 3
0
 /// <summary>
 /// Changes mode to the specified one.
 /// </summary>
 /// <param name="newModeType">The new FICS mode.</param>
 public void ChangeMode(FICSModeType newModeType)
 {
     OnChangeMode?.Invoke(this, new ChangeModeEventArgs(newModeType));
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="ChangeModeEventArgs"/> class.
 /// </summary>
 /// <param name="newModeType">The new FICS mode.</param>
 public ChangeModeEventArgs(FICSModeType newModeType)
 {
     NewModeType = newModeType;
 }