using System;
|
using System.Collections;
|
using System.Collections.Generic;
|
using UnityEngine;
|
using UnityEngine.UI;
|
namespace vnxbqy.UI
|
{
|
|
public class UnionPanel : OneLevelWin
|
{
|
Dictionary<int, FunctionButton> m_FunctionButtons = new Dictionary<int, FunctionButton>();
|
//private FairyModel m_FairyModel { get { return ModelCenter.Instance.GetModel<FairyModel>(); } }
|
|
protected override void BindController()
|
{
|
m_TitleIcon = this.GetComponent<Image>("Pivot/Container_BackGround/Img_Title");
|
m_Group = this.GetComponent<FunctionButtonGroup>("Pivot/Container_Functions");
|
m_Left = this.GetComponent<Button>("Pivot/Container_Buttons/Btn_Left");
|
m_Right = this.GetComponent<Button>("Pivot/Container_Buttons/Btn_Right");
|
m_Close = this.GetComponent<Button>("Pivot/Container_Buttons/Btn_Close");
|
|
m_SubWindowContainer = this.GetComponent<RectTransform>("Pivot/Container_SubWindow");
|
|
var name = this.GetType().Name;
|
var infos = WindowConfig.GetWindowFunctionInfos(name);
|
foreach (var info in infos)
|
{
|
m_FunctionButtons.Add(info.order,
|
m_Group.AddFunction("FunctionButton_Pattern_1", info.order, info.functionId, Language.Get(info.titleKey), info.redPointId));
|
}
|
|
m_TitleIcon.SetSprite(WindowConfig.GetTitleIconKey(name));
|
m_TitleIcon.SetNativeSize();
|
}
|
|
protected override void AddListeners()
|
{
|
base.AddListeners();
|
SetFunctionListener(1, ShowBasicFunction);
|
SetFunctionListener(2, ShowMemberList);
|
SetFunctionListener(3, ShowUnionList);
|
SetFunctionListener(4, ShowLeague);
|
SetFunctionListener(5, ShowKingTemper);
|
}
|
|
protected override void OnPreOpen()
|
{
|
base.OnPreOpen();
|
PlayerDatas.Instance.fairyData.OnRefreshFairyInfo += OnRefreshFariyInfo;
|
PlayerDatas.Instance.fairyData.OnRefreshFairyMine += OnRefreshFairyMine;
|
InitFairyFunc();
|
}
|
|
private void OnRefreshFairyMine()
|
{
|
if (!PlayerDatas.Instance.fairyData.HasFairy)
|
{
|
InitFairyFunc();
|
m_Group.TriggerByOrder(3);
|
}
|
}
|
|
private void OnRefreshFariyInfo()
|
{
|
if (!m_FunctionButtons[2].gameObject.activeInHierarchy)
|
{
|
InitFairyFunc();
|
m_Group.TriggerByOrder(2);
|
}
|
}
|
|
private void ShowBasicFunction()
|
{
|
CloseSubWindows();
|
WindowCenter.Instance.Open<FairyBasicFunctionWin>();
|
functionOrder = 1;
|
}
|
|
private void ShowKingTemper()
|
{
|
CloseSubWindows();
|
WindowCenter.Instance.Open<KingTempleWin>();
|
functionOrder = 5;
|
}
|
|
private void ShowLeague()
|
{
|
CloseSubWindows();
|
WindowCenter.Instance.Open<FairyLeagueWin>();
|
functionOrder = 4;
|
}
|
|
private void ShowUnionList()
|
{
|
CloseSubWindows();
|
WindowCenter.Instance.Open<FairyApplyWin>();
|
functionOrder = 3;
|
}
|
|
private void ShowMemberList()
|
{
|
CloseSubWindows();
|
WindowCenter.Instance.Open<FairyMemberWin>();
|
functionOrder = 2;
|
}
|
|
protected override void OnActived()
|
{
|
base.OnActived();
|
}
|
|
protected override void OnPreClose()
|
{
|
CloseSubWindows();
|
PlayerDatas.Instance.fairyData.OnRefreshFairyInfo -= OnRefreshFariyInfo;
|
PlayerDatas.Instance.fairyData.OnRefreshFairyMine -= OnRefreshFairyMine;
|
}
|
|
void InitFairyFunc()
|
{
|
if (!PlayerDatas.Instance.fairyData.HasFairy)
|
{
|
m_FunctionButtons[1].SetActive(false);
|
m_FunctionButtons[2].SetActive(false);
|
m_FunctionButtons[1].state = TitleBtnState.Locked;
|
m_FunctionButtons[2].state = TitleBtnState.Locked;
|
}
|
else
|
{
|
m_FunctionButtons[1].SetActive(true);
|
m_FunctionButtons[2].SetActive(true);
|
m_FunctionButtons[1].state = TitleBtnState.Normal;
|
m_FunctionButtons[2].state = TitleBtnState.Normal;
|
}
|
}
|
}
|
}
|
|