コード例 #1
0
ファイル: UHeroUpStarFrame.cs プロジェクト: zwong91/Titan
        // 接受消息
        public override void OnMessage(WndMsgID msgID, UIMsgData msgData)
        {
            switch (msgID)
            {
            case WndMsgID.WND_MSG_CHICKUPGRADEBUTTON_RETURN:
            {
                SetVisible(true);
                if (m_wndView == null)
                {
                    return;
                }

                UIMsgCmdData uiHeroInfo             = (UIMsgCmdData)msgData;
                cmd_entity_hero_diff_expend cmdData = IntPtrHelper.toData <cmd_entity_hero_diff_expend>(uiHeroInfo.ptrParam);
                m_wndView.setHeroUpStarInfo(cmdData);
            }
            break;

            case WndMsgID.WND_MSG_UPGRADESTARSUCESS_RESULT:
            {
                if (m_wndView == null)
                {
                    return;
                }

                UIMsgCmdData uiHeroInfo = (UIMsgCmdData)msgData;
                cmd_Return_HeroDetail_Upgrade_Success cmdData = IntPtrHelper.toData <cmd_Return_HeroDetail_Upgrade_Success>(uiHeroInfo.ptrParam);
                m_wndView.showUpStarSucess(cmdData);
            }
            break;

            default:
                break;
            }
        }
コード例 #2
0
        // 将升星前后的英雄属性赋值,并显示出来
        public void setHeroUpStarInfo(cmd_entity_hero_diff_expend cmdInfo)
        {
            WndID wndID = GetUIWnd().GetID();

            heroIcon.sprite = USpriteManager.Instance.GetSprite(USpriteManager.ESpriteType.EST_HeadPortrait, wndID, 1, 3, cmdInfo.nHeroID);
            if (heroIcon.sprite == null)
            {
                heroIcon.sprite = USpriteManager.Instance.GetSprite(USpriteManager.ESpriteType.EST_HeadPortrait, wndID, 1, 3, 10);
            }
            int nHeroStar = cmdInfo.nStarLv;

            heroStarItem.SetData(cmdInfo.nHeroID, nHeroStar, false, true);

            heroName.text = cmdInfo.chHeroName;
            if (cmdInfo.nHaveGold < cmdInfo.nExpedGold)
            {
                expendGold.text = "金币 " + cmdInfo.nExpedGold.ToString() + "(现有:<color=red>" + cmdInfo.nHaveGold.ToString() + "</color>)";
            }
            else
            {
                expendGold.text = "金币 " + cmdInfo.nExpedGold.ToString() + "(现有:" + cmdInfo.nHaveGold.ToString() + ")";
            }

            if (cmdInfo.nHaveCardCount < cmdInfo.nExpendCard)
            {
                expendCard.text = "荣誉勋章 " + cmdInfo.nExpendCard.ToString() + "(现有:<color=red>" + cmdInfo.nHaveCardCount.ToString() + "</color>)";
            }
            else
            {
                expendCard.text = "荣誉勋章 " + cmdInfo.nExpendCard.ToString() + "(现有:" + cmdInfo.nHaveCardCount.ToString() + ")";
            }

            heroLvLimitFront.text = cmdInfo.nLimitLv.ToString();
            heroLvLimitBack.text  = cmdInfo.nLimitLvAdd == 0 ? "" : ("+" + cmdInfo.nLimitLvAdd.ToString());

            for (int i = 0; i < UDefines.PROPERTY_COUNT; ++i)
            {
                if (i >= 2)
                {
                    Hp[i].text           = (cmdInfo.fHP[i] == 0 ? "" : ("+" + cmdInfo.fHP[i].ToString("F2")));
                    PhysicAttack[i].text = (cmdInfo.fPA[i] == 0 ? "" : ("+" + cmdInfo.fPA[i].ToString("F2")));
                    PhysicDef[i].text    = (cmdInfo.fPD[i] == 0 ? "" : ("+" + cmdInfo.fPD[i].ToString("F2")));
                    Mp[i].text           = (cmdInfo.fMagic[i] == 0 ? "" : ("+" + cmdInfo.fMagic[i].ToString("F2")));
                    MagicAttack[i].text  = (cmdInfo.fMA[i] == 0 ? "" : ("+" + cmdInfo.fMA[i].ToString("F2")));
                    MagicDef[i].text     = (cmdInfo.fMD[i] == 0 ? "" : ("+" + cmdInfo.fMD[i].ToString("F2")));
                }
                else
                {
                    Hp[i].text           = cmdInfo.fHP[i].ToString();
                    PhysicAttack[i].text = cmdInfo.fPA[i].ToString();
                    PhysicDef[i].text    = cmdInfo.fPD[i].ToString();
                    Mp[i].text           = cmdInfo.fMagic[i].ToString();
                    MagicAttack[i].text  = cmdInfo.fMA[i].ToString();
                    MagicDef[i].text     = cmdInfo.fMD[i].ToString();
                }
            }
            nHeroID = cmdInfo.nHeroID;
        }
