using System; using UnityEngine; using UnityEngine.UI; using System.Collections.Generic; namespace Snxxz.UI { public class BlastFurnaceWin : Window { #region 成员变量 [SerializeField] private FunctionButton _lingDanTitle; [SerializeField] private FunctionButton _treasureRefineTitle; [SerializeField] private FunctionButton _storeTitle; [SerializeField] private FunctionButtonGroup _funcBtnGroup; [SerializeField] private Button _leftBtn; [SerializeField] private Button _rightBtn; [SerializeField] private Button _closeBtn; [SerializeField] private GameObject _lingDanTips; [SerializeField] GameObject attrDanTips; [SerializeField] GameObject storeTips; #endregion BlastFurnaceModel _furnaceModel; BlastFurnaceModel FurnaceModel { get { return _furnaceModel ?? (_furnaceModel = ModelCenter.Instance.GetModel()); } } #region 实现抽象类 protected override void AddListeners() { _lingDanTitle.onClick.AddListener(() => { OnClickLingDanTitle(); }); _treasureRefineTitle.onClick.AddListener(() => { OnClickTreasureRefineTitle(); }); _storeTitle.onClick.AddListener(() => { OnClickStoreTitle(); }); _leftBtn.onClick.AddListener(OnClickLeftBtn); _rightBtn.onClick.AddListener(OnClickRightBtn); _closeBtn.onClick.AddListener(OnClickClose); } protected override void BindController() { } protected override void OnPreOpen() { } protected override void OnActived() { base.OnActived(); if (!WindowJumpMgr.Instance.IsJumpState && functionOrder == 0) { if (FurnaceModel.lingDanRedpoint.state != RedPointState.None) { functionOrder = _lingDanTitle.order; } else if (FurnaceModel.MakeDrugRedpoint.state != RedPointState.None) { functionOrder = _treasureRefineTitle.order; } } _funcBtnGroup.TriggerByOrder(functionOrder); } protected override void OnAfterOpen() { switch (FurnaceModel.funcTitle) { case BlastFurnaceFuncTitle.MakeDan: _lingDanTitle.state = TitleBtnState.Click; break; case BlastFurnaceFuncTitle.AttrDan: _treasureRefineTitle.state = TitleBtnState.Click; break; case BlastFurnaceFuncTitle.DrugStore: _storeTitle.state = TitleBtnState.Click; break; } } protected override void OnPreClose() { } protected override void OnAfterClose() { if (!WindowJumpMgr.Instance.IsJumpState) { WindowCenter.Instance.Open(); } } #endregion #region 点击事件 private void OnClickLingDanTitle() { FurnaceModel.funcTitle = BlastFurnaceFuncTitle.MakeDan; _lingDanTips.SetActive(true); attrDanTips.SetActive(false); storeTips.SetActive(false); } private void OnClickTreasureRefineTitle() { FurnaceModel.CheckMakeDrugRedPoint(false,true); FurnaceModel.funcTitle = BlastFurnaceFuncTitle.AttrDan; _lingDanTips.SetActive(false); attrDanTips.SetActive(true); storeTips.SetActive(false); } private void OnClickStoreTitle() { FurnaceModel.funcTitle = BlastFurnaceFuncTitle.DrugStore; _lingDanTips.SetActive(false); attrDanTips.SetActive(false); storeTips.SetActive(true); } private void OnClickRightBtn() { _funcBtnGroup.TriggerNext(); } private void OnClickLeftBtn() { _funcBtnGroup.TriggerLast(); } private void OnClickClose() { CloseImmediately(); } #endregion } }