using System; using UnityEngine; using UnityEngine.UI; namespace vnxbqy.UI { public class PetAndMountPushWin : Window { [SerializeField] Text titleText; [SerializeField] RawImage rawImag; [SerializeField] Button closeBtn; [SerializeField] RichText m_Goto; [SerializeField] Text fightPower; [SerializeField] Text qualityText; [SerializeField] Image desImg; StoreModel storeModel { get { return ModelCenter.Instance.GetModel(); } } ItemTipsModel tipsModel { get { return ModelCenter.Instance.GetModel(); } } protected override void BindController() { closeBtn.AddListener(ClickCloseBtn); } protected override void AddListeners() { m_Goto.OnClick += ClickGoTo; } protected override void OnPreOpen() { storeModel.pushRefreshEvent += UpdatePushInfo; UpdatePushInfo(); } protected override void OnAfterOpen() { } protected override void OnPreClose() { storeModel.pushRefreshEvent -= UpdatePushInfo; } protected override void OnAfterClose() { } private void UpdatePushInfo() { if(storeModel.currentPushId == 0) { CloseImmediately(); } else { StoreConfig storeConfig = StoreConfig.Get(storeModel.currentPushId); ItemConfig itemConfig = ItemConfig.Get(storeConfig.ItemID); rawImag.SetActive(true); if(itemConfig != null) { titleText.text = itemConfig.ItemName; titleText.color = UIHelper.GetUIColor(itemConfig.ItemColor,true); switch (itemConfig.Type) { case 26: PetInfoConfig petInfo = tipsModel.unlockPetDict[storeConfig.ItemID]; var config = NPCConfig.Get(petInfo.ID); fightPower.text = petInfo.ShowFightPower.ToString(); qualityText.text = tipsModel.GetQualityName(petInfo.Quality); desImg.SetSprite(petInfo.DescribeIconKey); desImg.SetNativeSize(); UI3DModelExhibition.Instance.ShowNPC(petInfo.ID, config.UIModeLOffset, config.UIModelRotation,rawImag); break; case 41: HorseConfig horseConfig = tipsModel.unlockMountDict[storeConfig.ItemID]; fightPower.text = horseConfig.ShowFightPower.ToString(); qualityText.text = tipsModel.GetQualityName(horseConfig.Quality); desImg.SetSprite(horseConfig.DescribeIconKey); desImg.SetNativeSize(); UI3DModelExhibition.Instance.ShowHourse(horseConfig.Model,rawImag); break; } } } } private void ClickGoTo() { CloseImmediately(); WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.StoreFunc4); } private void ClickCloseBtn() { storeModel.RemovePetAndMountPush(storeModel.currentPushId); } } }