using System;
|
using UnityEngine;
|
using UnityEngine.UI;
|
|
namespace Snxxz.UI
|
{
|
public class SocialWin : Window, SecondWindowInterface
|
{
|
[SerializeField] FunctionButton xianyuanBtn;
|
[SerializeField] FunctionButton m_TeamChat;
|
[SerializeField] FunctionButton m_FairyChat;
|
[SerializeField] FunctionButtonGroup btnGroup;
|
[SerializeField] GameObject friendTipsObj;
|
[SerializeField] ChatSendComponent m_ChatSend;
|
|
SocialModel socialModel { get { return ModelCenter.Instance.GetModel<SocialModel>(); } }
|
|
public Button close { get; set; }
|
|
protected override void BindController()
|
{
|
if (this is SecondWindowInterface)
|
{
|
var frame = this.GetComponentInChildren<SecondFrameLoader>();
|
frame.Create();
|
close = frame.GetComponentInChildren<Button>();
|
}
|
}
|
|
protected override void AddListeners()
|
{
|
close.AddListener(CloseClick);
|
xianyuanBtn.AddListener(ClickXianYuanBtn);
|
m_TeamChat.AddListener(TeamChat);
|
m_FairyChat.AddListener(FairyChat);
|
}
|
|
protected override void OnPreOpen()
|
{
|
socialModel.SetDefaultSelectTitle();
|
m_ChatSend.parent = this;
|
}
|
|
protected override void OnActived()
|
{
|
base.OnActived();
|
if(!WindowJumpMgr.Instance.IsJumpState)
|
{
|
functionOrder = (int)socialModel.selectType;
|
}
|
btnGroup.TriggerByOrder(functionOrder);
|
}
|
|
protected override void OnAfterOpen()
|
{
|
|
}
|
|
protected override void OnPreClose()
|
{
|
CloseChild();
|
}
|
|
protected override void OnAfterClose()
|
{
|
if (!WindowJumpMgr.Instance.IsJumpState)
|
{
|
WindowCenter.Instance.Open<MainInterfaceWin>();
|
}
|
}
|
|
private void ClickXianYuanBtn()
|
{
|
socialModel.UpdateSelectTitle(SocialModel.SocialType.XianYuan);
|
CloseChild();
|
friendTipsObj.SetActive(true);
|
functionOrder = xianyuanBtn.order;
|
}
|
|
private void TeamChat()
|
{
|
socialModel.UpdateSelectTitle(SocialModel.SocialType.Team);
|
CloseChild();
|
WindowCenter.Instance.Open<TeamChatWin>();
|
functionOrder = m_TeamChat.order;
|
}
|
|
private void FairyChat()
|
{
|
socialModel.UpdateSelectTitle(SocialModel.SocialType.Union);
|
CloseChild();
|
WindowCenter.Instance.Open<FairyChatWin>();
|
functionOrder = m_FairyChat.order;
|
}
|
|
void CloseChild()
|
{
|
friendTipsObj.SetActive(false);
|
var children = WindowConfig.GetChildWindows("SocialWin");
|
foreach (var window in children)
|
{
|
WindowCenter.Instance.Close(window);
|
}
|
}
|
}
|
}
|