public static void NotifyClientDailyActiveData(GameClient client, int justCompleteddailyactive = -1, bool bRefresh = false) { if (client.ClientData.MyRoleDailyData != null && !bRefresh) { int nKillBoss = client.ClientData.MyRoleDailyData.TodayKillBoss; } DailyActiveData dailyactiveData = new DailyActiveData { RoleID = client.ClientData.RoleID, DailyActiveValues = (long)client.ClientData.DailyActiveValues, TotalKilledMonsterCount = (long)((ulong)client.ClientData.DailyTotalKillMonsterNum), DailyActiveTotalLoginCount = (long)((ulong)client.ClientData.DailyActiveDayLginCount), DailyActiveOnLineTimer = client.ClientData.DayOnlineSecond, DailyActiveInforFlags = DailyActiveManager.GetDailyActiveInfoArray(client), NowCompletedDailyActiveID = justCompleteddailyactive, TotalKilledBossCount = (int)client.ClientData.DailyTotalKillKillBossNum, PassNormalCopySceneNum = (int)DailyActiveManager.GetDailyActiveDataByField(client, DailyActiveDataField1.DailyActiveCompleteCopyMap1), PassHardCopySceneNum = (int)DailyActiveManager.GetDailyActiveDataByField(client, DailyActiveDataField1.DailyActiveCompleteCopyMap2), PassDifficultCopySceneNum = (int)DailyActiveManager.GetDailyActiveDataByField(client, DailyActiveDataField1.DailyActiveCompleteCopyMap3), BuyItemInMall = client.ClientData.DailyActiveDayBuyItemInMall, CompleteDailyTaskCount = (int)DailyActiveManager.GetDailyActiveDataByField(client, DailyActiveDataField1.DailyActiveCompleteDailyTask), CompleteBloodCastleCount = (int)DailyActiveManager.GetDailyActiveDataByField(client, DailyActiveDataField1.DailyActiveCompleteBloodCastle), CompleteDaimonSquareCount = (int)DailyActiveManager.GetDailyActiveDataByField(client, DailyActiveDataField1.DailyActiveCompleteDaimonSquare), CompleteBattleCount = (int)DailyActiveManager.GetDailyActiveDataByField(client, DailyActiveDataField1.DailyActiveCompleteBattle), EquipForge = (int)DailyActiveManager.GetDailyActiveDataByField(client, DailyActiveDataField1.DailyActiveEquipForge), EquipAppend = (int)DailyActiveManager.GetDailyActiveDataByField(client, DailyActiveDataField1.DailyActiveEquipAppend), ChangeLife = (int)DailyActiveManager.GetDailyActiveDataByField(client, DailyActiveDataField1.DailyActiveChangeLife), MergeFruit = (int)DailyActiveManager.GetDailyActiveDataByField(client, DailyActiveDataField1.DailyActiveMergeFruit), GetAwardFlag = Global.GetRoleParamsInt32FromDB(client, "DailyActiveAwardFlag") }; byte[] bytesData = DataHelper.ObjectToBytes <DailyActiveData>(dailyactiveData); GameManager.ClientMgr.SendToClient(client, bytesData, 558); }
/// <summary> /// 通知客户端活跃数据 /// </summary> /// <param name="client"></param> public static void NotifyClientDailyActiveData(GameClient client, int justCompleteddailyactive = -1, bool bRefresh = false) { // 通知客户端每日活跃数据 //client.ClientData.DayOnlineSecond = Global.GetRoleParamsInt32FromDB(client, RoleParamName.DayOnlineSecond); int nKillBoss = 0; if (client.ClientData.MyRoleDailyData != null && bRefresh == false) { nKillBoss = client.ClientData.MyRoleDailyData.TodayKillBoss; } DailyActiveData dailyactiveData = new DailyActiveData() { RoleID = client.ClientData.RoleID, // 角色ID DailyActiveValues = client.ClientData.DailyActiveValues, // 每日活跃值 TotalKilledMonsterCount = client.ClientData.DailyTotalKillMonsterNum, // 每日杀怪数 (int)GetDailyActiveDataByField(client, DailyActiveDataField1.DailyActiveTotalKilledMonsterNum), DailyActiveTotalLoginCount = client.ClientData.DailyActiveDayLginCount, // 每日登陆计数 DailyActiveOnLineTimer = client.ClientData.DayOnlineSecond, // 每日在线时间 DailyActiveInforFlags = GetDailyActiveInfoArray(client), // 16个bit 一组,前14个bit表示id, 后面一次是完成bit 和 奖励bit NowCompletedDailyActiveID = justCompleteddailyactive, // 刚完成的活跃ID TotalKilledBossCount = (int)client.ClientData.DailyTotalKillKillBossNum, // 每日杀BOSS计数 (int)GetDailyActiveDataByField(client, DailyActiveDataField1.DailyActiveTotalKilledBossNum), PassNormalCopySceneNum = (int)GetDailyActiveDataByField(client, DailyActiveDataField1.DailyActiveCompleteCopyMap1), PassHardCopySceneNum = (int)GetDailyActiveDataByField(client, DailyActiveDataField1.DailyActiveCompleteCopyMap2), PassDifficultCopySceneNum = (int)GetDailyActiveDataByField(client, DailyActiveDataField1.DailyActiveCompleteCopyMap3), BuyItemInMall = client.ClientData.DailyActiveDayBuyItemInMall, // 每日商城消费 CompleteDailyTaskCount = (int)GetDailyActiveDataByField(client, DailyActiveDataField1.DailyActiveCompleteDailyTask), CompleteBloodCastleCount = (int)GetDailyActiveDataByField(client, DailyActiveDataField1.DailyActiveCompleteBloodCastle), CompleteDaimonSquareCount = (int)GetDailyActiveDataByField(client, DailyActiveDataField1.DailyActiveCompleteDaimonSquare), CompleteBattleCount = (int)GetDailyActiveDataByField(client, DailyActiveDataField1.DailyActiveCompleteBattle), EquipForge = (int)GetDailyActiveDataByField(client, DailyActiveDataField1.DailyActiveEquipForge), EquipAppend = (int)GetDailyActiveDataByField(client, DailyActiveDataField1.DailyActiveEquipAppend), ChangeLife = (int)GetDailyActiveDataByField(client, DailyActiveDataField1.DailyActiveChangeLife), MergeFruit = (int)GetDailyActiveDataByField(client, DailyActiveDataField1.DailyActiveMergeFruit), GetAwardFlag = Global.GetRoleParamsInt32FromDB(client, RoleParamName.DailyActiveAwardFlag), }; byte[] bytesData = DataHelper.ObjectToBytes <DailyActiveData>(dailyactiveData); //通知客户端 GameManager.ClientMgr.SendToClient(client, bytesData, (int)TCPGameServerCmds.CMD_SPR_DAILYACTIVEDATA); }