예제 #1
0
        public LANGameLobby(WindowManager windowManager, string iniName,
                            TopBar topBar, List <GameMode> GameModes, LANColor[] chatColors, MapLoader mapLoader) :
            base(windowManager, iniName, topBar, GameModes, mapLoader)
        {
            this.chatColors     = chatColors;
            encoding            = Encoding.UTF8;
            hostCommandHandlers = new CommandHandlerBase[]
            {
                new StringCommandHandler(CHAT_COMMAND, GameHost_HandleChatCommand),
                new NoParamCommandHandler(RETURN_COMMAND, GameHost_HandleReturnCommand),
                new StringCommandHandler(PLAYER_OPTIONS_REQUEST_COMMAND, HandlePlayerOptionsRequest),
                new NoParamCommandHandler(PLAYER_QUIT_COMMAND, HandlePlayerQuit),
                new NoParamCommandHandler(PLAYER_READY_REQUEST, GameHost_HandleReadyRequest),
                new StringCommandHandler(FILE_HASH_COMMAND, HandleFileHashCommand),
                new StringCommandHandler(DICE_ROLL_COMMAND, Host_HandleDiceRoll),
            };

            playerCommandHandlers = new LANClientCommandHandler[]
            {
                new ClientStringCommandHandler(CHAT_COMMAND, Player_HandleChatCommand),
                new ClientNoParamCommandHandler(GET_READY_COMMAND, HandleGetReadyCommand),
                new ClientStringCommandHandler(RETURN_COMMAND, Player_HandleReturnCommand),
                new ClientStringCommandHandler(PLAYER_OPTIONS_BROADCAST_COMMAND, HandlePlayerOptionsBroadcast),
                new ClientStringCommandHandler(LAUNCH_GAME_COMMAND, HandleGameLaunchCommand),
                new ClientStringCommandHandler(GAME_OPTIONS_COMMAND, HandleGameOptionsMessage),
                new ClientStringCommandHandler(DICE_ROLL_COMMAND, Client_HandleDiceRoll),
                new ClientNoParamCommandHandler("PING", HandlePing),
            };

            localGame = ClientConfiguration.Instance.LocalGame;

            WindowManager.GameClosing += WindowManager_GameClosing;
        }
예제 #2
0
        public TestService(ISomneoApiClient somneoApiClient)
        {
            _commandRegistry = new CommandRegistry();

            var commandHandlers = new CommandHandlerBase[]
            {
                new DeviceCommandHandler(somneoApiClient),
                new SensorCommandHandler(somneoApiClient),
                new LightCommandHandler(somneoApiClient),
                new DisplayCommandHandler(somneoApiClient),
                new PlayerCommandHandler(somneoApiClient),
                new FMRadioCommandHandler(somneoApiClient),
                new WakeUpSoundCommandHandler(somneoApiClient),
                new AUXCommandHandler(somneoApiClient),
                new AlarmCommandHandler(somneoApiClient)
            };

            _commandRegistry.RegisterCommand("help", "Show available commands.", ShowHelp);

            foreach (var commandHandler in commandHandlers)
            {
                commandHandler.RegisterCommands(_commandRegistry);
            }

            _commandRegistry.RegisterCommand("exit", "Exit the application.", args => _canRun = false);
        }
 static void OnAggregateSaved(CommandHandlerBase sender, IAggregate aggr, DomainCommand by)
 {
     if (by != null && aggr != null)
     {
         Console.WriteLine("[AGGR] {0} -> {1} -> {2}",
                           by.GetType().FullName,
                           aggr.GetType().FullName,
                           string.Join(", ", aggr.GetUncommittedEvents().OfType <object>().Select(e => e.GetType().FullName)));
     }
 }
예제 #4
0
        public override bool Process(List <String> args = null)
        {
            String message = "";

            foreach (String arg in args)
            {
                message += " " + arg;
            }

            CommandHandlerBase handler    = this.GetHandler();
            String             playerName = handler.GetExecutorName();

            BaseScript.TriggerClientEvent("chatMessage", "", Color.Action, playerName + message);
            return(false);
        }
        public AlarmCommand(PluginInitContext context, CommandHandlerBase parent) : base(context, parent)
        {
            SubCommands.Add(new AlarmAddCommand(context, this));
            SubCommands.Add(new AlarmTimerCommand(context, this));
            SubCommands.Add(new AlarmListCommand(context, this));
            SubCommands.Add(new AlarmEditCommand(context, this));
            SubCommands.Add(new AlarmDeleteCommand(context, this));
            SubCommands.Add(new AlarmStopwatchCommand(context, this));



            System.Timers.Timer alarmTimer = new System.Timers.Timer(5000);
            alarmTimer.Elapsed += AlarmTimer_Elapsed;
            alarmTimer.Start();
        }
예제 #6
0
        public override bool Process(List <String> args = null)
        {
            List <String> contacts = this.GetContactInfo();
            String        message  = "Need help? Want to appeal a ban? Feel free to drop us a message:";

            foreach (String contact in contacts)
            {
                message += "\n › " + contact;
            }

            CommandHandlerBase handler    = this.GetHandler();
            String             playerName = handler.GetExecutorName();

            BaseScript.TriggerClientEvent("chatMessage", "", Color.Default, message);
            return(false);
        }
