コード例 #1
0
ファイル: LifeHeroCultureWnd.cs プロジェクト: zwong91/Titan
        public void OnObtainBtnClick()
        {
            EntityEventHelper.Instance.SendCommand(EntityFactory.MainHeroID, EntityLogicDef.ENTITY_CMD_LIFEHERO_OBTAIN_PRIZE, 0);
            UPrizePopupData uiData = new UPrizePopupData();

            uiData.strPrizeTitle = ULocalizationService.Instance.Get("UIView", "LifeHeroCulture", "PrizeFrameTitle");
            uiData.strPrizeDesc  = null;
            uiData.nPrizeIdList  = m_prizeIDList;
            uiData.nHeroID       = 0;
            uiData.nTalentIDList = new List <int>();
            UISystem.Instance.SendTargetWndMessage(WndID.WND_ID_PRIZEPOPUP, WndMsgID.WND_MSG_PRIZEPOPUP_OPEN, uiData);
            UISystem.Instance.SendWndMessage(WndMsgID.WND_MSG_COMMON_DIALOG_HIDE, new UIDialogHide(EDialogType.LifeHeroCulture));
        }
コード例 #2
0
ファイル: PrizePopupWnd.cs プロジェクト: zwong91/Titan
        public override void OnMessage(WndMsgID msgID, UIMsgData data)
        {
            switch (msgID)
            {
            case WndMsgID.WND_MSG_PRIZEPOPUP_OPEN:
            {
                SetVisible(true);

                if (m_wndView != null)
                {
                    m_wndView.OnShowPrizePopupWnd(data as UPrizePopupData);
                }
            }
            break;

            case WndMsgID.WND_MSG_WAR_RECORDTABLE_END_SHOW:
            {
                if (LogicDataCenter.playerSystemDataManager.ListActorUnlockPrizeID.Count > 0)
                {
                    SetVisible(true);
                    if (m_wndView != null)
                    {
                        UPrizePopupData uiData = new UPrizePopupData();
                        uiData.strPrizeTitle = ULocalizationService.Instance.Get("UIView", "HeroDetailView", "ActorUnlockTitle");
                        uiData.strPrizeDesc  = String.Format(ULocalizationService.Instance.Get("UIView", "HeroDetailView", "ActorUnlockContent"), LogicDataCenter.playerSystemDataManager.WarEndActorLv);
                        uiData.nPrizeIdList  = LogicDataCenter.playerSystemDataManager.ListActorUnlockPrizeID;
                        uiData.nHeroID       = 0;
                        uiData.nTalentIDList = new List <int>();
                        m_wndView.OnShowPrizePopupWnd(uiData);
                    }
                    // 清除数据
                    LogicDataCenter.playerSystemDataManager.ListActorUnlockPrizeID.Clear();
                    LogicDataCenter.playerSystemDataManager.WarEndActorLv = 0;
                }
            }
            break;

            case WndMsgID.WND_MSG_PRIZEPOPUP_CLOSE:
            {
                if (m_wndView != null)
                {
                    m_wndView.OnClickCloseBtn();
                }
            }
            break;

            default:
                break;
            }
        }
コード例 #3
0
        public void ShowHeroUpStarUnlockPrize()
        {
            if (heroUpStarPrize.nHeroID <= 0)
            {
                return;
            }

            List <HeroStarPrizeUnlockItem> starPrizeUnlockList = PrizeUnlockConfig.Instance.heroStarPrizeUnlockDic[heroUpStarPrize.nHeroID];

            if (starPrizeUnlockList == null)
            {
                return;
            }
            HeroStarPrizeUnlockItem prizeConfig = null;

            foreach (var item in starPrizeUnlockList)
            {
                if (item.nUnlockLevel == heroUpStarPrize.nStarLevel)
                {
                    prizeConfig = item;
                    break;
                }
            }
            if (prizeConfig == null)
            {
                return;
            }


            UPrizePopupData uiData = new UPrizePopupData();

            uiData.strPrizeTitle = String.Format(ULocalizationService.Instance.Get("UIView", "HeroDetailView", "PrizeTitle"), heroUpStarPrize.nStarLevel);
            uiData.strPrizeDesc  = "";
            uiData.nPrizeIdList  = new List <int>(prizeConfig.nPrizeIdList);
            uiData.nHeroID       = heroUpStarPrize.nHeroID;
            uiData.nTalentIDList = HeroTalentConfigPage.Instance.getNextPrizeTalentID(heroUpStarPrize.nHeroID, heroUpStarPrize.nStarLevel);
            UISystem.Instance.SendWndMessage(WndMsgID.WND_MSG_PRIZEPOPUP_OPEN, uiData);

            // 重新赋值为0
            heroUpStarPrize.nHeroID    = 0;
            heroUpStarPrize.nStarLevel = 0;
        }
