//-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Tuesday, May 08, 2018 //-------------------------------------------------------- using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using TableConfig; namespace Snxxz.UI { public class RuneNewGotWin : Window { [SerializeField] Text m_UnLockType; [SerializeField] Text m_RuneEffect1; [SerializeField] Text m_RuneEffect2; [SerializeField] Image m_RuneIcon; [SerializeField] Button m_Close; [SerializeField] Text m_CoolDown; float timer = 0f; float autoCloseTime = 0f; RuneTowerModel runeTowerModel { get { return ModelCenter.Instance.GetModel(); } } #region Built-in protected override void BindController() { } protected override void AddListeners() { m_Close.AddListener(Ensure); } protected override void OnPreOpen() { var config = ConfigManager.Instance.GetTemplate(runeTowerModel.newPassFloor); var itemConfig = ConfigManager.Instance.GetTemplate(config.UnLockRune); m_RuneIcon.SetSprite(itemConfig.IconKey); var runeType = Language.Get(StringUtility.Contact("RuneType_", itemConfig.Effect1)); m_UnLockType.text = Language.Get("RuneTower15", runeType); var runeConfig = ConfigManager.Instance.GetTemplate(config.UnLockRune); var propertyConfig = ConfigManager.Instance.GetTemplate(runeConfig.AttrType[0]); m_RuneEffect1.text = Language.Get("RuneTower16", propertyConfig.Name); if (runeConfig.AttrType.Length > 1) { m_RuneEffect2.gameObject.SetActive(true); var propertyConfig1 = ConfigManager.Instance.GetTemplate(runeConfig.AttrType[1]); m_RuneEffect2.text = Language.Get("RuneTower16", propertyConfig1.Name); } else { m_RuneEffect2.gameObject.SetActive(false); } autoCloseTime = Time.time + 10; m_CoolDown.text = Language.Get("RuneTower9", 10); } protected override void OnAfterOpen() { } protected override void OnPreClose() { runeTowerModel.newPassFloor = 0; } protected override void OnAfterClose() { } #endregion protected override void LateUpdate() { base.LateUpdate(); timer += Time.deltaTime; if (timer > 1f) { timer = 0f; m_CoolDown.text = Language.Get("RuneTower9", Mathf.RoundToInt(autoCloseTime - Time.time)); } if (Time.time > autoCloseTime) { Ensure(); } } private void Ensure() { CloseClick(); WindowCenter.Instance.Close(); WindowCenter.Instance.Open(); } } }