using System;
|
using System.Collections;
|
using System.Collections.Generic;
|
using UnityEngine;
|
using UnityEngine.UI;
|
|
namespace vnxbqy.UI
|
{
|
public class PetWin : OneLevelWin
|
{
|
Dictionary<int, FunctionButton> m_FunctionButtons = new Dictionary<int, FunctionButton>();
|
|
PetModel petmodel { get { return ModelCenter.Instance.GetModel<PetModel>(); } }
|
MountModel mountModel { get { return ModelCenter.Instance.GetModel<MountModel>(); } }
|
|
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(0, OpenMountWin);
|
SetFunctionListener(1, OpenPetWin);
|
SetFunctionListener(2, OpenPetHorseAwakingWin);
|
}
|
|
protected override void OnPreOpen()
|
{
|
base.OnPreOpen();
|
DisplayButtons();
|
PetHorseAwakingModel.Instance.AddFuncStateUpdate(this);
|
}
|
|
protected override void OnPreClose()
|
{
|
PetHorseAwakingModel.Instance.RemoveFuncStateUpdate(this);
|
base.OnPreClose();
|
}
|
|
protected override void OnActived()
|
{
|
if (!WindowJumpMgr.Instance.IsJumpState && functionOrder < 2)//是否进行跳转
|
{
|
if (mountModel.IsHorsePanelState() < petmodel.IsPetPanelRedPointState())
|
{
|
functionOrder = 1;
|
}
|
}
|
|
base.OnActived();
|
}
|
|
private void DisplayButtons()
|
{
|
|
var isOpen = PetHorseAwakingModel.Instance.IsOpen();
|
m_FunctionButtons[2].SetActive(isOpen);
|
m_FunctionButtons[2].state = isOpen ? TitleBtnState.Normal : TitleBtnState.Locked;
|
|
}
|
|
private void OpenPetWin()
|
{
|
CloseSubWindows();
|
WindowCenter.Instance.Open<PetAttributeWin>(true);
|
functionOrder = 1;
|
}
|
|
private void OpenMountWin()
|
{
|
CloseSubWindows();
|
WindowCenter.Instance.Open<MountWin>(true);
|
functionOrder = 0;
|
}
|
|
private void OpenPetHorseAwakingWin()
|
{
|
CloseSubWindows();
|
WindowCenter.Instance.Open("PetHorseAwakingWin", true);
|
functionOrder = 2;
|
}
|
|
public void OnFuncStateUpdate()
|
{
|
DisplayButtons();
|
}
|
|
}
|
}
|