예제 #7
0
        public override bool Process(List <String> args = null)
        {
            String        message = "The following are the rules for ^5WeRP^0:";
            List <String> rules   = this.GetRules();

            foreach (String rule in rules)
            {
                message += "\n › " + rule;
            }

            CommandHandlerBase handler    = this.GetHandler();
            String             playerName = handler.GetExecutorName();

            BaseScript.TriggerClientEvent("chatMessage", "", new int[] { 255, 255, 255 }, message);
            return(false);
        }
        public AlarmCommand(PluginInitContext context, CommandHandlerBase parent): base(context, parent)
        {
            SubCommands.Add(new AlarmAddCommand(context, this));
            SubCommands.Add(new AlarmTimerCommand(context, this));
            SubCommands.Add(new AlarmListCommand(context, this));
            SubCommands.Add(new AlarmEditCommand(context, this));
            SubCommands.Add(new AlarmDeleteCommand(context, this));
            SubCommands.Add(new AlarmStopwatchCommand(context, this));

            _storage = ClockSettingsStorage.Instance;
            if (String.IsNullOrEmpty(_storage.AlarmTrackPath))
            {
                _storage.AlarmTrackPath = System.IO.Path.Combine(context.CurrentPluginMetadata.PluginDirectory, "Sounds\\beepbeep.mp3");
                _storage.Save();
            }
            System.Timers.Timer alarmTimer = new System.Timers.Timer(5000);
            alarmTimer.Elapsed += AlarmTimer_Elapsed;
            alarmTimer.Start();
        }
        public CnCNetGameLoadingLobby(WindowManager windowManager, TopBar topBar,
                                      CnCNetManager connectionManager, TunnelHandler tunnelHandler,
                                      List <GameMode> gameModes) : base(windowManager)
        {
            this.connectionManager = connectionManager;
            this.tunnelHandler     = tunnelHandler;
            this.gameModes         = gameModes;
            this.topBar            = topBar;

            ctcpCommandHandlers = new CommandHandlerBase[]
            {
                new NoParamCommandHandler(NOT_ALL_PLAYERS_PRESENT_CTCP_COMMAND, HandleNotAllPresentNotification),
                new NoParamCommandHandler(GET_READY_CTCP_COMMAND, HandleGetReadyNotification),
                new StringCommandHandler(FILE_HASH_CTCP_COMMAND, HandleFileHashCommand),
                new StringCommandHandler(INVALID_FILE_HASH_CTCP_COMMAND, HandleCheaterNotification),
                new IntCommandHandler(TUNNEL_PING_CTCP_COMMAND, HandleTunnelPingNotification),
                new StringCommandHandler(OPTIONS_CTCP_COMMAND, HandleOptionsMessage),
                new NoParamCommandHandler(INVALID_SAVED_GAME_INDEX_CTCP_COMMAND, HandleInvalidSaveIndexCommand),
                new StringCommandHandler(START_GAME_CTCP_COMMAND, HandleStartGameCommand),
                new IntCommandHandler(PLAYER_READY_CTCP_COMMAND, HandlePlayerReadyRequest)
            };
        }
예제 #10
0
        private void ChatMessage(int playerId, String playerName, String message)
        {
            if (!message.StartsWith("/"))
            {
                return;
            }

            API.CancelEvent();

            List <String> args = new List <String>();

            String[] splitMessage = message.Replace("/", "").Split(null);
            String   command      = splitMessage[0];

            if (splitMessage.Length > 1)
            {
                for (int i = 1; i < splitMessage.Length; i++)
                {
                    args.Add(splitMessage[i]);
                }
            }

            if (!Core.GetInstance().HasCommand(command))
            {
                TriggerClientEvent("chatMessage", "", Color.Error, "[System] Unknown command: ^0/" + command);
                return;
            }

            Assembly           assembly       = Assembly.GetAssembly(this.GetType());
            Type               commandType    = assembly.GetType("Server.Commands." + command.Substring(0, 1).ToUpper() + command.Substring(1, (command.Length - 1)));
            CommandBase        commandObject  = (CommandBase)Core.GetInstance().GetCommand(command);
            CommandHandlerBase commandHandler = commandObject.GetHandler();

            commandHandler.SetExecutor(playerId, playerName);
            commandHandler.SetArgs(args);
            commandObject.GetHandler().Process();
        }
예제 #11
0
 public AlarmEditCommand(PluginInitContext context, CommandHandlerBase parent) : base(context, parent)
 {
 }
 public AlarmEditCommand(PluginInitContext context, CommandHandlerBase parent) : base(context, parent) { }
 public void Init(PluginInitContext context)
 {
     this.context           = context;
     _initialCommandHandler = new Commands.AlarmCommand(context, null);
 }
 public ClockCommand(PluginInitContext context, CommandHandlerBase parent) : base(context, parent)
 {
     SubCommands.Add(new AlarmCommand(context, this));
     SubCommands.Add(new AlarmStopwatchCommand(context, this));
 }
 public void Init(PluginInitContext context)
 {
     this.context = context;
     _initialCommandHandler = new Commands.AlarmCommand(context, null);
 }