예제 #1
0
        public MapCollection(ObservableCollection <Map> inputlist, IHTMLFileFromArrayPasser HtmlListiner)
        {
            this.mapList  = inputlist;
            this.listiner = HtmlListiner;

            mapList.CollectionChanged += MapList_CollectionChanged;

            TableDataValue MapEntry = new TableDataValue();

            MapEntry.VisibleValue = "Map Name";

            TableDataValue ReasonEntry = new TableDataValue();

            ReasonEntry.VisibleValue = "Extra info";

            TableDataValue Owner = new TableDataValue();

            Owner.VisibleValue = "Owner";

            TableDataValue[] Data = new TableDataValue[] { MapEntry, ReasonEntry, Owner };



            SetTableHeader TableHandler = new SetTableHeader();

            TableHandler.TableIdentifier = tablename;
            TableHandler.Header          = Data;

            HtmlListiner.HandleCommand(TableHandler);

            AllowOnlyUploadedMaps = false;
        }
예제 #2
0
        public TrackingServerListHolder(ModuleHandler bot, IHTMLFileFromArrayPasser listiner, Dictionary <string, Dictionary <string, object> > Jsconfig) : base(bot, Jsconfig)
        {
            loadPersistentData();
            this.Maplists = new List <Maplist>();
            List <Maplist> Templist = new List <Maplist>();

            Templist = JsonConvert.DeserializeObject <List <Maplist> >(config["ListConfigs"].ToString());
            if (Templist != null)
            {
                this.Maplists = Templist;
            }
            this.listiner = listiner;
            UpdateList();

            bot.AddMapChangeEventListiner(this);
        }
예제 #3
0
        public AdminModule(ModuleHandler handler, IHTMLFileFromArrayPasser HtmlHandler, UserHandler userhandler, Dictionary <string, Dictionary <string, object> > Jsconfig) : base(handler, Jsconfig)
        {
            DeletableModule    = false;
            this.modulehandler = handler;
            this.HtmlHandler   = HtmlHandler;

            loadPersistentData();
            savePersistentData();

            handler.AddLoginEventListiner(this);
            commands.Add(new CommandListRetrieve(handler, this));
            commands.Add(new UserInfo(handler, this));

            adminCommands.Add(new GetAllModules(handler, this));

            adminCommands.Add(new Reboot(handler, this));
            adminCommands.Add(new RunScript(handler, this));
        }
        public ServerTrackingModule(ModuleHandler bot, IHTMLFileFromArrayPasser WebServer, Dictionary <string, Dictionary <string, object> > Jsconfig) : base(bot, Jsconfig)
        {
            this.WebServer = WebServer;
            Bot            = bot;
            List <TrackingServerInfo> ServersBeingTracked = new List <TrackingServerInfo>();

            int updateInterval = int.Parse(config["updateInterval"].ToString());

            Tuple <string, string, int>[] servers;

            if (File.Exists(ModuleSavedDataFilePath()))
            {
                ServersBeingTracked = JsonConvert.DeserializeObject <List <TrackingServerInfo> >(System.IO.File.ReadAllText(ModuleSavedDataFilePath()));
                for (int i = 0; i < ServersBeingTracked.Count; i++)
                {
                    commands.Add(new ServerStatus(bot, ServersBeingTracked[i], this));
                }
            }
            else
            {
                Console.WriteLine("No servers found in config file");
                servers = null;
            }

            TrackedServers = new TrackingServerList(this, ServersBeingTracked);

            commands.Add(new ActiveServers(bot, this));
            commands.Add(new SpecificServerStatus(bot, this));
            adminCommands.Add(new ServerAdd(bot, this));
            adminCommands.Add(new ServerRemove(bot, this));
            adminCommands.Add(new FullServerQuery(bot, this));

            serverUpdate = new BaseTask(updateInterval, new System.Timers.ElapsedEventHandler(SyncTrackingServerInfo));

            ServerMapChanged += bot.ServerUpdated;
            ServerMapChanged += ServerTrackingModule_ServerMapChanged;
        }
예제 #5
0
 public MapModule(ModuleHandler bot, IHTMLFileFromArrayPasser HtmlListiner, Dictionary <string, object> Jsconfig) : base(bot, Jsconfig)
 {
     this.HTMLlistiner = HtmlListiner;
     LoadModule(bot);
 }