Exemplo n.º 1
0
        /// <summary>
        ///     Registers the services this controller provides.
        /// </summary>
        /// <param name="gameMode">The game mode.</param>
        /// <param name="serviceContainer">The service container.</param>
        public override void RegisterServices(BaseMode gameMode, GameModeServiceContainer serviceContainer)
        {
            CommandsManager = new CommandsManager(gameMode);
            serviceContainer.AddService(CommandsManager);

            // Register commands in game mode.
            CommandsManager.RegisterCommands(gameMode.GetType());
        }
Exemplo n.º 2
0
        public void FindCommandTest()
        {
            Action<string, string, string, bool> action = (methodName, commandPath, runCommand, expectSuccess) =>
            {
                var manager = new CommandsManager(new TestGameMode());
                var expectedMethod = GetType().GetMethod(methodName);
                manager.Register(new[] {new CommandPath(commandPath)}, null, false, null, expectedMethod, null);

                var actualCommand = (manager.GetCommandForText(new BasePlayer(), runCommand) as DefaultCommand)?.Method;

                if (expectSuccess)
                    Assert.AreEqual(expectedMethod, actualCommand);
                else
                    Assert.AreNotEqual(expectedMethod, actualCommand);
            };

            action("A", "cmd a", "/cmd a", true);
            action("A", "cmd a", "/cmd a a", true);
            action("A", "cmd b", "/cmd a", false);
            action("A", "cmd c a", "/cmd c", false);
        }
Exemplo n.º 3
0
 /// <summary>
 /// Start-up settings
 /// </summary>
 private void Initialise()
 {
     if (File.Exists(Path.GetFullPath("settings.json")) && !this.newConfig)
     {
         this._config = JsonConvert.DeserializeObject <Config>(File.ReadAllText(Path.GetFullPath("settings.json")));
     }
     else
     {
         this._config   = new Config();
         this.newConfig = true;
     }
     if (this._config.CommandPrefix.ToString() == string.Empty)
     {
         Console.WriteLine("Warning! No command prefix was found! Please, enter enter the prefix or it will be set to default (\"!\"");
         Console.Write("Command prefix: ");
         var prefix = Console.ReadLine();
         this._config.CommandPrefix = (prefix.Length == 0) ? '!' : prefix.ToCharArray()[0];
         this.newConfig             = true;
     }
     if (this._config.BotEmail.Length == 0)
     {
         Console.BackgroundColor = ConsoleColor.Red;
         Console.Write("Error! No password were found!\nEnter bot's email: ");
         this._config.BotEmail   = Console.ReadLine();
         Console.BackgroundColor = ConsoleColor.Black;
         this.newConfig          = true;
     }
     if (this._config.BotPass.Length == 0)
     {
         Console.BackgroundColor = ConsoleColor.Red;
         Console.Write("Error! No password were found!\nEnter bot's password: "******"settings.json"), JsonConvert.SerializeObject(this._config));
     }
     _client = new DiscordClient();
     this._client.ClientPrivateInformation.Email    = this._config.BotEmail;
     this._client.ClientPrivateInformation.Password = this._config.BotPass;
     CommandsManager = new CommandsManager(this._client);
     if (owner == null)
     {
         //var t = this._client.GetServerChannelIsIn().GetMemberByKey(this._config.OwnerID);
         //owner = this._client.GetServersList().Find(x => x.GetMemberByKey(this._config.OwnerID) != null).GetMemberByKey(this._config.OwnerID);
     }
     if (File.Exists(Path.GetFullPath("permissions.json")))
     {
         var permissionDictionary = JsonConvert.DeserializeObject <Dictionary <string, PermissionType> >(File.ReadAllText("permissions.json"));
         if (permissionDictionary == null)
         {
             permissionDictionary = new Dictionary <string, PermissionType>();
             if (owner != null)
             {
                 permissionDictionary.Add(owner.ID, PermissionType.Owner);
             }
         }
         this.CommandsManager.OverridePermissionsDictionary(permissionDictionary);
     }
 }
Exemplo n.º 4
0
 public WriteRegisterCommand(CommandsManager manager) : base(manager)
 {
 }
