public void Init() { Table.ForeachServerName(record => { if (record.Id == record.LogicID && ServerLodeManagerManager.Servers.ContainsKey(record.LogicID) == false && (record.IsClientDisplay == 1 || record.IsClientDisplay == 2)) { LodeManager temp = new LodeManager(); temp.Init(record.LogicID); ServerLodeManagerManager.Servers.Add(record.LogicID, temp); } return(true); }); TeamServerControl.tm.CreateTrigger(DateTime.Now.AddSeconds(30), Update, 30000); //30秒一次 EventDispatcher.Instance.AddEventListener(ReloadTableEvent.EVENT_TYPE, ReloadTable); }
private static void ReloadTable(IEvent ievent) { var v = ievent as ReloadTableEvent; if (v == null) { return; } if (v.tableName == "ServerName") { Table.ForeachServerName(record => { if (record.LogicID == record.Id && ServerLodeManagerManager.Servers.ContainsKey(record.LogicID) == false && (record.IsClientDisplay == 1 || record.IsClientDisplay == 2)) { LodeManager temp = new LodeManager(); temp.Init(record.LogicID); ServerLodeManagerManager.Servers.Add(record.LogicID, temp); } return(true); }); } }