Esempio n. 1
0
        public bool checkIsHaveSkin(int nHeroId, int nSkinId)
        {
            cmd_Hero_Skin_Info cmdSkinInfo = new cmd_Hero_Skin_Info();
            SkinInfoScheme     skinConfig  = new SkinInfoScheme();

            if (!GameLogicAPI.GetHeroSkinInfo(nSkinId, ref skinConfig))
            {
                return(false);
            }

            // 拥有皮肤 或 拥有英雄的默认皮肤
            bool bHaveHero = LogicDataCenter.playerSystemDataManager.CheckIsHaveHero(nHeroId);
            bool bHaveSkin;

            if (LogicDataCenter.heroSkinDataManager.GetHeroSkinInfo(nHeroId, nSkinId, ref cmdSkinInfo))
            {
                bHaveSkin = true;
            }
            else
            {
                bHaveSkin = (bHaveHero && skinConfig.nSkinLevel == (int)SKIN_LEVEL_TYPE.ESLT_NORMAL) ? true : false;
            }

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

            return(true);
        }
Esempio n. 2
0
        private void RefurbishListView(TimeThresholdGoodsType type)
        {
            this.SetVisible(true);
            m_wndView.ClearTypeThresholdGoodList(type);
            switch (type)
            {
            case TimeThresholdGoodsType.TIMETHRESHOLDGOODSTYPE_SKIN:
            {
                Dictionary <int, List <cmd_Hero_Skin_Info> > SkinData = LogicDataCenter.heroSkinDataManager.HeroSkinData;
                if (SkinData == null)
                {
                    this.SetVisible(false);
                    return;
                }

                foreach (int nHeroId in SkinData.Keys)
                {
                    foreach (cmd_Hero_Skin_Info info in SkinData[nHeroId])
                    {
                        if (!CheckGoodIsInTimeThreshold(type, info.dwDurationTime))
                        {
                            continue;
                        }

                        SkinInfoScheme skinConfig = new SkinInfoScheme();
                        if (!GameLogicAPI.GetHeroSkinInfo(info.nSkinId, ref skinConfig))
                        {
                            continue;
                        }

                        UListTimeThresholdData data = new UListTimeThresholdData();
                        data.nGoodId      = info.nSkinId;
                        data.nGoodIconId  = nHeroId;       //skinConfig.nSkinIconID;
                        data.sGoodName[0] = "皮肤  :";
                        data.sGoodName[1] = skinConfig.szSkinName;

                        data.szParam            = "英雄";
                        data.nParam             = nHeroId;
                        data.nGoodThresholdTime = info.dwDurationTime;
                        m_wndView.AddThresholdGoodListItem(type, data);
                    }
                }
            }
            break;

            default:
                break;
            }

            bool bShow = m_wndView.SetThresholdGoodListDataSource();

            this.SetVisible(bShow);
        }
Esempio n. 3
0
    public static bool GetHeroSkinInfo(int nSkinID, ref SkinInfoScheme _sData)
    {
        IntPtr infoPtr = getHeroSkinConfig(nSkinID);

        if ((int)infoPtr == 0)
        {
            Trace.LogWarning("getHeroSkinConfig 获取ID:" + nSkinID + "的皮肤信息无效");
            return(false);
        }

        _sData = IntPtrHelper.toData <SkinInfoScheme>(infoPtr);

        return(true);
    }
Esempio n. 4
0
        /// <summary>
        /// 切换英雄
        /// </summary>
        /// <param name="nSkinId"></param>
        /// <param name="nHeroId"></param>
        private void SetChangeHeroSkin(int nSkinId, int nHeroId)
        {
            if (nSkinId == m_nLastSkinId)
            {
                return;
            }

            SkinInfoScheme skinConfig = new SkinInfoScheme();

            if (GameLogicAPI.GetHeroSkinInfo(nSkinId, ref skinConfig))
            {
                SoundManager.DeleteSound(m_nLastSkinSoundID);
                m_nLastSkinSoundID = skinConfig.nSoundID;
            }


            SkinManager.SetChangeHeroSkinEffect(nSkinId, ref m_LastSkinEffect, ref m_nLastSkinId, m_viewMediator.SceneRoot, ASpeedGame.Data.PersonModelTransFormInfo.PERSONMODELVIEWID.PERSONMODELVIEWID_GAMEWAITINGROOM, OnSkinLoadFinish, this);
        }
