Esempio n. 1
0
        public bool CanObtainPrize()
        {
            int taskID = LogicDataCenter.lifeHeroDataManager.PrizeTaskData;

            if (taskID < 0 || taskID >= LifeHeroConfig.Instance.LifeHeroPrizeList.Count)
            {
                return(false);
            }

            int meetHeroCount = 0;

            foreach (int heroID in LogicDataCenter.lifeHeroDataManager.AllLifeHero.Keys)
            {
                ActorHeroDetailInfo heroInfo = LogicDataCenter.playerSystemDataManager.GetActorHeroDetail(heroID, eType: HeroDetailReqType.HDRT_LIFEHERO);
                if (heroInfo != null && heroInfo.heroDetailInfo.nHeroID > 0)
                {
                    if (heroInfo.heroDetailInfo.nStar >= LifeHeroConfig.Instance.LifeHeroPrizeList[taskID].starLv)
                    {
                        ++meetHeroCount;
                    }
                }
                else
                {
                    Debug.Log("英雄详情信息还未收到?");
                }
            }

            return(meetHeroCount >= LifeHeroConfig.Instance.LifeHeroPrizeList[taskID].heroCount);
        }
Esempio n. 2
0
        public void UpdateHeroDetailInfo(IntPtr ptrParam, int nPtrLen)
        {
            IntPtrVaArgParseHelper helper = new IntPtrVaArgParseHelper(ptrParam, nPtrLen);

            int dwPDBID = helper.get <int>();
            cmd_entity_hero_detail_info heroDetailInfo = helper.get <cmd_entity_hero_detail_info>();

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

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

            cmd_count cmdCount = helper.get <cmd_count>();

            info.cmdCount = cmdCount;
            for (int i = 0; i < cmdCount.nCount; i++)
            {
                cmd_match_room_hero_skill_desc skillDesc = helper.get <cmd_match_room_hero_skill_desc>();
                info.heroSkillDesc.Add(skillDesc);
            }

            cmd_Return_Hero_Detail_Info returnHeroInfo;

            returnHeroInfo.nPDBID  = dwPDBID;
            returnHeroInfo.nHeroID = heroDetailInfo.nHeroID;
            UIMsgCmdData uiReturnHeroInfo = null;

            if (eHeroDetailReqType == HeroDetailReqType.HDRT_INIT)
            {
                uiReturnHeroInfo = UIMsgCmdDataHelper.Instance.create <cmd_Return_Hero_Detail_Info>(WndMsgID.WND_MSG_HERODETAIL_HERODETAILINFO, ref returnHeroInfo);
                UISystem.Instance.SendWndMessage(WndMsgID.WND_MSG_HERODETAIL_HERODETAILINFO, uiReturnHeroInfo);
            }
            else if (eHeroDetailReqType == HeroDetailReqType.HDRT_REFRESH)
            {
                uiReturnHeroInfo = UIMsgCmdDataHelper.Instance.create <cmd_Return_Hero_Detail_Info>(WndMsgID.WND_MSG_HERODETAIL_HERODETAILINFOREFRESH, ref returnHeroInfo);
                UISystem.Instance.SendWndMessage(WndMsgID.WND_MSG_HERODETAIL_HERODETAILINFOREFRESH, uiReturnHeroInfo);
            }
            else if (eHeroDetailReqType == HeroDetailReqType.HDRT_LIFEHERO)
            {
                uiReturnHeroInfo = UIMsgCmdDataHelper.Instance.create <cmd_Return_Hero_Detail_Info>(WndMsgID.WND_MSG_OPEN_LIFEHERO_CULTURE_HERO_HINT, ref returnHeroInfo);
                UISystem.Instance.SendWndMessage(WndMsgID.WND_MSG_OPEN_LIFEHERO_CULTURE_HERO_HINT, uiReturnHeroInfo);
            }
        }
Esempio n. 3
0
        public ActorHeroDetailInfo GetActorHeroDetail(int heroID, int actorID = nDefaultSelfActorID, HeroDetailReqType eType = HeroDetailReqType.HDRT_INIT)
        {
            CheckGetSelfPDBID(ref actorID);

            ActorHeroDetailInfo info     = null;
            PDBIDandHeroID      multiKey = new PDBIDandHeroID(actorID, heroID);

            if (actorHeroDetail.TryGetValue(multiKey, out info))
            {
                return(info);
            }
            else
            {
                info = new ActorHeroDetailInfo();
                info.heroDetailInfo       = new cmd_entity_hero_detail_info();
                info.cmdCount.nCount      = 0;
                info.heroSkillDesc        = new List <cmd_match_room_hero_skill_desc>();
                actorHeroDetail[multiKey] = info;
            }

            RequestHeroDetailInfo(multiKey, eType);
            return(info);
        }
Esempio n. 4
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;
        }