Exemple #1
0
    //世界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);
        }
    }
Exemple #3
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();
            }
        }
    }
Exemple #4
0
    //进入世界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;
                    }
                }
            }
        }
    }
Exemple #5
0
    //数据填充..
    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;
    }