Esempio n. 5
0
        public void SetData(int nParam, ECupPrizeType eType = ECupPrizeType.ECPT_Personal, UEffectPrefabType effectType = UEffectPrefabType.UEPT_None, bool bShowPrizeDes = true)
        {
            string sGold = ULocalizationService.Instance.Get("UIView", "LegendCupPrize", "Gold");
            string sExp  = ULocalizationService.Instance.Get("UIView", "LegendCupPrize", "Exp");

            BaseIcon.gameObject.SetActive(false);

            if (eType == ECupPrizeType.ECPT_Gold)
            {
                PrizeIcon.sprite = GetPrizeIconSprite((int)EPrizeIconType.EPIT_Gold);
                PrizeDes.text    = nParam + sGold;
                toolTip.SetText(UTooltipParamName.BodyText, nParam + sGold);
            }
            else if (eType == ECupPrizeType.ECPT_Exp)
            {
                PrizeIcon.sprite = GetPrizeIconSprite((int)EPrizeIconType.EPIT_ActorExp);
                PrizeDes.text    = nParam + sExp;
                toolTip.SetText(UTooltipParamName.BodyText, nParam + sExp);
            }
            else if (eType == ECupPrizeType.ECPT_Personal)
            {
                // 与商城奖励图标一致
                SSchemeActorPrizeConfig prizeConfig = ActorPrizeConfig.Instance.GetActorPrizeConfig(nParam);
                if (prizeConfig == null)
                {
                    return;
                }

                if (prizeConfig.nPrizeType == (int)EMActorPrizeType.ACTOR_PRIZE_HERO)
                {
                    PrizeIcon.sprite = USpriteManager.Instance.GetSprite(USpriteManager.ESpriteType.EST_HeadPortrait, WndID.WND_ID_POINTSHOP, 1, 3, prizeConfig.nPrizeParam[0]);
                }
                else if (prizeConfig.nPrizeType == (int)EMActorPrizeType.ACTOR_PRIZE_HEROCARD)
                {
                    PrizeIcon.sprite = USpriteManager.Instance.GetSprite(USpriteManager.ESpriteType.EST_HeadPortrait, WndID.WND_ID_POINTSHOP, 1, 7, prizeConfig.nPrizeParam[0]);
                    BaseIcon.gameObject.SetActive(true);
                }
                else if (prizeConfig.nPrizeType == (int)EMActorPrizeType.ACTOR_PRIZE_RUNE)
                {
                    SSchemeRuneConfig runeConfig = RunePage.Instance.allRunePageTable[prizeConfig.nPrizeParam[0]] as SSchemeRuneConfig;
                    if (runeConfig != null)
                    {
                        PrizeIcon.sprite = USpriteManager.Instance.GetSprite(USpriteManager.ESpriteType.EST_Rune, WndID.WND_ID_POINTSHOP, runeConfig.nRuneInlayType, runeConfig.nRuneIconId);
                    }
                }
                else if (prizeConfig.nPrizeType == (int)EMActorPrizeType.ACTOR_PRIZE_HEROXPSKILL)
                {
                    PrizeIcon.sprite = USpriteManager.Instance.GetSprite(USpriteManager.ESpriteType.EST_ActorPrize, WndID.WND_ID_POINTSHOP, prizeConfig.nPrizeType, prizeConfig.nPrizeIcon);
                }
                else if (prizeConfig.nPrizeType == (int)EMActorPrizeType.ACTOR_PRIZE_HEROSKIN)
                {
                    SkinInfoScheme skinConfig = new SkinInfoScheme();
                    if (GameLogicAPI.GetHeroSkinInfo(prizeConfig.nPrizeParam[1], ref skinConfig))
                    {
                        PrizeIcon.sprite = USpriteManager.Instance.GetSprite(USpriteManager.ESpriteType.EST_HeadPortrait, WndID.WND_ID_POINTSHOP, skinConfig.nSkinIconID, 3, prizeConfig.nPrizeParam[0]);
                    }
                }
                else
                {
                    PrizeIcon.sprite = USpriteManager.Instance.GetSprite(USpriteManager.ESpriteType.EST_ActorPrize, WndID.WND_ID_POINTSHOP, prizeConfig.nPrizeType, prizeConfig.nPrizeIcon);
                }

                PrizeDes.text = prizeConfig.strPrizeName;
                toolTip.SetText(UTooltipParamName.BodyText, prizeConfig.strPrizeDesc);
            }

            PrizeDes.gameObject.SetActive(bShowPrizeDes);

            if (effectType != UEffectPrefabType.UEPT_None)
            {
                if (param != null)
                {
                    UEffectManager.Instance.DestroyEffect(UEffectType.UET_EffectPrefab, ref param);
                    param = null;
                }
                param = new UEffectPrefabParam(_eType: effectType, _tfAttachParent: PrizeEffect.transform, _bAutoDestroy: false);
                UEffectManager.Instance.CreateEffect(UEffectType.UET_EffectPrefab, ref param);
            }

            this.gameObject.SetActive(true);
        }
