/* Sog 游戏基础库 2016 by zouwei */ using System; using System.Collections.Generic; using ProtoCSStruct; using Sog; namespace World { public class GameSvrInfoWorld { public uint serverId; public int onlinePlayer; } public class AlertData { //按天比较 public Dictionary LastDayOnline = new Dictionary(); public Dictionary TodayOnline = new Dictionary(); public long LastDayTimeSecond; public int LastAlertIndex; //按5分钟比较 public int OnlinePlayer; public long LastCheckTimeSecond; public long LastAlertTimeSecond; } public class SendMailWithRuleRecord { public DBMail Mail; public int SendMailRuleType; public long RuleParam1; public long EndTime; //结束时间 public int VersionSeq; //版本号 } public class PushReq { public List UidList = new List(); public string Content; public string ParamKey; public string ParamValue; } public class PushData { //push id public Dictionary m_pushIdCacheMap = new Dictionary(); public int PushRequestSeq; public Dictionary m_pushReqs = new Dictionary(); public long m_lastPushAllTime; //全局推送时间 public long m_lastPushCfgDescTime;//配置表PushCfgDesc的最后推送时间 public long m_lastVipCardPushTime; //vip10点未登录 } public class RealmOnline { public int realmId; public int onlineNum; } public class WorldServerData : IServerDataObj { public ServerApp m_app; public StructPacketSender m_packetSender; public List m_gameSvrInfo; // 当前world的合法realm列表, 即可以登录的realm public List m_configRealm = new List(); public Dictionary m_configRealmMap = new Dictionary(); public Dictionary m_configRealmTempForRecv = new Dictionary(); public string recvRealmListMd5; // 1个realm可能存在多个gamesvr上, 这里记录的是1个gamesvr上的realm online public Dictionary> realmOnlineGame = new Dictionary>(); // 把所有gamesvr上同一个realm的在线人数累加起来就是realmOnlineAll, realmId -> onlineNum public Dictionary realmOnlineAll = new Dictionary(); public AlertData m_alertData = new AlertData(); // 停服标识 0/1 public int m_serverStopFlag; //发邮件列表,版本号控制 public int SendMailWithRuleVersionSeq = 0; public List m_sendMailWithRuleList = new List(); public Dictionary m_sendMailWithRulePlayerVersion = new Dictionary(); public PushData m_pushData = new PushData(); public WorldSvrSaveFileData m_WorldServerGlobalData;// 本地文件保存 // 区服商品库存信息 public Dictionary m_realmItemStock = new Dictionary(); //adid和channel对应关系 public Dictionary m_adidChannelMap = new Dictionary(); // 前一天开始时间 public long lastDayStartTime; //tick时间放这里,免的一hotfix就会全部重新数数上报在线,出bug public long m_oneSecondMs; public long m_5SecondMs; public long m_oneMinute; public long m_5Minute; public WorldServerData(ServerApp app) { m_app = app; m_packetSender = new StructPacketSender(); m_gameSvrInfo = new List(); } public override int GetDataType() { return WorldDataObjType.WorldServerData; } } }