Exemplo n.º 5
0
 public ReportHaltReasonCommand(CommandsManager manager) : base(manager)
 {
 }
Exemplo n.º 6
0
 public ReadMemoryCommand(CommandsManager manager) : base(manager)
 {
 }
Exemplo n.º 7
0
 public ContinueCommand(CommandsManager manager) : base(manager)
 {
 }
 public ThreadAttachedCommand(CommandsManager manager) : base(manager)
 {
 }
Exemplo n.º 9
0
 public SupportedQueryCommand(CommandsManager manager) : base(manager)
 {
 }
Exemplo n.º 10
0
        public override void Install(CommandsManager manager)
        {
            LoadSystemsDictionary();

            // Setup the one time listener for adding systems.
            manager.Client.MessageCreated += async(
                e) =>
            {
                if (WaitingOnInput)
                {
                    if (WaitingOnInputFrom.Id == e.Author.Id && WaitingChannel.Id == e.Channel.Id)
                    {
                        if (!e.Message.Content.Contains("addsystem")) //skip because this has already been handled.
                        {
                            Console.WriteLine($"[SystemsModule] Got input from correct person in correct channel {WaitingOnInputFrom.Id} == {e.Author.Id}");
                            try
                            {
                                if (SystemsDatabase.ContainsKey(e.Author.Id)) //we already have a systems collection for this user.
                                {
                                    Console.WriteLine("[SystemsModule] Already had one, added");
                                    SystemsDatabase[e.Author.Id].Add("System " + (SystemsDatabase[e.Author.Id].Count + 1), e.Message.Content);
                                }
                                else
                                {
                                    Console.WriteLine("[SystemsModule] Created one");
                                    SystemsCollection <string, string> collection = new SystemsCollection <string, string>();
                                    collection.UserSnowflake = e.Author.Id;

                                    string systemName = "System 1";
                                    if (!String.IsNullOrEmpty(PotentialSystemName))
                                    {
                                        systemName          = PotentialSystemName.Trim();
                                        PotentialSystemName = null;
                                    }
                                    collection.Add(systemName, e.Message.Content);
                                    SystemsDatabase.Add(e.Author.Id, collection);
                                }
                                //SystemsDatabase[e.Author.Id] = collection;
                                WaitingOnInput     = false;
                                WaitingOnInputFrom = null;
                                Console.WriteLine("[SystemsModule] Flushing");
                                //Might as well save after write, I don't pay for the SSD on the VPS...
                                FlushSystemsModule();

                                await e.Channel.SendMessageAsync("👌");
                            }
                            catch (Exception ex)
                            {
                                await e.Channel.SendMessageAsync("bro something is royally f****d: " + ex.Message);

                                Console.WriteLine("[SystemsModule] Exception details\n\n" + ex.Message + "\n\n" + ex.StackTrace + "\n\n");
                                WaitingOnInput     = false;
                                WaitingOnInputFrom = null;
                            }
                        }
                    }
                }
            };

            manager.AddCommand(new CommandStub("addsystem", "Adds your system to the database, simply follow the prompts. ", "addsystem", cmdArgs =>
            {
                if (cmdArgs.Args.Count > 1)
                {
                    PotentialSystemName = cmdArgs.Args[1];
                }
                else
                {
                    PotentialSystemName = null;
                }

                var m = cmdArgs.Channel.SendMessageAsync($"Please enter system specs");
                Console.WriteLine($"[SystemsModule] Waiting on input from {cmdArgs.Message.Author.Username}");
                WaitingOnInput     = true;
                WaitingOnInputFrom = cmdArgs.Message.Author;
                WaitingChannel     = cmdArgs.Message.Channel;
            }, argCount: 1), this);

            manager.AddCommand(new CommandStub("system", "get someone's specs (mention is optional)", "system <user>", cmdArgs =>
            {
                if (cmdArgs.Args.Count == 1)
                {
                    // Check if it's a mention and handle nicely
                    if (cmdArgs.Args[0].StartsWith("<@") && (cmdArgs.Args[0].EndsWith(">")))
                    {
                        ulong ID = ulong.Parse(cmdArgs.Args[0].Trim(new char[] { '<', '>', '@', '!' }));
                        List <DiscordMember> membersListAsList = new List <DiscordMember>(cmdArgs.Channel.Guild.Members);
                        DiscordMember member = membersListAsList.Find(x => x.Id == ID);

                        if (SystemsDatabase.ContainsKey(ID))
                        {
                            SystemsCollection <string, string> collection = SystemsDatabase[ID];
                            var first     = collection.First();
                            string system = first.Value;
                            // TODO come back in a sec
                            DiscordEmbedBuilder b = new DiscordEmbedBuilder();
                            b.WithAuthor(member.DisplayName, icon_url: member.AvatarUrl);
                            b.WithColor(DiscordColor.Purple);
                            b.AddField("System", system);

                            cmdArgs.Channel.SendMessageAsync(embed: b.Build());
                        }
                        else
                        {
                            cmdArgs.Channel.SendMessageAsync("Sorry! You're not in the database :c");
                        }
                    }
                    else
                    {
                        IReadOnlyList <DiscordMember> membersList = cmdArgs.Channel.Guild.Members;
                        if (membersList != null)
                        {
                            List <DiscordMember> membersListAsList = new List <DiscordMember>(membersList);
                            DiscordMember member = membersListAsList.Find(x => x.Username.Trim('@') == cmdArgs.Args[0].Trim());

                            if (member != null)
                            {
                                if (SystemsDatabase.ContainsKey(member.Id))
                                {
                                    SystemsCollection <string, string> collection = SystemsDatabase[member.Id];
                                    var first     = collection.First();
                                    string system = first.Value;
                                    //cmdArgs.Channel.SendMessageAsync($"**System for {member.DisplayName}**:\n\n{system}");

                                    DiscordEmbedBuilder b = new DiscordEmbedBuilder();
                                    b.WithAuthor(member.DisplayName, icon_url: member.AvatarUrl);
                                    b.WithColor(DiscordColor.Purple);
                                    b.AddField(first.Key, system);

                                    cmdArgs.Channel.SendMessageAsync(embed: b.Build());
                                }
                                else
                                {
                                    cmdArgs.Channel.SendMessageAsync("Sorry! Not in the database :c");
                                }
                            }
                        }
                    }
                }
                else //do it for self
                {
                    ulong ID = cmdArgs.Author.Id;
                    List <DiscordMember> membersListAsList = new List <DiscordMember>(cmdArgs.Channel.Guild.Members);
                    DiscordMember member = membersListAsList.Find(x => x.Id == ID);

                    if (SystemsDatabase.ContainsKey(ID))
                    {
                        SystemsCollection <string, string> collection = SystemsDatabase[ID];
                        var first     = collection.First();
                        string system = first.Value;
                        // TODO come back in a sec
                        DiscordEmbedBuilder b = new DiscordEmbedBuilder();
                        b.WithAuthor(member.DisplayName, icon_url: member.AvatarUrl);
                        b.WithColor(DiscordColor.Purple);
                        b.AddField(first.Key, system);

                        cmdArgs.Channel.SendMessageAsync(embed: b.Build());
                    }
                    else
                    {
                        cmdArgs.Channel.SendMessageAsync("Sorry! You're not in the database :c");
                    }
                }
            }, PermissionType.User, 1), this);

            manager.AddCommand(new CommandStub("removesystem", "remove your system", "removesystem", cmdArgs =>
            {
                ulong userID = cmdArgs.Message.Author.Id;

                try
                {
                    SystemsDatabase.Remove(userID);
                    cmdArgs.Channel.SendMessageAsync("👌");
                }
                catch (Exception ex)
                {
                    cmdArgs.Channel.SendMessageAsync("Unable to remove your system. Please tell an admin immediately, something is royally borked.\n\n```\n" +
                                                     ex.Message + "\n```");
                }
            }, PermissionType.User, 0), this);
        }