コード例 #4
0
ファイル: PrizePopupWnd.cs プロジェクト: zwong91/Titan
        public void OnShowPrizePopupWnd(UPrizePopupData data)
        {
            if (data.nPrizeIdList == null)
            {
                return;
            }
            int nPrizeCount = data.nPrizeIdList.Count;

            // 动态改变UI大小
            //// 方案1水平排列
            //RectTransform rectParent = this.gameObject.transform as RectTransform;
            //RectTransform rectItem = PrizeTemplate.transform as RectTransform;
            //float fNeedWidth = (nPrizeCount + 1) * rectItem.sizeDelta.x;
            //Vector2 vecParentSize = rectParent.sizeDelta;
            //vecParentSize.x = Mathf.Max(500.0f, fNeedWidth);
            //rectParent.sizeDelta = vecParentSize;
            // 方案2竖直排列
            //RectTransform rectParent = this.gameObject.transform as RectTransform;
            //RectTransform rectItem = PrizeTemplate.transform as RectTransform;
            //Vector2 vecParentSize = rectParent.sizeDelta;
            //vecParentSize.y = ((nPrizeCount - 1) / 4 + 1) * rectItem.sizeDelta.y + 212;// 4个Item一行
            //rectParent.sizeDelta = vecParentSize;

            // 设置基础
            PrizeTitle.text       = data.strPrizeTitle;
            PrizeDescription.text = data.strPrizeDesc;
            PrizeDescription.gameObject.SetActive(!String.IsNullOrEmpty(data.strPrizeDesc));
            ConfirmBtnDesc.text = ULocalizationService.Instance.Get("UIView", "Common", "ConfirmBtn");

            // 设置奖励Item
            int nChildCount = PrizeFrame.childCount;

            for (int i = nChildCount - 1; i >= 0; i--)
            {
                Transform trans = PrizeFrame.GetChild(i);
                if (trans)
                {
                    var temp = trans.gameObject;
                    ResNode.DestroyRes(ref temp);
                }
            }

            // 普通奖励
            if (data.nPrizeIdList != null)
            {
                for (int i = 0; i < nPrizeCount && data.nPrizeIdList[i] > 0; i++)
                {
                    GameObject prizeObj = ResNode.InstantiateRes(PrizeTemplate);
                    if (!prizeObj)
                    {
                        return;
                    }
                    RectTransform prizeRect = prizeObj.transform as RectTransform;
                    if (!prizeRect)
                    {
                        return;
                    }
                    prizeRect.SetParent(PrizeFrame, false);
                    LegendCupPrizeItem prizeItem = prizeObj.GetComponent <LegendCupPrizeItem>();
                    if (!prizeItem)
                    {
                        return;
                    }
                    prizeItem.SetData(data.nPrizeIdList[i]);
                }
            }

            // 天赋奖励
            if (data.nTalentIDList != null)
            {
                int nHeroID = data.nHeroID;
                for (int j = 0; j < data.nTalentIDList.Count; ++j)
                {
                    GameObject prizeObj = ResNode.InstantiateRes(PrizeTemplate);
                    if (!prizeObj)
                    {
                        return;
                    }
                    RectTransform prizeRect = prizeObj.transform as RectTransform;
                    if (!prizeRect)
                    {
                        return;
                    }
                    prizeRect.SetParent(PrizeFrame, false);
                    LegendCupPrizeItem prizeItem = prizeObj.GetComponent <LegendCupPrizeItem>();
                    if (!prizeItem)
                    {
                        return;
                    }

                    int nTalentID = data.nTalentIDList[j];

                    SSchemeHeroTalentConfig talentConfig = HeroTalentConfigPage.Instance.GetHeroTalentConfig(nHeroID, nTalentID);
                    prizeItem.SetData(talentConfig);
                }
            }

            // 金币、经验奖励
            if (data.nMoneyCount > 0)
            {
                GameObject prizeObj = ResNode.InstantiateRes(PrizeTemplate);
                if (!prizeObj)
                {
                    return;
                }
                RectTransform prizeRect = prizeObj.transform as RectTransform;
                if (!prizeRect)
                {
                    return;
                }
                prizeRect.SetParent(PrizeFrame, false);
                LegendCupPrizeItem prizeItem = prizeObj.GetComponent <LegendCupPrizeItem>();
                if (!prizeItem)
                {
                    return;
                }
                prizeItem.SetData(data.nMoneyCount, ECupPrizeType.ECPT_Gold);
            }
            if (data.nExpCount > 0)
            {
                GameObject prizeObj = ResNode.InstantiateRes(PrizeTemplate);
                if (!prizeObj)
                {
                    return;
                }
                RectTransform prizeRect = prizeObj.transform as RectTransform;
                if (!prizeRect)
                {
                    return;
                }
                prizeRect.SetParent(PrizeFrame, false);
                LegendCupPrizeItem prizeItem = prizeObj.GetComponent <LegendCupPrizeItem>();
                if (!prizeItem)
                {
                    return;
                }
                prizeItem.SetData(data.nExpCount, ECupPrizeType.ECPT_Exp);
            }


            PrizeTemplate.SetActive(false);
        }