private void OnGuildBossInfoRes(short state, GuildBossInfoRes down = null) { if (state != 0) { StateManager.Instance.StateShow(state, 0); return; } if (down != null) { if (this.guildBossActivityInfo == null) { this.guildBossActivityInfo = new GuildBossActivityInfo(); } this.guildBossActivityInfo.RemainCallBossTimes = down.canCallTimes; this.guildBossActivityInfo.IsChallenging = down.challenging; this.guildBossActivityInfo.CanKillBossCD = down.canKillBossCD; this.guildBossActivityInfo.WillChallengeBossTimes = down.willChallengeBossTimes; this.guildBossActivityInfo.CleanCDTimes = down.rmCleanTimes; this.guildBossActivityInfo.GuildBossID = down.bossInfo.bossId; this.guildBossActivityInfo.GuildBossCurrentBlood = down.bossInfo.bossHp; this.guildBossActivityInfo.GuildBossToEndCd = down.bossInfo.endCD; this.guildBossActivityInfo.GuildBossTotalBlood = down.bossInfo.bossHpLmt; this.guildBossActivityInfo.GuildBossOpenCD = down.openCD; if (this.guildBossActivityInfo.HurtRankingList == null) { this.guildBossActivityInfo.HurtRankingList = new List <GuildBossClientHurtRankingInfo>(); } this.guildBossActivityInfo.HurtRankingList.Clear(); for (int i = 0; i < down.hurtInfos.get_Count(); i++) { GuildBossHurtInfo guildBossHurtInfo = down.hurtInfos.get_Item(i); MemberInfo myGuildMemberInfoByRoleID = GuildManager.Instance.GetMyGuildMemberInfoByRoleID(guildBossHurtInfo.roleId); if (guildBossHurtInfo.roleId > 0L && myGuildMemberInfoByRoleID != null) { GuildBossClientHurtRankingInfo guildBossClientHurtRankingInfo = new GuildBossClientHurtRankingInfo(); guildBossClientHurtRankingInfo.RoleID = guildBossHurtInfo.roleId; guildBossClientHurtRankingInfo.HurtValue = guildBossHurtInfo.hurtValue; guildBossClientHurtRankingInfo.RoleName = myGuildMemberInfoByRoleID.name; guildBossClientHurtRankingInfo.RoleCarrer = myGuildMemberInfoByRoleID.career; this.guildBossActivityInfo.HurtRankingList.Add(guildBossClientHurtRankingInfo); } } this.guildBossActivityInfo.HurtRankingList.Sort(new Comparison <GuildBossClientHurtRankingInfo>(GuildBossManager.GuildBossHPRankingSort)); this.guildBossActivityInfo.FinalHurtInfo = null; if (down.fatal2BossRoleId > 0L) { MemberInfo myGuildMemberInfoByRoleID2 = GuildManager.Instance.GetMyGuildMemberInfoByRoleID(down.fatal2BossRoleId); if (myGuildMemberInfoByRoleID2 != null) { GuildBossClientHurtRankingInfo guildBossClientHurtRankingInfo2 = new GuildBossClientHurtRankingInfo(); guildBossClientHurtRankingInfo2.RoleID = down.fatal2BossRoleId; guildBossClientHurtRankingInfo2.RoleName = myGuildMemberInfoByRoleID2.name; guildBossClientHurtRankingInfo2.RoleCarrer = myGuildMemberInfoByRoleID2.career; this.guildBossActivityInfo.FinalHurtInfo = guildBossClientHurtRankingInfo2; } } EventDispatcher.Broadcast(EventNames.OnGetGuildBossInfo); } }
private static int GuildBossHPRankingSort(GuildBossClientHurtRankingInfo GBDRI1, GuildBossClientHurtRankingInfo GBDRI2) { if (GBDRI1.HurtValue > GBDRI2.HurtValue) { return(-1); } return(1); }