コード例 #3
0
        public void UpgradeStartProAndExpend(IntPtr ptrParam, int nPtrLen)
        {
            IntPtrVaArgParseHelper      helper            = new IntPtrVaArgParseHelper(ptrParam, nPtrLen);
            cmd_entity_hero_diff_expend cmdHeroDetailInfo = helper.get <cmd_entity_hero_diff_expend>();
            int dwPDBID = EntityFactory.MainHeroView.Property.GetNumProp(ENTITY_PROPERTY.PROPERTY_ID);

            PDBIDandHeroID      multiKey = new PDBIDandHeroID(dwPDBID, cmdHeroDetailInfo.nHeroID);
            ActorHeroDetailInfo info     = null;

            if (actorHeroDetail.TryGetValue(multiKey, out info) == false)
            {
                return;
            }

            info.heroDetailInfo.nStar        = cmdHeroDetailInfo.nStarLv;
            info.heroDetailInfo.nStarExp     = cmdHeroDetailInfo.nHaveCardCount;
            info.heroDetailInfo.nStarNeedExp = cmdHeroDetailInfo.nExpendCard;
            info.heroDetailInfo.fHP          = cmdHeroDetailInfo.fHP;
            info.heroDetailInfo.fMA          = cmdHeroDetailInfo.fMA;
            info.heroDetailInfo.fMagic       = cmdHeroDetailInfo.fMagic;
            info.heroDetailInfo.fMD          = cmdHeroDetailInfo.fMD;
            info.heroDetailInfo.fPA          = cmdHeroDetailInfo.fPA;
            info.heroDetailInfo.fPD          = cmdHeroDetailInfo.fPD;
        }
