/* Sog 游戏基础库 2016 by zouwei */ using System; using System.Collections.Generic; using Sog; namespace Battle { public class BattleCheckStat { // 最近一分钟的统计数据, 包含arena public long battleNum; public long checkSuccBattleNum; public long maxCheckTimeMs; public long maxLogicTimeMs; public long maxMainlandId; public long battleLogicTimeMs; public long battleCheckTimeMs; // 竞技场 public long arenaNum; public long checkSuccArenaNum; // 服务器启动至今的统计数据 public long battleNum_total; public long checkSuccBattleNum_total; public long maxCheckTimeMs_total; public long maxLogicTimeMs_total; public long maxMainlandId_total; public long battleLogicTimeMs_total; public long battleCheckTimeMs_total; // 竞技场 public long arenaNum_total; public long checkSuccArenaNum_total; public Dictionary errorCount = new Dictionary(); public Dictionary appVersionFailCount = new Dictionary(); public Dictionary enterMainlandNum = new Dictionary(); public long totalMainlandNum = 0; public Dictionary enterArenaNum = new Dictionary(); public long totalArenaNum = 0; } public class BattleServerData : IServerDataObj { public ServerApp m_app; public StructPacketSender m_packetSender; // 后续把App.StopStage修改成为3个阶段,就可以不用这个flag了 public int forceLeaveOnSvrStop; //对象ID,递增就可以了,简单点 public uint m_ObjID = 0; public BattleCheckStat battleCheckStat; public int m_battleVersion = 0; public BattleServerData(ServerApp app) { m_app = app; m_packetSender = new StructPacketSender(); m_packetSender.Init(app.ServerID, app.GetCluster()); battleCheckStat = new BattleCheckStat(); } public override int GetDataType() { return BattleDataObjType.BattleServerData; } } }