Esempio n. 6
0
        public void SetItemData(cmd_match_load_scene_playerinfo data)
        {
            int            nSkinIconID = 0;
            SkinInfoScheme skinConfig  = new SkinInfoScheme();

            if (GameLogicAPI.GetHeroSkinInfo(data.nSkinID, ref skinConfig))
            {
                nSkinIconID = skinConfig.nSkinIconID;
            }
            Sprite skinSprite = USpriteManager.Instance.GetSprite(USpriteManager.ESpriteType.EST_HeadPortrait, WndID.WND_ID_LOADINGWARVIEW, nSkinIconID, 1, data.nHeroID);

            if (skinSprite == null)
            {
                skinSprite = USpriteManager.Instance.GetSprite(USpriteManager.ESpriteType.EST_HeadPortrait, WndID.WND_ID_LOADINGWARVIEW, 1, 1, data.nHeroID);
            }
            HeroIcon.sprite = skinSprite;

            SSchemeHeroXPskillConfig xpConfig = HeroXPskillConfig.Instance.GetHeroXPskillConfig(data.nHeroID, data.nXPSkillID);

            if (xpConfig != null)
            {
                XpIcon.sprite = USpriteManager.Instance.GetSprite(USpriteManager.ESpriteType.EST_Skill, WndID.WND_ID_LOADINGWARVIEW, 1, xpConfig.nIconID);
                XpIcon.gameObject.SetActive(true);
            }
            else
            {
                XpIcon.gameObject.SetActive(false);
            }


            SummerIcon.sprite = USpriteManager.Instance.GetSprite(USpriteManager.ESpriteType.EST_Skill, WndID.WND_ID_LOADINGWARVIEW, 1, data.nSupportSkill[0]);
            SummerIcon.gameObject.SetActive(SummerIcon.sprite != null);

            //HeadIcon
            int nSex = data.cmdPlayerVsDetails.nSex;

            if (nSex < (int)PERSON_SEX.SEX_MAX && nSex >= (int)PERSON_SEX.SEX_MALE)
            {
                HeadIcon.gameObject.SetActive(true);
                HeadIcon.sprite = USpriteManager.Instance.GetSprite(USpriteManager.ESpriteType.EST_PlayerHead, WndID.WND_ID_RANK_INVITE, 1, nSex + 1);
            }
            else
            {
                HeadIcon.gameObject.SetActive(false);
            }

            VocationText.text  = data.szVocationName;
            VocationText.color = data.nCamp == data.nSelfCamp ? UDefines.CommomColor(ECommonColor.ECC_Blue1) : UDefines.CommomColor(ECommonColor.ECC_Red1);
            // Ob位加载界面,0阵营蓝色,1阵营红色
            if (data.nSelfCamp < 0)
            {
                VocationText.color = data.nCamp == 0 ? UDefines.CommomColor(ECommonColor.ECC_Blue1) : UDefines.CommomColor(ECommonColor.ECC_Red1);
            }

            PlayerNameText.text  = data.szPlayerName;
            PlayerNameText.color = data.nSelfInfo > 0 ? UDefines.CommomColor(ECommonColor.ECC_Blue1) : UDefines.CommomColor(ECommonColor.ECC_White);

            if (data.nIsComputer > 0)
            {
                ReadText.text      = "读取完毕";
                ReadCountText.text = "100%";
                m_bUpdate          = false;
            }
            else
            {
                ReadText.text      = "读取中";
                ReadCountText.text = "0%";
                m_bUpdate          = true;
            }

            this.gameObject.SetActive(true);
        }