コード例 #4
0
ファイル: UHeroDetail.cs プロジェクト: zwong91/Titan
        public override void OnMessage(WndMsgID msgID, UIMsgData msgData)
        {
            switch (msgID)
            {
            case WndMsgID.WND_MSG_HERODETAIL_HERODETAILINFO:
            {
                HeroDetailViewData.Instance.Clear();
                UIMsgCmdData uiInitHeroInfo = (UIMsgCmdData)msgData;
                cmd_Return_Hero_Detail_Info initHeroInfo = IntPtrHelper.toData <cmd_Return_Hero_Detail_Info>(uiInitHeroInfo.ptrParam);
                SetHeroDetailData(initHeroInfo.nHeroID, initHeroInfo.nPDBID);

                SetVisible(true);
            }
            break;

            case WndMsgID.WND_MSG_HERODETAIL_HERODETAILINFOREFRESH:
            {
                if (m_wndView == null)
                {
                    return;
                }

                UIMsgCmdData uiRefreshHeroInfo = (UIMsgCmdData)msgData;
                cmd_Return_Hero_Detail_Info refreshHeroInfo = IntPtrHelper.toData <cmd_Return_Hero_Detail_Info>(uiRefreshHeroInfo.ptrParam);
                if (refreshHeroInfo.nHeroID != HeroDetailViewData.Instance.nHeroID || refreshHeroInfo.nPDBID != HeroDetailViewData.Instance.nReqPDBID)
                {
                    return;
                }

                SetHeroDetailData(refreshHeroInfo.nHeroID, refreshHeroInfo.nPDBID);
                m_wndView.OnBuyOrChangeHeroSuccess();
            }
            break;

            case WndMsgID.WND_MSG_CHICKUPGRADEBUTTON_RETURN:
            {
                if (m_wndView == null)
                {
                    return;
                }

                UIMsgCmdData uiHeroInfo             = (UIMsgCmdData)msgData;
                cmd_entity_hero_diff_expend cmdData = IntPtrHelper.toData <cmd_entity_hero_diff_expend>(uiHeroInfo.ptrParam);
                m_wndView.OnRecvHeroDiffInfo(cmdData);
            }
            break;

            case WndMsgID.WND_MSG_UPGRADESTARSUCESS_RESULT:
            {
                if (m_wndView == null)
                {
                    return;
                }

                if (!this.IsVisible())
                {
                    return;
                }

                UIMsgCmdData uiHeroUpStarInfo = (UIMsgCmdData)msgData;
                cmd_Return_HeroDetail_Upgrade_Success cmdUpStarData = IntPtrHelper.toData <cmd_Return_HeroDetail_Upgrade_Success>(uiHeroUpStarInfo.ptrParam);
                m_wndView.ShowUpStarSucess(cmdUpStarData);
            }
            break;

            case WndMsgID.WND_MSG_HEROSKINVIEW_UPDATESKINDATA:
            {
                if (m_wndView == null)
                {
                    return;
                }

                m_wndView.OnBuyOrChangeHeroSuccess();
            }
            break;

            case WndMsgID.WND_MSG_HERODETAIL_HERODETAILXPUPDATE:
            {
                if (m_wndView == null)
                {
                    return;
                }

                m_wndView.UpdateXPSkillList();
            }
            break;

            case WndMsgID.WND_MSG_HEROPREVIEWFRAME_GETHEROINFO:
            {
                if (m_wndView != null)
                {
                    // 购买卡牌,卡牌数据主动更新
                    int                      nHeroID = HeroDetailViewData.Instance.nHeroID;
                    IntPtrHelper             helper  = new IntPtrHelper();
                    cmd_get_hero_detail_info data    = new cmd_get_hero_detail_info();
                    data.nHeroID   = nHeroID;
                    data.nStarLv   = 1;
                    data.nStaticLv = 1;
                    ActorHeroInfo info = LogicDataCenter.playerSystemDataManager.GetActorAllHero();
                    if (info.dicEntityHeroInfo.ContainsKey(nHeroID))
                    {
                        data.nStarLv   = info.dicEntityHeroInfo[nHeroID].byStarLv;
                        data.nStaticLv = info.dicEntityHeroInfo[nHeroID].nLv;
                    }
                    IntPtr ptr = helper.toPtr <cmd_get_hero_detail_info>(ref data);
                    int    len = Marshal.SizeOf(data);

                    GameLogicAPI.onEntityEvent(EntityFactory.MainHeroID, (int)EntityLogicDef.ENTITY_CMD_REQ_UPGRADESTARANDHEROPRO, len, "", ptr, len);
                }
            }
            break;

            case WndMsgID.WND_MSG_HERODETAIL_UPDATEGOLD:
            {
                if (m_wndView != null && IsVisible())
                {
                    UIMsgCmdData uiData = (UIMsgCmdData)msgData;
                    m_wndView.UpdateUpStarGoldView(uiData.nParam);
                }
            }
            break;

            case WndMsgID.WND_ID_HEROTALENTVIEW_UPDATESTATICTALENT:
            {
                if (m_wndView != null && IsVisible())
                {
                    m_wndView.OnUpdateHeroTalent();
                }
            }
            break;

                #region 新手引导相关
            case WndMsgID.WND_MSG_HERODETAIL_GUIDE_ACTIONBEGIN:
            {
                UGuideWidgetMsgData cmdData = (UGuideWidgetMsgData)msgData;

                if (m_wndView != null && cmdData != null)
                {
                    m_wndView.GuideActionBegin(cmdData);
                }
            }
            break;

            case WndMsgID.WND_MSG_HERODETAIL_GUIDE_ACTIONEND:
            {
                UGuideWidgetMsgData cmdData = (UGuideWidgetMsgData)msgData;

                if (m_wndView != null && cmdData != null)
                {
                    m_wndView.GuideActionEnd(cmdData);
                }
            }
            break;

                #endregion
            default:
                break;
            }
        }