Exemplo n.º 11
0
 public override void ShutdownModule(CommandsManager managers)
 {
     FlushSystemsModule();
 }
Exemplo n.º 12
0
 public BuiltInCommandsBuilder(CommandsManager manager)
 {
     this.manager = manager;
 }
Exemplo n.º 13
0
 public KillCommand(CommandsManager manager) : base(manager)
 {
 }
Exemplo n.º 14
0
    //Execution de la commande
    public override void OnCommandExecute(uint playerId, string[] args)
    {
        //Envoyer un message au client
        CommandsManager.gamemode.SendClientMessage(playerId, CommandsManager.helpColor, CommandsManager.helpMessage);

        //Recuperer la liste des commandes
        for (int i = 0; i < CommandsManager.getCommands().Count; i++)
        {
            //Envoyer un message au client avec la liste des commandes
            CommandsManager.gamemode.SendClientMessage(playerId, CommandsManager.helpColor, "Commande : " + CommandsManager.getCommands()[i].name);
        }
    }
Exemplo n.º 15
0
        public void CleanUp()
        {
            MarkEndExecution();

            if (COF != null)
            {
                COF.Dispose();
                COF = null;
            }

            if (names != null)
            {
                names.Dispose();
                names = null;
            }

            if (gridManager != null)
            {
                gridManager.Dispose();
                gridManager = null;
            }

            if (rlv != null)
            {
                rlv.Dispose();
                rlv = null;
            }

            if (client != null)
            {
                UnregisterClientEvents(client);
            }

            if (pluginManager != null)
            {
                pluginManager.Dispose();
                pluginManager = null;
            }

            if (movement != null)
            {
                movement.Dispose();
                movement = null;
            }
            if (commandsManager != null)
            {
                commandsManager.Dispose();
                commandsManager = null;
            }
            if (ContextActionManager != null)
            {
                ContextActionManager.Dispose();
                ContextActionManager = null;
            }
            if (mediaManager != null)
            {
                mediaManager.Dispose();
                mediaManager = null;
            }
            if (state != null)
            {
                state.Dispose();
                state = null;
            }
            if (netcom != null)
            {
                netcom.Dispose();
                netcom = null;
            }
            if (mainForm != null)
            {
                mainForm.Load -= new EventHandler(mainForm_Load);
            }
            Logger.Log("RadegastInstance finished cleaning up.", Helpers.LogLevel.Debug);
        }
