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); }
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); }
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); }
/// <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); }
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); }
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); }
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); }
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); }
// 显示 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); }
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); }