//-------------------------------------------------------- // [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 TeamInviteWin : Window { [SerializeField] Text m_Title; [SerializeField] CyclicScroll m_InviteList; [SerializeField] Button m_Close; TeamModel model { get { return ModelCenter.Instance.GetModel(); } } #region Built-in protected override void BindController() { } protected override void AddListeners() { m_Close.AddListener(CloseClick); } protected override void OnPreOpen() { switch (model.currentInviteType) { case TeamInviteType.Friend: m_Title.text = Language.Get("InviteFriend"); break; case TeamInviteType.Fairy: m_Title.text = Language.Get("InviteMember"); break; case TeamInviteType.NearBy: m_Title.text = Language.Get("InviteNearPlayer"); break; } ShowInvites(model.currentInviteType); model.teamInvitesUpdateEvent += ShowInvites; } protected override void OnAfterOpen() { } protected override void OnPreClose() { model.teamInvitesUpdateEvent -= ShowInvites; } protected override void OnAfterClose() { } #endregion private void ShowInvites(TeamInviteType _inviteType) { var filteredInvites = new List(); foreach (var invite in model.invites) { Teammate mate; if (!model.myTeam.TryGetMemberByPlayerId(invite.playerId, out mate)) { filteredInvites.Add(invite); } } m_InviteList.Init(filteredInvites); } } }