Esempio n. 7
0
        public Sprite GetIconByPrize(SSchemeActorPrizeConfig prizeConfig, WndID wndID)
        {
            if (prizeConfig == null)
            {
                return(null);
            }

            Sprite sprite = null;

            switch (prizeConfig.nPrizeType)
            {
            case (int)EMActorPrizeType.ACTOR_PRIZE_HERO:
            {
                int iconIndex;
                if (wndID == WndID.WND_ID_MAILBOX)
                {
                    iconIndex = 4;
                }
                else
                {
                    iconIndex = 3;
                }
                sprite = USpriteManager.Instance.GetSprite(USpriteManager.ESpriteType.EST_HeadPortrait, wndID, 1, iconIndex, prizeConfig.nPrizeParam[0]);
            }
            break;

            case (int)EMActorPrizeType.ACTOR_PRIZE_HEROCARD:
            {
                int iconIndex;
                if (wndID == WndID.WND_ID_MAILBOX)
                {
                    iconIndex = 4;
                }
                else
                {
                    iconIndex = 7;
                }
                sprite = USpriteManager.Instance.GetSprite(USpriteManager.ESpriteType.EST_HeadPortrait, wndID, 1, iconIndex, prizeConfig.nPrizeParam[0]);
            }
            break;

            case (int)EMActorPrizeType.ACTOR_PRIZE_RUNE:
            {
                SSchemeRuneConfig runeConfig = RunePage.Instance.allRunePageTable[prizeConfig.nPrizeParam[0]] as SSchemeRuneConfig;
                if (runeConfig != null)
                {
                    sprite = USpriteManager.Instance.GetSprite(USpriteManager.ESpriteType.EST_Rune, wndID, runeConfig.nRuneInlayType, runeConfig.nRuneIconId);
                }
            }
            break;

            case (int)EMActorPrizeType.ACTOR_PRIZE_HEROSKIN:
            {
                SkinInfoScheme skinConfig = new SkinInfoScheme();
                if (GameLogicAPI.GetHeroSkinInfo(prizeConfig.nPrizeParam[1], ref skinConfig))
                {
                    sprite = USpriteManager.Instance.GetSprite(USpriteManager.ESpriteType.EST_HeadPortrait, wndID, skinConfig.nSkinIconID, 3, prizeConfig.nPrizeParam[0]);
                }
            }
            break;

            default:
            {
                sprite = USpriteManager.Instance.GetSprite(USpriteManager.ESpriteType.EST_ActorPrize, wndID, prizeConfig.nPrizeType, prizeConfig.nPrizeIcon);
            }
            break;
            }

            return(sprite);
        }
Esempio n. 8
0
        public bool CheckCanBuyGoods(int nSellID, int nNum)
        {
            SSchemePointShopGoodsConfig goodsConfig = PointShopConfig.Instance.GetPointShopGoodsConfig(nSellID);

            if (goodsConfig == null)
            {
                return(false);
            }

            SSchemeActorPrizeConfig prizeConfig = ActorPrizeConfig.Instance.GetActorPrizeConfig(goodsConfig.nPrizeID);

            if (prizeConfig == null)
            {
                return(false);
            }

            if (prizeConfig.nPrizeType == (int)EMActorPrizeType.ACTOR_PRIZE_HERO)
            {
                int           nHeroID       = prizeConfig.nPrizeParam[0];
                ActorHeroInfo actorHeroInfo = LogicDataCenter.playerSystemDataManager.GetActorAllHero();
                if (actorHeroInfo == null)
                {
                    return(false);
                }

                cmd_entity_hero_info heroData;
                if (actorHeroInfo.dicEntityHeroInfo.TryGetValue(nHeroID, out heroData))
                {
                    if (heroData.bIsBuy > 0)
                    {
                        return(false);
                    }
                }
            }

            if (prizeConfig.nPrizeType == (int)EMActorPrizeType.ACTOR_PRIZE_HEROSKIN)
            {
                cmd_Hero_Skin_Info cmdSkinInfo = new cmd_Hero_Skin_Info();
                SkinInfoScheme     skinConfig  = new SkinInfoScheme();
                if (!GameLogicAPI.GetHeroSkinInfo(prizeConfig.nPrizeParam[1], ref skinConfig))
                {
                    return(false);
                }

                bool bHaveSkin;
                if (LogicDataCenter.heroSkinDataManager.GetHeroSkinInfo(prizeConfig.nPrizeParam[0], prizeConfig.nPrizeParam[1], ref cmdSkinInfo))
                {
                    bHaveSkin = true;
                }
                else
                {
                    bHaveSkin = skinConfig.nSkinLevel == (int)SKIN_LEVEL_TYPE.ESLT_NORMAL ? true : false;
                }

                if (bHaveSkin)
                {
                    return(false);
                }
            }

            return(true);
        }
