public override void read(ErlKVMessage message) { ErlArray array = message.getValue("msg") as ErlArray; if (array != null) { // RankManagerment.Instance.myRank.Clear(); ErlType[] types = array.Value; for (int i = 0; i < types.Length; i++) { ErlArray arlItem = types [i] as ErlArray; int type = StringKit.toInt(arlItem.Value [0].getValueString()); int nextUpdateTIme = StringKit.toInt(arlItem.Value [1].getValueString()); if (RankManagerment.Instance.nextTime.ContainsKey(type)) { RankManagerment.Instance.nextTime [type] = nextUpdateTIme; } else { RankManagerment.Instance.nextTime.Add(type, nextUpdateTIme); } clear(type); ErlArray values = arlItem.Value [2] as ErlArray; for (int j = 0; j < values.Value.Length; j++) { ErlArray vs = values.Value [j] as ErlArray; switch (type) { case RankManagerment.TYPE_COMBAT: RankItemCombat rankItemCombat = new RankItemCombat(); rankItemCombat.uid = vs.Value [0].getValueString(); rankItemCombat.name = vs.Value [1].getValueString(); rankItemCombat.combat = StringKit.toInt(vs.Value [2].getValueString()); rankItemCombat.vipLevel = StringKit.toInt(vs.Value [3].getValueString()); RankManagerment.Instance.combatList.Add(rankItemCombat); if (rankItemCombat.uid == UserManager.Instance.self.uid) { if (RankManagerment.Instance.myRank.ContainsKey(RankManagerment.TYPE_COMBAT)) { RankManagerment.Instance.myRank [RankManagerment.TYPE_COMBAT] = j + 1; } else { RankManagerment.Instance.myRank.Add(RankManagerment.TYPE_COMBAT, j + 1); } } break; case RankManagerment.TYPE_PVP: RankItemPVP rankItemPVP = new RankItemPVP(); rankItemPVP.uid = vs.Value [0].getValueString(); rankItemPVP.name = vs.Value [1].getValueString(); rankItemPVP.win = StringKit.toInt(vs.Value [2].getValueString()); rankItemPVP.vipLevel = StringKit.toInt(vs.Value [3].getValueString()); RankManagerment.Instance.pvpList.Add(rankItemPVP); if (rankItemPVP.uid == UserManager.Instance.self.uid) { if (RankManagerment.Instance.myRank.ContainsKey(RankManagerment.TYPE_PVP)) { RankManagerment.Instance.myRank [RankManagerment.TYPE_PVP] = j + 1; } else { RankManagerment.Instance.myRank.Add(RankManagerment.TYPE_PVP, j + 1); } } break; case RankManagerment.TYPE_MONEY: RankItemMoney rankItemMoney = new RankItemMoney(); rankItemMoney.uid = vs.Value [0].getValueString(); rankItemMoney.name = vs.Value [1].getValueString(); rankItemMoney.money = StringKit.toInt(vs.Value [2].getValueString()); rankItemMoney.vipLevel = StringKit.toInt(vs.Value [3].getValueString()); RankManagerment.Instance.moneyList.Add(rankItemMoney); if (rankItemMoney.uid == UserManager.Instance.self.uid) { if (RankManagerment.Instance.myRank.ContainsKey(RankManagerment.TYPE_MONEY)) { RankManagerment.Instance.myRank [RankManagerment.TYPE_MONEY] = j + 1; } else { RankManagerment.Instance.myRank.Add(RankManagerment.TYPE_MONEY, j + 1); } } break; case RankManagerment.TYPE_BOSSDAMAGE: RankItemTotalDamage rankItemDamage = new RankItemTotalDamage(); rankItemDamage.uid = vs.Value[0].getValueString(); rankItemDamage.name = vs.Value[1].getValueString(); rankItemDamage.damage = vs.Value[2].getValueString(); rankItemDamage.vipLevel = StringKit.toInt(vs.Value[3].getValueString()); RankManagerment.Instance.totalDamageList.Add(rankItemDamage); if (rankItemDamage.uid == UserManager.Instance.self.uid) { if (RankManagerment.Instance.myRank.ContainsKey(RankManagerment.TYPE_BOSSDAMAGE)) { RankManagerment.Instance.myRank[RankManagerment.TYPE_BOSSDAMAGE] = j + 1; } else { RankManagerment.Instance.myRank.Add(RankManagerment.TYPE_BOSSDAMAGE, j + 1); } } break; case RankManagerment.TYPE_LASTBATTLE: LastBattleRank rank = new LastBattleRank(); rank.uid = vs.Value[0].getValueString(); rank.serverName = vs.Value[1].getValueString(); rank.name = vs.Value[2].getValueString(); rank.vipLV = StringKit.toInt(vs.Value[3].getValueString()); rank.score = StringKit.toInt(vs.Value[4].getValueString()); RankManagerment.Instance.lastBattleRankList.Add(rank); // if (rank.uid == UserManager.Instance.self.uid) { // if (RankManagerment.Instance.myRank.ContainsKey(RankManagerment.TYPE_LASTBATTLE)) // RankManagerment.Instance.myRank[RankManagerment.TYPE_LASTBATTLE] = j + 1; // else // RankManagerment.Instance.myRank.Add(RankManagerment.TYPE_LASTBATTLE, j + 1); // } break; case RankManagerment.TYPE_ROLE: RankItemRole rankItemRole = new RankItemRole(); rankItemRole.uid = vs.Value [0].getValueString(); rankItemRole.name = vs.Value [1].getValueString(); rankItemRole.cardUid = vs.Value [2].getValueString(); rankItemRole.cardName = vs.Value [3].getValueString(); rankItemRole.vipLevel = StringKit.toInt(vs.Value [4].getValueString()); RankManagerment.Instance.roleList.Add(rankItemRole); if (rankItemRole.uid == UserManager.Instance.self.uid) { if (RankManagerment.Instance.myRank.ContainsKey(RankManagerment.TYPE_ROLE)) { if (RankManagerment.Instance.myRank [RankManagerment.TYPE_ROLE] > j + 1) { RankManagerment.Instance.myRank [RankManagerment.TYPE_ROLE] = j + 1; } } else { RankManagerment.Instance.myRank.Add(RankManagerment.TYPE_ROLE, j + 1); } } break; case RankManagerment.TYPE_GUILD: RankItemGuild rankItemGuild = new RankItemGuild(); rankItemGuild.gid = vs.Value [0].getValueString(); rankItemGuild.name = vs.Value [1].getValueString(); rankItemGuild.score = StringKit.toInt(vs.Value [2].getValueString()); //rankItemGuild.vipLevel = StringKit.toInt(vs.Value[3].getValueString()); RankManagerment.Instance.guildList.Add(rankItemGuild); break; case RankManagerment.TYPE_ROLE_LV: RankItemRoleLv rankItemRoleLv = new RankItemRoleLv(); rankItemRoleLv.uid = vs.Value [0].getValueString(); rankItemRoleLv.name = vs.Value [1].getValueString(); rankItemRoleLv.lv = StringKit.toInt(vs.Value [2].getValueString()); rankItemRoleLv.vipLevel = StringKit.toInt(vs.Value [3].getValueString()); RankManagerment.Instance.roleLvList.Add(rankItemRoleLv); if (rankItemRoleLv.uid == UserManager.Instance.self.uid) { if (RankManagerment.Instance.myRank.ContainsKey(RankManagerment.TYPE_ROLE_LV)) { RankManagerment.Instance.myRank [RankManagerment.TYPE_ROLE_LV] = j + 1; } else { RankManagerment.Instance.myRank.Add(RankManagerment.TYPE_ROLE_LV, j + 1); } } break; case RankManagerment.TYPE_GODDESS: RankItemGoddess rankItemGoddess = new RankItemGoddess(); rankItemGoddess.uid = vs.Value [0].getValueString(); rankItemGoddess.name = vs.Value [1].getValueString(); rankItemGoddess.addPer = StringKit.toInt(vs.Value [2].getValueString()); rankItemGoddess.vipLevel = StringKit.toInt(vs.Value [3].getValueString()); RankManagerment.Instance.goddessList.Add(rankItemGoddess); if (rankItemGoddess.uid == UserManager.Instance.self.uid) { if (RankManagerment.Instance.myRank.ContainsKey(RankManagerment.TYPE_GODDESS)) { RankManagerment.Instance.myRank [RankManagerment.TYPE_GODDESS] = j + 1; } else { RankManagerment.Instance.myRank.Add(RankManagerment.TYPE_GODDESS, j + 1); } } break; case RankManagerment.TYPE_LADDER: break; case RankManagerment.TYPE_GUILD_FIGHT: RankItemGuildFight guild = new RankItemGuildFight(); guild.uid = vs.Value[0].getValueString(); guild.name = vs.Value[1].getValueString(); guild.judgeScore = StringKit.toInt(vs.Value[2].getValueString()); RankManagerment.Instance.guildFightJudgeList.Add(guild); if (GuildManagerment.Instance.getGuild() != null && guild.uid == GuildManagerment.Instance.getGuild().uid) { if (RankManagerment.Instance.myRank.ContainsKey(RankManagerment.TYPE_GUILD_FIGHT)) { if (RankManagerment.Instance.myRank [RankManagerment.TYPE_GUILD_FIGHT] > j + 1) { RankManagerment.Instance.myRank [RankManagerment.TYPE_GUILD_FIGHT] = j + 1; } } else { RankManagerment.Instance.myRank.Add(RankManagerment.TYPE_GUILD_FIGHT, j + 1); } } break; } } // 末日决战排行榜解析自己名次// if (type == RankManagerment.TYPE_LASTBATTLE) { LastBattleManagement.Instance.myRank = StringKit.toInt(arlItem.Value [3].getValueString()); } } if (callback != null) { callback(); } } else { MessageWindow.ShowAlert((message.getValue("msg") as ErlType).getValueString()); if (callback != null) { callback = null; } } }
public void init(object data, int type, int index) { this.data = data; this.index = index; this.type = type; if (data == null) { setText(1, LanguageConfigManager.Instance.getLanguage("rankWindow_nodata")); return; } setSpriteBg(); setText(0, index + 1); switch (type) { case RankManagerment.TYPE_COMBAT: RankItemCombat rankItemCombat = data as RankItemCombat; setText(1, rankItemCombat.name, rankItemCombat.vipLevel, RankManagerment.TYPE_COMBAT); setText(2, rankItemCombat.combat); break; case RankManagerment.TYPE_PVP: RankItemPVP rankItemPVP = data as RankItemPVP; setText(1, rankItemPVP.name, rankItemPVP.vipLevel, RankManagerment.TYPE_PVP); setText(2, rankItemPVP.win); break; case RankManagerment.TYPE_LUCKY_CARD: RankItemLuckyCard rankItemLuckyCard = data as RankItemLuckyCard; setText(1, rankItemLuckyCard.name, rankItemLuckyCard.vipLevel, RankManagerment.TYPE_LUCKY_CARD); setText(2, rankItemLuckyCard.integral); break; case RankManagerment.TYPE_LUCKY_EQUIP: RankItemLuckyEquip rankItemLuckyEquip = data as RankItemLuckyEquip; setText(1, rankItemLuckyEquip.name, rankItemLuckyEquip.vipLevel, RankManagerment.TYPE_LUCKY_EQUIP); setText(2, rankItemLuckyEquip.integral); break; case RankManagerment.TYPE_LUCKY_LIEHUN: RankItemLuckyLiehun rankItemLuckyLiehun = data as RankItemLuckyLiehun; setText(1, rankItemLuckyLiehun.name, rankItemLuckyLiehun.vipLevel, RankManagerment.TYPE_LUCKY_LIEHUN); setText(2, rankItemLuckyLiehun.integral); break; case RankManagerment.TYPE_LUCKY_LIANJIN: RankItemLuckyLianjin rankItemLuckyLianjin = data as RankItemLuckyLianjin; setText(1, rankItemLuckyLianjin.name, rankItemLuckyLianjin.vipLevel, RankManagerment.TYPE_LUCKY_LIANJIN); setText(2, rankItemLuckyLianjin.integral); break; case RankManagerment.TYPE_MONEY: RankItemMoney rankItemMoney = data as RankItemMoney; setText(1, rankItemMoney.name, rankItemMoney.vipLevel, RankManagerment.TYPE_MONEY); setText(2, rankItemMoney.money); break; case RankManagerment.TYPE_BOSSDAMAGE: RankItemTotalDamage rankItemDamage = data as RankItemTotalDamage; setText(1, rankItemDamage.name, rankItemDamage.vipLevel, RankManagerment.TYPE_BOSSDAMAGE); setText(2, rankItemDamage.damage); break; case RankManagerment.TYPE_ROLE: RankItemRole rankItemRole = data as RankItemRole; setText(1, rankItemRole.name, rankItemRole.vipLevel, RankManagerment.TYPE_ROLE); setText(2, rankItemRole.cardName, RankManagerment.TYPE_ROLE_CARD); break; case RankManagerment.TYPE_GUILD: RankItemGuild rankItemGuild = data as RankItemGuild; setText(1, rankItemGuild.name, rankItemGuild.vipLevel, RankManagerment.TYPE_GUILD); setText(2, rankItemGuild.score); break; case RankManagerment.TYPE_ROLE_LV: RankItemRoleLv rankItemLevel = data as RankItemRoleLv; setText(1, rankItemLevel.name, rankItemLevel.vipLevel, RankManagerment.TYPE_ROLE_LV); setText(2, rankItemLevel.lv); break; case RankManagerment.TYPE_GODDESS: RankItemGoddess rankItemGoddess = data as RankItemGoddess; setText(1, rankItemGoddess.name, rankItemGoddess.vipLevel, RankManagerment.TYPE_GODDESS); setText(2, rankItemGoddess.addPer + "%"); break; case RankManagerment.TYPE_GUILD_SHAKE: GuildShakeRankItem guildShakeRankItem = data as GuildShakeRankItem; setText(1, guildShakeRankItem.name, RankManagerment.TYPE_GUILD_SHAKE); setText(2, guildShakeRankItem.integral); setText(3, guildShakeRankItem.contribution); break; case RankManagerment.TYPE_GUILD_AREA_CONTRIBUTION: GuildAreaHurtRankItem item = data as GuildAreaHurtRankItem; setText(1, item.name); setText(2, item.warNum); setText(3, item.hurtNum); break; case RankManagerment.TYPE_GUILD_FIGHT: RankItemGuildFight guild = data as RankItemGuildFight; setText(1, guild.name, RankManagerment.TYPE_GUILD_FIGHT); setText(2, guild.getJudgeString()); setText(3, guild.judgeScore); break; } //给前三名加金杯,银杯,铜杯 if (cup != null) { switch (index) { case 0: cup.spriteName = "rank_1"; cup.gameObject.SetActive(true); rankingNumber.transform.localScale = new Vector3(0.8f, 0.8f, 0.8f); texts[0].text = ""; break; case 1: cup.spriteName = "rank_2"; cup.gameObject.SetActive(true); rankingNumber.transform.localScale = new Vector3(0.8f, 0.8f, 0.8f); texts[0].text = ""; break; case 2: cup.spriteName = "rank_3"; cup.gameObject.SetActive(true); rankingNumber.transform.localScale = new Vector3(0.8f, 0.8f, 0.8f); texts[0].text = ""; break; default: cup.spriteName = null; cup.gameObject.SetActive(false); rankingNumber.transform.localScale = new Vector3(0.6f, 0.6f, 0.6f); break; } } }