Exemplo n.º 16
0
 public ReadMemoryCommand(CommandsManager manager) : base(manager)
 {
 }
 public ReadRegisterCommand(CommandsManager manager) : base(manager)
 {
 }
 public MonitorCommand(CommandsManager m) : base(m)
 {
     openOcdOverlay = new OpenOcdOverlay(m);
 }
Exemplo n.º 19
0
 public ReadRegisterCommand(CommandsManager manager) : base(manager)
 {
 }
 public OpenOcdOverlay(CommandsManager manager)
 {
     this.manager = manager;
 }
Exemplo n.º 21
0
 public PuppetMaster()
 {
     cm = new CommandsManager(this);
 }
Exemplo n.º 22
0
 /// <summary>
 /// Initializes a new instance of the <see cref="GameModeFactory"/> class.
 /// </summary>
 /// <param name="consoleManager">The console manager.</param>
 /// <param name="commandsManager">The commands manager.</param>
 public GameModeFactory(ConsoleManager consoleManager, CommandsManager commandsManager)
 {
     _consoleManager  = consoleManager;
     _commandsManager = commandsManager;
 }
Exemplo n.º 23
0
 public WriteRegisterCommand(CommandsManager manager) : base(manager)
 {
 }
 public ContinueCommand(CommandsManager manager) : base(manager)
 {
 }
Exemplo n.º 25
0
 public SingleStepCommand(CommandsManager manager) : base(manager)
 {
 }