Esempio n. 9
0
        // 显示
        public void SetData(int nPrizeID, int nPrizeCount, bool bFirstWinType = false, bool bShowClan = false, bool bShowNoVave = false)
        {
            SSchemeActorPrizeConfig config = new SSchemeActorPrizeConfig();

            config = ActorPrizeConfig.Instance.GetActorPrizeConfig(nPrizeID);
            if (config != null)
            {
                if (config.nPrizeType == (int)EMActorPrizeType.ACTOR_PRIZE_GOLD && bFirstWinType)
                {
                    nPrizeCount = config.nPrizeParam[0];
                }

                if (nPrizeCount > 1)
                {
                    prizeName.text = String.Format("{0}+{1}", config.strPrizeName, nPrizeCount);
                }
                else
                {
                    prizeName.text = config.strPrizeName;
                }
                //prizeNum.text = nPrizeCount.ToString();
                prizeNum.gameObject.SetActive(false);
                if (config.nPrizeType == (int)EMActorPrizeType.ACTOR_PRIZE_HERO)
                {
                    prizeImage.sprite = USpriteManager.Instance.GetSprite(USpriteManager.ESpriteType.EST_HeadPortrait, WndID.WND_ID_TASK_UNFOLD, 1, 3, config.nPrizeParam[0]);
                }
                else if (config.nPrizeType == (int)EMActorPrizeType.ACTOR_PRIZE_HEROCARD)
                {
                    prizeImage.sprite = USpriteManager.Instance.GetSprite(USpriteManager.ESpriteType.EST_HeadPortrait, WndID.WND_ID_TASK_UNFOLD, 1, 7, config.nPrizeParam[0]);
                }
                else if (config.nPrizeType == (int)EMActorPrizeType.ACTOR_PRIZE_RUNE)
                {
                    SSchemeRuneConfig runeConfig = RunePage.Instance.allRunePageTable[config.nPrizeParam[0]] as SSchemeRuneConfig;
                    if (runeConfig != null)
                    {
                        prizeImage.sprite = USpriteManager.Instance.GetSprite(USpriteManager.ESpriteType.EST_Rune, WndID.WND_ID_TASK_UNFOLD, runeConfig.nRuneInlayType, runeConfig.nRuneIconId);
                    }
                }
                else if (config.nPrizeType == (int)EMActorPrizeType.ACTOR_PRIZE_HEROXPSKILL)
                {
                    prizeImage.sprite = USpriteManager.Instance.GetSprite(USpriteManager.ESpriteType.EST_ActorPrize, WndID.WND_ID_TASK_UNFOLD, config.nPrizeType, config.nPrizeIcon);
                }
                else if (config.nPrizeType == (int)EMActorPrizeType.ACTOR_PRIZE_HEROSKIN)
                {
                    SkinInfoScheme skinConfig = new SkinInfoScheme();
                    if (GameLogicAPI.GetHeroSkinInfo(config.nPrizeParam[1], ref skinConfig))
                    {
                        prizeImage.sprite = USpriteManager.Instance.GetSprite(USpriteManager.ESpriteType.EST_HeadPortrait, WndID.WND_ID_TASK_UNFOLD, skinConfig.nSkinIconID, 3, config.nPrizeParam[0]);
                    }
                }
                else
                {
                    prizeImage.sprite = USpriteManager.Instance.GetSprite(USpriteManager.ESpriteType.EST_ActorPrize, WndID.WND_ID_TASK_UNFOLD, config.nPrizeType, config.nPrizeIcon);
                }
                //prizeImage.sprite = USpriteManager.Instance.GetSprite(USpriteManager.ESpriteType.EST_ActorPrize, WndID.WND_ID_TASK_UNFOLD, config.nPrizeType, config.nPrizeIcon);

                String szDesc = config.strPrizeDesc;
                UBB.toHtml(ref szDesc, UBB_FORMAT_TYPE.UGUI);
                prizeTooltipTrigger.SetText(UTooltipParamName.BodyText, szDesc);

                //prizeName.gameObject.SetActive(!bShowClan);
                ClanIcon.gameObject.SetActive(bShowClan);
                if (bShowNoVave)
                {
                    prizeImage.color = UDefines.CommomColor(ECommonColor.ECC_Gray2);
                }
                else
                {
                    prizeImage.color = UDefines.CommomColor(ECommonColor.ECC_White);
                }
            }
            this.gameObject.SetActive(true);
        }
