//-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Tuesday, June 11, 2019 //-------------------------------------------------------- using System; using System.Collections; using System.Collections.Generic; using System.Reflection; using UnityEngine; using UnityEngine.UI; namespace vnxbqy.UI { public class ForeverCardWin : Window { [SerializeField] Button m_Invest; [SerializeField] Text m_Price; [SerializeField] Button m_Get; [SerializeField] Image m_State; [SerializeField] Button m_Close; [SerializeField] Text m_Percentage; TextEx orgPrice; #region Built-in protected override void BindController() { var obj = m_Invest.FindComponent("Text", "Txt_orgPrice"); if (obj != null) orgPrice = obj as TextEx; } protected override void AddListeners() { m_Invest.AddListener(OnInvest); m_Close.AddListener(CloseClick); m_Get.AddListener(() => { var ids = InvestModel.Instance.GetIdsByType(InvestModel.foreverCardType); InvestModel.Instance.SendGetReward(InvestModel.foreverCardType, ids[0]); }); } protected override void OnPreOpen() { InvestModel.Instance.onInvestUpdate += Display; } protected override void OnActived() { Display(); } protected override void OnAfterOpen() { } protected override void OnPreClose() { InvestModel.Instance.onInvestUpdate -= Display; } protected override void OnAfterClose() { } #endregion void Display() { var ids = InvestModel.Instance.GetIdsByType(InvestModel.foreverCardType); var state = InvestModel.Instance.GetSingleInvestState(InvestModel.foreverCardType, ids[0]); m_Invest.SetActive(state == 0); m_Get.SetActive(state == 2); m_State.SetActive(state == 3); var orderInfoId = InvestModel.Instance.GetOrderInfoId(InvestModel.foreverCardType); var config = OrderInfoConfig.Get(orderInfoId); m_Price.text = Language.Get("PayMoneyNum", UIHelper.GetMoneyFormat(config.PayRMBNum)); m_Percentage.text = CTGConfig.Get(config.CTGID).Percentage.ToString(); if (orgPrice != null) { orgPrice.SetActiveIL(PlayerDatas.Instance.baseData.IsActive90Off); orgPrice.text = Language.Get("PayMoneyNum", UIHelper.GetMoneyFormat(config.m_PayRMBNum)); } } private void OnInvest() { InvestModel.Instance.SendInvest(InvestModel.foreverCardType); } } }