Exemplo n.º 26
0
Arquivo: Game.cs Projeto: dm5wg/Yupi
        /// <summary>
        ///     Initializes a new instance of the <see cref="Game" /> class.
        /// </summary>
        /// <param name="conns">The conns.</param>
        internal Game(int conns)
        {
            //Console.WriteLine();
            Writer.WriteLine(@"Starting up Yupi Emulator for " + Environment.MachineName + "...", @"Yupi.Boot");
            //Console.WriteLine();

            _clientManager = new GameClientManager();
            using (IQueryAdapter commitableQueryReactor = Yupi.GetDatabaseManager().GetQueryReactor())
            {
                AbstractBar bar = new AnimatedBar();
                const int   wait = 15, end = 5;

                uint itemsLoaded;
                uint navigatorLoaded;
                uint roomModelLoaded;
                uint achievementLoaded;
                uint pollLoaded;

                Progress(bar, wait, end, "Cleaning dirty in database...");
                DatabaseCleanup(commitableQueryReactor);

                Progress(bar, wait, end, "Loading Bans...");
                _banManager = new ModerationBanManager();
                _banManager.LoadBans(commitableQueryReactor);

                Progress(bar, wait, end, "Loading Roles...");
                _roleManager = new RoleManager();
                _roleManager.LoadRights(commitableQueryReactor);

                Progress(bar, wait, end, "Loading Items...");
                _itemManager = new ItemManager();
                _itemManager.LoadItems(commitableQueryReactor, out itemsLoaded);

                Progress(bar, wait, end, "Loading Catalog...");
                _catalog = new CatalogManager();

                Progress(bar, wait, end, "Loading Targeted Offers...");
                _targetedOfferManager = new TargetedOfferManager();

                Progress(bar, wait, end, "Loading Clothing...");
                _clothingManager = new ClothingManager();
                _clothingManager.Initialize(commitableQueryReactor);

                Progress(bar, wait, end, "Loading Rooms...");
                _roomManager = new RoomManager();
                _roomManager.LoadModels(commitableQueryReactor, out roomModelLoaded);

                Progress(bar, wait, end, "Loading NavigatorManager...");
                _navigatorManager = new HotelBrowserManager();
                _navigatorManager.Initialize(commitableQueryReactor, out navigatorLoaded);

                Progress(bar, wait, end, "Loading Groups...");
                _groupManager = new GroupManager();
                _groupManager.InitGroups();

                Progress(bar, wait, end, "Loading PixelManager...");
                _pixelManager = new ExchangeManager();

                Progress(bar, wait, end, "Loading HotelView...");
                _hotelView = new HotelLandingManager();

                Progress(bar, wait, end, "Loading Hall Of Fame...");
                _hallOfFame = new HallOfFame();

                Progress(bar, wait, end, "Loading ModerationTool...");
                _moderationTool = new ModerationTool();
                _moderationTool.LoadMessagePresets(commitableQueryReactor);
                _moderationTool.LoadPendingTickets(commitableQueryReactor);

                Progress(bar, wait, end, "Loading Bots...");
                _botManager = new BotManager();

                Progress(bar, wait, end, "Loading Events...");
                _events = new RoomEvents();

                Progress(bar, wait, end, "Loading Talents...");
                _talentManager = new TalentManager();
                _talentManager.Initialize(commitableQueryReactor);

                Progress(bar, wait, end, "Loading Pinata...");
                _pinataHandler = new PinataHandler();
                _pinataHandler.Initialize(commitableQueryReactor);

                Progress(bar, wait, end, "Loading Crackable Eggs...");
                _crackableEggHandler = new CrackableEggHandler();
                _crackableEggHandler.Initialize(commitableQueryReactor);

                Progress(bar, wait, end, "Loading Polls...");
                _pollManager = new PollManager();
                _pollManager.Init(commitableQueryReactor, out pollLoaded);

                Progress(bar, wait, end, "Loading Achievements...");
                _achievementManager = new AchievementManager(commitableQueryReactor, out achievementLoaded);

                Progress(bar, wait, end, "Loading StaticMessages ...");
                StaticMessagesManager.Load();

                Progress(bar, wait, end, "Loading Guides ...");
                _guideManager = new GuideManager();

                Progress(bar, wait, end, "Loading and Registering Commands...");
                CommandsManager.Register();

                CacheManager.StartProcess();

                //Progress(bar, wait, end, "Loading ServerMutantManager...");
                //this.ServerMutantManager = new ServerMutantManager();

                Console.Write("\r".PadLeft(Console.WindowWidth - Console.CursorLeft - 1));
            }
        }
Exemplo n.º 27
0
 public ReadGeneralRegistersCommand(CommandsManager manager) : base(manager)
 {
 }
 public WriteDataToMemoryCommand(CommandsManager manager) : base(manager)
 {
 }