Esempio n. 10
0
        public void SetData(int nPrizeID, int nConditionGrade, int nConditionWinCount, int nWinCount, bool bHaveState, string strCondition)
        {
            SSchemeActorPrizeConfig config = ActorPrizeConfig.Instance.GetActorPrizeConfig(nPrizeID);

            if (config == null)
            {
                this.gameObject.SetActive(false);
                return;
            }

            this.gameObject.SetActive(true);

            // 头像
            if (config.nPrizeType == (int)EMActorPrizeType.ACTOR_PRIZE_HERO)
            {
                PrizeIcon.sprite = USpriteManager.Instance.GetSprite(USpriteManager.ESpriteType.EST_HeadPortrait, WndID.WND_ID_POINTSHOP, 1, 3, config.nPrizeParam[0]);
            }
            else if (config.nPrizeType == (int)EMActorPrizeType.ACTOR_PRIZE_HEROCARD)
            {
                PrizeIcon.sprite = USpriteManager.Instance.GetSprite(USpriteManager.ESpriteType.EST_HeadPortrait, WndID.WND_ID_POINTSHOP, 1, 7, config.nPrizeParam[0]);
            }
            else if (config.nPrizeType == (int)EMActorPrizeType.ACTOR_PRIZE_HEROSKIN)
            {
                SkinInfoScheme skinConfig = new SkinInfoScheme();
                if (GameLogicAPI.GetHeroSkinInfo(config.nPrizeParam[1], ref skinConfig))
                {
                    PrizeIcon.sprite = USpriteManager.Instance.GetSprite(USpriteManager.ESpriteType.EST_HeadPortrait, WndID.WND_ID_POINTSHOP, skinConfig.nSkinIconID, 3, config.nPrizeParam[0]);
                }
            }
            else if (config.nPrizeType == (int)EMActorPrizeType.ACTOR_PRIZE_HEROXPSKILL)
            {
                PrizeIcon.sprite = USpriteManager.Instance.GetSprite(USpriteManager.ESpriteType.EST_ActorPrize, WndID.WND_ID_POINTSHOP, config.nPrizeType, config.nPrizeIcon);
            }
            else
            {
                PrizeIcon.sprite = USpriteManager.Instance.GetSprite(USpriteManager.ESpriteType.EST_ActorPrize, WndID.WND_ID_POINTSHOP, config.nPrizeType, config.nPrizeIcon);
            }

            // 数量
            int nCount = 1;

            if (config.nPrizeType == (int)EMActorPrizeType.ACTOR_PRIZE_GOLD || config.nPrizeType == (int)EMActorPrizeType.ACTOR_PRIZE_ACTOREXP)
            {
                nCount = config.nPrizeParam[0];
            }
            PrizeCount.text = nCount.ToString();

            // Tip
            string strTip = config.strPrizeName;

            UBB.toHtml(ref strTip);
            Trigger.SetText(UTooltipParamName.BodyText, strTip);

            // FinishCondition
            UBB.toHtml(ref strCondition);
            FinishCondition.text = strCondition;

            // FinishState
            string str1 = nWinCount >= nConditionWinCount ? "完成" : "未完成";
            string str2 = String.Format("{0}<br><color=#ffca27>{1}/{2}</color>", str1, nWinCount, nConditionWinCount);

            UBB.toHtml(ref str2);
            FinishState.text = str2;
            FinishState.gameObject.SetActive(bHaveState);
        }