示例#1
0
        public void onActivedTalent(int nTalentID)
        {
            if (CheckActiveTalentIdIsCorrect(nTalentID) == false)
            {
                return;
            }

            UListHeroTalentData itemData = getTalentData(nTalentID);

            if (itemData != null)
            {
                UIMsgCmdData uiResult = new UIMsgCmdData((int)WndMsgID.WND_ID_HEROTALENTVIEW_LEARNHEROTALENT, itemData.nTalentId, "", IntPtr.Zero, 0);
                UISystem.Instance.SendWndMessage(WndMsgID.WND_ID_HEROTALENTVIEW_LEARNHEROTALENT, uiResult);
            }
        }
示例#2
0
        // 天赋项点击事件
        public void OnHeroTalentItemClick(int nIndex, ListViewItem item)
        {
            if (nIndex < 0 || nIndex >= HeroTalentList.DataSource.Count)
            {
                return;
            }

            UListHeroTalentData itemData = HeroTalentList.DataSource[nIndex];

            // 激活天赋
            if (ActiveTalent(itemData))
            {
                ShowMainTalent(false);
            }
        }
示例#3
0
        // 激活天赋
        private bool ActiveTalent(UListHeroTalentData itemData)
        {
            if (itemData == null)
            {
                return(false);
            }

            if (!LogicDataCenter.heroTalentDataManager.isCanActiveTalent(itemData.nTalentId, itemData.nTalentLevel))
            {
                onTalentCantActive();
                return(false);
            }

            if (itemData.nTalentTermId > 0)
            {
                // 判断前置天赋是否已经激活
                bool bTermActive = LogicDataCenter.heroTalentDataManager.isActivedThisTalent(itemData.nTalentTermId);

                if (!bTermActive)
                {
                    return(false);
                }
            }

            int nTalentId = itemData.nTalentId;

            // 判断该等级是否激活次数用完了
            if (LogicDataCenter.heroTalentDataManager.isTalentActivedThisLv(itemData.nTalentLevel))
            {
                onTalentCantActive();
                return(false);
            }

            // 激活天赋
            cmd_Entity_Hero_Talent data = new cmd_Entity_Hero_Talent();

            data.nHeroTalentId = nTalentId;
            EntityEventHelper.Instance.SendCommand <cmd_Entity_Hero_Talent>(EntityFactory.MainHeroID, EntityLogicDef.ENTITY_CMD_ACTIVE_TALENT, ref data);

            return(true);
        }
示例#4
0
        public void AddHeroTalentListData(int nTalentId, bool bCanUse, int nShowType, int nIconId, int nTalentLevel, string sTalentName, string sTalentDescInStatic, string sTalenDescInWar, int nOnlyActive, int nTalentTermId, bool isRecommandShow)
        {
            if (bCanUse == false)
            {
                return;
            }

            string sTalentDesc       = sTalenDescInWar;
            UListHeroTalentData data = new UListHeroTalentData();

            data.nTalentId     = nTalentId;
            data.nTalentIconId = nIconId;
            data.nTalentLevel  = nTalentLevel;
            data.sTalentName   = sTalentName;
            data.sTalentDesc   = sTalentDesc;
            data.bOnlyActive   = nOnlyActive > 0;
            data.bLock         = !bCanUse;
            data.nTalentTermId = nTalentTermId;
            data.bRecommand    = isRecommandShow;


            AddHeroTalentListData(data);
        }
示例#5
0
 public void AddHeroTalentListData(UListHeroTalentData data)
 {
     HeroTalentData.Add(data);
 }