//-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Thursday, November 09, 2017 //-------------------------------------------------------- using UnityEngine; using System.Collections; using UnityEngine.UI; namespace vnxbqy.UI { public class TowerFloorBehaviour : MonoBehaviour { static float autoSelectAllowTime = 0f; static bool autoSelectable { get { return Time.time > autoSelectAllowTime; } } [SerializeField] Image m_Floor; [SerializeField] Button m_Selected; [SerializeField] TextEx m_FloorName; [SerializeField] Image m_Challenge; [SerializeField] Image m_Cover; [SerializeField] RectTransform m_ContainerSelected; [SerializeField] UIEffect m_GateEffect; public RuneTowerBehaviour towerBehaviour; RectTransform m_RectTransform; RectTransform rectTransform { get { return m_RectTransform ?? (this.transform as RectTransform); } } RuneTowerModel model { get { return ModelCenter.Instance.GetModel(); } } int floorId = 0; public void Display(int _floorId) { this.floorId = _floorId; var isOpened = this.model.currentFloor >= this.floorId; var config = RuneTowerFloorConfig.Get(floorId); m_FloorName.text = StringUtility.Contact(config.FloorName); m_Challenge.SetActive(this.model.currentFloor == this.floorId); m_Cover.SetActive(this.model.currentFloor > this.floorId); m_FloorName.color = this.model.currentFloor == this.floorId ? UIHelper.GetUIColor(TextColType.NavyYellow) : UIHelper.s_LightYellow; //if (this.model.currentFloor == this.floorId) //{ // m_GateEffect.Play(); //} //else //{ // m_GateEffect.Stop(); //} OnSelected(model.selectedFloor); model.selectedFloorEvent -= OnSelected; model.selectedFloorEvent += OnSelected; } public void Dispose() { model.selectedFloorEvent -= OnSelected; } private void Awake() { m_Selected.AddListener(SelectTower); } private void SelectTower() { autoSelectAllowTime = Time.time + 0.5f; model.selectedFloor = floorId; } private void OnSelected(int _floor) { m_ContainerSelected.SetActive(floorId == _floor); } } }