//世界boss结算反馈.. private static void msg_SC_WB_RESULT_ACK(int iMsgID, ref CMessage msg) { CliProto.SC_WB_RESULT_ACK refMsg = (CliProto.SC_WB_RESULT_ACK)msg; if (refMsg.m_Result == 0) { HeaderProto.SWorldBossInfo info = refMsg.m_Info; sdActGameMgr.Instance.BuildWorldBossInfo(info); GameObject wnd = sdGameLevel.instance.NGUIRoot; if (wnd) { sdUIWorldBossWnd bossWnd = wnd.GetComponentInChildren <sdUIWorldBossWnd>(); if (bossWnd) { bossWnd.RefreshWorldBossUI(); bossWnd.RefreshLBItemListPage(); sdActGameMgr.Instance.m_uuWorldBossLastBlood = sdActGameMgr.Instance.m_WorldBossInfo.m_Blood; sdActGameMgr.Instance.m_uuWorldBossNowBlood = sdActGameMgr.Instance.m_WorldBossInfo.m_Blood; bNeedResetWorldBossHP = true; } } } }
public void RefreshLBItemListPage() { HeaderProto.SWorldBossInfo worldBossInfo = sdActGameMgr.Instance.m_WorldBossInfo; int num = worldBossInfo.m_Atkcount; int count = lbItemList.Count; if (num > count) { num = num - count; for (int i = 0; i < num; ++i) { GameObject tempItem = GameObject.Instantiate(lbItem) as GameObject; tempItem.transform.parent = lbItem.transform.parent; tempItem.transform.localPosition = lbItem.transform.localPosition; tempItem.transform.localScale = lbItem.transform.localScale; Vector3 pos = tempItem.transform.localPosition; pos.y = pos.y - (46 * count); tempItem.transform.localPosition = pos; lbItemList.Add(lbItemList.Count, tempItem.GetComponent <sdUIWorldBossRecordIcon>()); ++count; } } IDictionaryEnumerator iter = lbItemList.GetEnumerator(); for (int i = 0; i < worldBossInfo.m_Atkcount; i++) { if (iter.MoveNext()) { int iRank = worldBossInfo.m_Atklist[i].m_Rank; string strName = System.Text.Encoding.UTF8.GetString(worldBossInfo.m_Atklist[i].m_Nm); int iDamage = worldBossInfo.m_Atklist[i].m_Dmg; sdUIWorldBossRecordIcon icon = iter.Value as sdUIWorldBossRecordIcon; if (worldBossInfo.m_Atklist[i].m_Id > 0) { icon.SetIdAndReflashUI(iRank, strName, iDamage); } else { icon.SetIdAndReflashUI(0, "", 0); } } } while (iter.MoveNext()) { sdUIWorldBossRecordIcon icon = iter.Value as sdUIWorldBossRecordIcon; icon.SetIdAndReflashUI(0, "", 0); } }
//世界boss信息刷新反馈.. private static void msg_SC_WB_INFO_REFRESH_ACK(int iMsgID, ref CMessage msg) { CliProto.SC_WB_INFO_REFRESH_ACK refMsg = (CliProto.SC_WB_INFO_REFRESH_ACK)msg; HeaderProto.SWorldBossInfo info = refMsg.m_Info; sdActGameMgr.Instance.BuildWorldBossInfo(info); GameObject wnd = sdGameLevel.instance.NGUIRoot; if (wnd) { sdUIWorldBossWnd bossWnd = wnd.GetComponentInChildren <sdUIWorldBossWnd>(); if (bossWnd) { bossWnd.RefreshWorldBossUI(); bossWnd.RefreshLBItemListPage(); } } }
//进入世界boss反馈.. private static void msg_SC_WB_ENTER_ACK(int iMsgID, ref CMessage msg) { CliProto.SC_WB_ENTER_ACK refMsg = (CliProto.SC_WB_ENTER_ACK)msg; if (refMsg.m_Result == 0) { HeaderProto.SWorldBossInfo info = refMsg.m_Info; sdActGameMgr.Instance.BuildWorldBossInfo(info); GameObject wnd = sdGameLevel.instance.NGUIRoot; if (wnd) { sdUIWorldBossWnd bossWnd = wnd.GetComponentInChildren <sdUIWorldBossWnd>(); if (bossWnd) { bossWnd.RefreshWorldBossUI(); bossWnd.RefreshLBItemListPage(); int iLevelID = sdActGameMgr.Instance.GetWorldBossLevelID(); if (iLevelID > 0) { sdLevelInfo.SetCurLevelId(iLevelID); // 通知宠物管理器.. sdNewPetMgr.Instance.OnEnterLevel(); sdUICharacter.Instance.iCurrentLevelID = iLevelID; sdUICharacter.Instance.bCampaignLastLevel = false; sdUICharacter.Instance.SetBattleType((byte)HeaderProto.LEVEL_BATTLE_TYPE.LEVEL_BATTLE_TYPE_WORLD_BOSS); //申请进入场景.. BundleGlobal.SetBundleDontUnload("UI/$FightUI.unity3d"); sdResourceMgr.Instance.LoadResource("UI/UIPrefab/$Fight.prefab", sdUIWorldBossWndBtn.OnLoadFightUI, null); sdUILoading.ActiveLoadingUI("cave1", "凶恶的世界BOSS"); bossWnd.setbossmodelVisible(false); bossWnd.m_bWorldBossAck = true; sdActGameMgr.Instance.m_uuWorldBossLastBlood = sdActGameMgr.Instance.m_WorldBossInfo.m_Blood; sdActGameMgr.Instance.m_uuWorldBossNowBlood = sdActGameMgr.Instance.m_WorldBossInfo.m_Blood; } } } } }
//数据填充.. public void BuildWorldBossInfo(HeaderProto.SWorldBossInfo bossInfo) { m_WorldBossInfo.m_WBDBID = bossInfo.m_WBDBID; m_WorldBossInfo.m_WBTmpId = bossInfo.m_WBTmpId; m_WorldBossInfo.m_TotalNum = bossInfo.m_TotalNum; m_WorldBossInfo.m_Blood = bossInfo.m_Blood; m_WorldBossInfo.m_BossBuff.m_Percent = bossInfo.m_BossBuff.m_Percent; m_WorldBossInfo.m_BossBuff.m_BuffID = bossInfo.m_BossBuff.m_BuffID; m_WorldBossInfo.m_Atkcount = bossInfo.m_Atkcount; for (int i = 0; i < bossInfo.m_Atkcount; i++) { if (m_WorldBossInfo.m_Atklist[i] == null) { m_WorldBossInfo.m_Atklist[i] = new HeaderProto.WBAtkInfo(); } m_WorldBossInfo.m_Atklist[i].m_Buf = bossInfo.m_Atklist[i].m_Buf; m_WorldBossInfo.m_Atklist[i].m_BufId = bossInfo.m_Atklist[i].m_BufId; m_WorldBossInfo.m_Atklist[i].m_Dmg = bossInfo.m_Atklist[i].m_Dmg; m_WorldBossInfo.m_Atklist[i].m_Id = bossInfo.m_Atklist[i].m_Id; m_WorldBossInfo.m_Atklist[i].m_Nm = bossInfo.m_Atklist[i].m_Nm; m_WorldBossInfo.m_Atklist[i].m_Rank = bossInfo.m_Atklist[i].m_Rank; } m_WorldBossInfo.m_AtkInfo.m_Buf = bossInfo.m_AtkInfo.m_Buf; m_iWBMyBuff = bossInfo.m_AtkInfo.m_Buf; m_WorldBossInfo.m_AtkInfo.m_BufId = bossInfo.m_AtkInfo.m_BufId; m_WorldBossInfo.m_AtkInfo.m_Dmg = bossInfo.m_AtkInfo.m_Dmg; m_WorldBossInfo.m_AtkInfo.m_Id = bossInfo.m_AtkInfo.m_Id; m_WorldBossInfo.m_AtkInfo.m_Nm = bossInfo.m_AtkInfo.m_Nm; m_WorldBossInfo.m_AtkInfo.m_Rank = bossInfo.m_AtkInfo.m_Rank; m_WorldBossInfo.m_Status = bossInfo.m_Status; m_WorldBossInfo.m_StartTime = bossInfo.m_StartTime; m_WorldBossInfo.m_EndTime = bossInfo.m_EndTime; m_WorldBossInfo.m_Killtime = bossInfo.m_Killtime; m_WorldBossInfo.m_ReliveTime = bossInfo.m_ReliveTime; m_WorldBossInfo.m_NextTime = bossInfo.m_NextTime; m_WorldBossInfo.m_Time = bossInfo.m_Time; }