//--------------------------------------------------------
|
// [Author]: 第二世界
|
// [ Date ]: Monday, October 30, 2017
|
//--------------------------------------------------------
|
|
using System;
|
using System.Collections;
|
using System.Collections.Generic;
|
using UnityEngine;
|
using UnityEngine.UI;
|
|
namespace Snxxz.UI
|
{
|
|
public class WelfareWin : Window
|
{
|
[SerializeField] FunctionButton signInTitleBtn;
|
[SerializeField] FunctionButton prayerTitleBtn;
|
[SerializeField] FunctionButton Btn_InSeven;
|
[SerializeField] FunctionButton m_LevelGiftBtn;
|
[SerializeField] FunctionButton m_ExchangeBtn;
|
[SerializeField] FunctionButton m_MultipleExpBtn;
|
[SerializeField] FunctionButton m_ConsumeRebateBtn;
|
[SerializeField] FunctionButton m_BossReornBtn;
|
[SerializeField] FunctionButton m_NpracticeBtn;
|
[SerializeField] FunctionButtonGroup buttonGroup;
|
[SerializeField] Button closeBtn;
|
|
[SerializeField] Text m_MultipleExtTitle;
|
[SerializeField] Text m_MultipleRealmPointTitle;
|
|
MultipleExpModel multipleExpModel { get { return ModelCenter.Instance.GetModel<MultipleExpModel>(); } }
|
ConsumeRebateModel consumeRebateModel { get { return ModelCenter.Instance.GetModel<ConsumeRebateModel>(); } }
|
InSevenDayModel m_InSevenDayModel;
|
InSevenDayModel inSevenDay { get { return m_InSevenDayModel ?? (m_InSevenDayModel = ModelCenter.Instance.GetModel<InSevenDayModel>()); } }
|
|
BossRebornModel bossRebornModel { get { return ModelCenter.Instance.GetModel<BossRebornModel>(); } }
|
|
#region Built-in
|
protected override void BindController()
|
{
|
}
|
|
protected override void AddListeners()
|
{
|
signInTitleBtn.onClick.AddListener(OnSignIn);
|
prayerTitleBtn.onClick.AddListener(OnPrayer);
|
Btn_InSeven.AddListener(InSeven);
|
m_LevelGiftBtn.onClick.AddListener(OnLevelGift);
|
m_ExchangeBtn.onClick.AddListener(OnExchange);
|
m_NpracticeBtn.AddListener(OnNPractice);
|
closeBtn.onClick.AddListener(CloseClick);
|
m_MultipleExpBtn.onClick.AddListener(OnMultipleExp);
|
m_ConsumeRebateBtn.onClick.AddListener(ConsumeRebateBtn);
|
m_BossReornBtn.AddListener(BossRebornBtn);
|
}
|
|
private void OnPrayer()
|
{
|
CloseChildWin();
|
if (windowState == WindowState.Opened)
|
{
|
WindowCenter.Instance.OpenWithoutAnimation<PrayerWin>();
|
}
|
else
|
{
|
WindowCenter.Instance.Open<PrayerWin>();
|
}
|
functionOrder = 1;
|
}
|
|
private void InSeven()
|
{
|
CloseChildWin();
|
if (windowState == WindowState.Opened)
|
{
|
WindowCenter.Instance.OpenWithoutAnimation<InSevenDayWin>();
|
}
|
else
|
{
|
WindowCenter.Instance.Open<InSevenDayWin>();
|
}
|
functionOrder = 2;
|
}
|
|
private void OnLevelGift()
|
{
|
CloseChildWin();
|
if (windowState == WindowState.Opened)
|
{
|
WindowCenter.Instance.OpenWithoutAnimation<LevelGiftWin>();
|
}
|
else
|
{
|
WindowCenter.Instance.Open<LevelGiftWin>();
|
}
|
functionOrder = 3;
|
}
|
|
private void ConsumeRebateBtn()
|
{
|
CloseChildWin();
|
if (windowState == WindowState.Opened)
|
{
|
WindowCenter.Instance.OpenWithoutAnimation<ConsumeRebateWin>();
|
}
|
else
|
{
|
WindowCenter.Instance.Open<ConsumeRebateWin>();
|
}
|
functionOrder = 4;
|
}
|
|
private void BossRebornBtn()
|
{
|
CloseChildWin();
|
if (windowState == WindowState.Opened)
|
{
|
WindowCenter.Instance.OpenWithoutAnimation<BossRebornWin>();
|
}
|
else
|
{
|
WindowCenter.Instance.Open<BossRebornWin>();
|
}
|
|
functionOrder = 7;
|
}
|
|
private void OnExchange()
|
{
|
CloseChildWin();
|
if (windowState == WindowState.Opened)
|
{
|
WindowCenter.Instance.OpenWithoutAnimation<AwardExchangeWin>();
|
}
|
else
|
{
|
WindowCenter.Instance.Open<AwardExchangeWin>();
|
}
|
functionOrder = 6;
|
}
|
|
|
private void OnNPractice()
|
{
|
CloseChildWin();
|
if (windowState == WindowState.Opened)
|
{
|
WindowCenter.Instance.OpenWithoutAnimation<NPracticePointWin>();
|
}
|
else
|
{
|
WindowCenter.Instance.Open<NPracticePointWin>();
|
}
|
functionOrder = 8;
|
}
|
|
private void OnMultipleExp()
|
{
|
CloseChildWin();
|
if (windowState == WindowState.Opened)
|
{
|
WindowCenter.Instance.OpenWithoutAnimation<MultipleExpWin>();
|
}
|
else
|
{
|
WindowCenter.Instance.Open<MultipleExpWin>();
|
}
|
functionOrder = 5;
|
}
|
private void OnSignIn()
|
{
|
CloseChildWin();
|
if (windowState == WindowState.Opened)
|
{
|
WindowCenter.Instance.OpenWithoutAnimation<SignInWin>();
|
}
|
else
|
{
|
WindowCenter.Instance.Open<SignInWin>();
|
}
|
functionOrder = 0;
|
}
|
|
protected override void OnPreOpen()
|
{
|
OperationTimeHepler.Instance.operationStartEvent += OperationStartEvent;
|
if (TimeUtility.CreateDays > 7 && inSevenDay.redPointStre1.state == RedPointState.None)//创角天
|
{
|
Btn_InSeven.gameObject.SetActive(false);
|
}
|
else
|
{
|
Btn_InSeven.gameObject.SetActive(true);
|
}
|
CheckOperationOpen();
|
|
|
}
|
|
protected override void OnActived()
|
{
|
base.OnActived();
|
//if (!Btn_InSeven.gameObject.activeInHierarchy)
|
//{
|
// functionOrder = 2;
|
//}
|
buttonGroup.TriggerByOrder(functionOrder);
|
}
|
|
protected override void OnPreClose()
|
{
|
OperationTimeHepler.Instance.operationStartEvent -= OperationStartEvent;
|
CloseChildWin();
|
if (NewBieCenter.Instance.inGuiding && NewBieCenter.Instance.currentGuide == 40)
|
{
|
WindowJumpMgr.Instance.ClearJumpData();
|
WindowCenter.Instance.Open<EquipReinforceWin>();
|
}
|
else
|
{
|
WindowCenter.Instance.Open<MainInterfaceWin>();
|
}
|
}
|
|
protected override void OnAfterOpen()
|
{
|
|
}
|
|
protected override void OnAfterClose()
|
{
|
}
|
#endregion
|
private void CloseChildWin()
|
{
|
if (WindowCenter.Instance.CheckOpen<SignInWin>())
|
{
|
WindowCenter.Instance.CloseImmediately<SignInWin>();
|
}
|
if (WindowCenter.Instance.CheckOpen<PrayerWin>())
|
{
|
WindowCenter.Instance.CloseImmediately<PrayerWin>();
|
}
|
if (WindowCenter.Instance.CheckOpen<InSevenDayWin>())
|
{
|
WindowCenter.Instance.CloseImmediately<InSevenDayWin>();
|
}
|
if (WindowCenter.Instance.CheckOpen<LevelGiftWin>())
|
{
|
WindowCenter.Instance.CloseImmediately<LevelGiftWin>();
|
}
|
if (WindowCenter.Instance.CheckOpen<AwardExchangeWin>())
|
{
|
WindowCenter.Instance.CloseImmediately<AwardExchangeWin>();
|
}
|
if (WindowCenter.Instance.CheckOpen<MultipleExpWin>())
|
{
|
WindowCenter.Instance.CloseImmediately<MultipleExpWin>();
|
}
|
if (WindowCenter.Instance.CheckOpen<ConsumeRebateWin>())
|
{
|
WindowCenter.Instance.CloseImmediately<ConsumeRebateWin>();
|
}
|
if (WindowCenter.Instance.CheckOpen<NPracticePointWin>())
|
{
|
WindowCenter.Instance.CloseImmediately<NPracticePointWin>();
|
}
|
WindowCenter.Instance.CloseImmediately<BossRebornWin>();
|
}
|
|
private void OperationStartEvent(Operation arg1, int arg2)
|
{
|
CheckOperationOpen();
|
}
|
|
void CheckOperationOpen()
|
{
|
m_MultipleExpBtn.gameObject.SetActive(multipleExpModel.Open());
|
m_ConsumeRebateBtn.gameObject.SetActive(consumeRebateModel.IsOpen);
|
m_BossReornBtn.gameObject.SetActive(bossRebornModel.IsOpen());
|
|
if (multipleExpModel.Open())
|
{
|
OperationBase operationBase;
|
if (OperationTimeHepler.Instance.TryGetOperationTime(Operation.MultipleExp, out operationBase))
|
{
|
m_MultipleExtTitle.text = Language.Get("ExpActivity_Text5", (operationBase as OperationMultiExp).GetMultipleCHS());
|
}
|
}
|
|
OperationBase operation = null;
|
bool isOpen = Open(Operation.MultipRealmPoint, out operation);
|
m_NpracticeBtn.gameObject.SetActive(isOpen);
|
if (isOpen)
|
{
|
m_MultipleRealmPointTitle.text = Language.Get("MultipleRealmPoint", Language.Get(StringUtility.Contact("Num_CHS_", (operation as OperationMultipleRealmPoint).multiplePractice)));
|
}
|
}
|
|
public bool Open(Operation type,out OperationBase operation)
|
{
|
operation = null;
|
OperationTimeHepler.Instance.TryGetOperationTime(type, out operation);
|
return OperationTimeHepler.Instance.SatisfyOpenCondition(type);
|
}
|
|
}
|
|
}
|