//-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Monday, October 16, 2017 //-------------------------------------------------------- using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; namespace Snxxz.UI { public class TeamInvitationWin : Window { [SerializeField] CyclicScroll m_InvitationScroll; [SerializeField] Button m_Close; [SerializeField] Button m_Confirm; TeamModel m_Model; TeamModel model { get { return m_Model ?? (m_Model = ModelCenter.Instance.GetModel()); } } #region Built-in protected override void BindController() { } protected override void AddListeners() { m_Close.AddListener(CloseClick); m_Confirm.AddListener(AcceptInvitation); } protected override void OnPreOpen() { ShowInvitations(); } protected override void OnAfterOpen() { model.invitationsChangeEvent += ShowInvitations; } protected override void OnPreClose() { model.invitationsChangeEvent -= ShowInvitations; } protected override void OnAfterClose() { } #endregion private void ShowInvitations() { if (model.invitations != null && model.invitations.Count > 0) { model.currentSelectedInvitation = model.invitations[0].playerId; m_InvitationScroll.gameObject.SetActive(true); m_InvitationScroll.Init(model.invitations); } else { m_InvitationScroll.gameObject.SetActive(false); } } private void AcceptInvitation() { model.RequestAcceptInvitation(model.currentSelectedInvitation); CloseClick(); } public override void CloseClick() { base.CloseClick(); model.ClearInvitations(); } } }