using System; using UnityEngine; using UnityEngine.UI; namespace Snxxz.UI { public class SocialWin : Window { [SerializeField] FunctionButton xianyuanBtn; [SerializeField] FunctionButton m_TeamChat; [SerializeField] FunctionButton m_FairyChat; [SerializeField] FunctionButtonGroup btnGroup; [SerializeField] Button closeBtn; [SerializeField] GameObject friendTipsObj; [SerializeField] ChatSendComponent m_ChatSend; SocialModel socialModel { get { return ModelCenter.Instance.GetModel(); } } protected override void BindController() { } protected override void AddListeners() { closeBtn.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(); } } 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(); functionOrder = m_TeamChat.order; } private void FairyChat() { socialModel.UpdateSelectTitle(SocialModel.SocialType.Union); CloseChild(); WindowCenter.Instance.Open(); functionOrder = m_FairyChat.order; } void CloseChild() { friendTipsObj.SetActive(false); var children = WindowConfig.Get().FindChildWindows("SocialWin"); foreach (var window in children) { WindowCenter.Instance.Close(window); } } } }