public override void onShowed() { instance = this; // showui(true); transform.FindChild("ig_bg_bg").gameObject.SetActive(false); EliteMonsterProxy.getInstance().addEventListener(EliteMonsterProxy.EVENT_SHOW, creatrve); if (contain.transform.childCount <= 0) { initcreatrve(); } }
//2、世界boss操作 public void Active_BOSSOP(Variant data) { debug.Log("166世界boss信息:" + data.dump()); if (data.ContainsKey("boss_status")) { for (int i = 0; i < A3_EliteMonsterModel.getInstance().bossid.Length; i++) { if (data["boss_status"][i] != null) { A3_EliteMonsterModel.getInstance().bossid[i] = int.Parse(data["boss_status"][i]["index"].dump()); A3_EliteMonsterModel.getInstance().boss_status[i] = int.Parse(data["boss_status"][i]["status"].dump()); Debug.LogWarning("bossid" + A3_EliteMonsterModel.getInstance().bossid[i] + "+" + "boss_status" + A3_EliteMonsterModel.getInstance().boss_status[i]); string name = ""; if (data["boss_status"][i].ContainsKey("killer_name")) { name = data["boss_status"][i]["killer_name"]; } if (data["boss_status"][i].ContainsKey("dmg_list") && data["boss_status"][i]["dmg_list"].Count > 0) { debug.Log("伤害排行"); List <dmg_list> lst = new List <dmg_list>(); for (int j = 0; j < data["boss_status"][i]["dmg_list"].Count; j++) { int ranks = j; dmg_list sl = new dmg_list(); int mid = 0; switch (data["boss_status"][i]["index"]._int) { case 1: mid = 2012; break; case 2: mid = 3126; break; case 3: mid = 2000; break; default: break; } sl.mid = mid; sl.cid = data["boss_status"][i]["dmg_list"][j]["cid"]._int; sl.name = data["boss_status"][i]["dmg_list"][j]["name"]._str; sl.dmg = data["boss_status"][i]["dmg_list"][j]["dmg"]._int; sl.rank = ranks + 1; sl.lat_name = name; lst.Add(sl); A3_EliteMonsterModel.getInstance().dic_dmg_lst[sl.mid] = lst; } } } } dispatchEvent(GameEvent.Create(EliteMonsterProxy.EVENT_BOSSOPSUCCESS, this, data)); } //收到boss死亡或者复活 debug.Log("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" + data.dump()); uint zhuan = PlayerModel.getInstance().up_lvl; Dictionary <int, int> dic = new Dictionary <int, int>(); bool can = true; if (data.ContainsKey("index")) { string xml = XMLMgr.instance.GetSXML("worldboss.boss", "id==" + data["index"]).getString("level_limit"); string[] str = xml.Split(','); uint needzhuan = uint.Parse(str[0]); //1:复活 if (data["status"] == 1) { if (zhuan >= needzhuan) { dic[data["index"]] = data["status"]; can = true; } else { if (dic.Count > 0) { can = true; } else { can = false; EliteMonsterProxy.getInstance().SendProxy(); } } IconAddLightMgr.getInstance().showOrHideFires("shijieboss_Light_enterElite", can); } //2:死了 else if (data["status"] == 2) { if (dic.ContainsKey(data["index"])) { dic.Remove(data["index"]); } if (dic.Count > 0) { can = true; } else { can = false; EliteMonsterProxy.getInstance().SendProxy(); } IconAddLightMgr.getInstance().showOrHideFires("shijieboss_Light_enterElite", can); } //3:不存在 else { } } }