//--------------------------------------------------------
|
// [Author]: 第二世界
|
// [ Date ]: Monday, October 16, 2017
|
//--------------------------------------------------------
|
|
using System;
|
using System.Collections;
|
using System.Collections.Generic;
|
using UnityEngine;
|
using UnityEngine.UI;
|
|
namespace vnxbqy.UI
|
{
|
|
public class TeamInviteWin : Window, SecondWindowInterface
|
{
|
[SerializeField] CyclicScroll m_InviteList;
|
|
TeamModel model { get { return ModelCenter.Instance.GetModel<TeamModel>(); } }
|
|
#region Built-in
|
Text m_Title;
|
public Button close { get; set; }
|
|
protected override void BindController()
|
{
|
if (this is SecondWindowInterface)
|
{
|
var frame = this.GetComponentInChildren<SecondFrameLoader2>();
|
frame.Create();
|
m_Title = frame.GetComponentInChildren<Text>();
|
close = frame.GetComponentInChildren<Button>();
|
}
|
}
|
|
protected override void AddListeners()
|
{
|
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<TeamInvite>();
|
foreach (var invite in model.invites)
|
{
|
Teammate mate;
|
if (!model.myTeam.TryGetMemberByPlayerId(invite.playerId, out mate))
|
{
|
filteredInvites.Add(invite);
|
}
|
}
|
|
m_InviteList.Init(filteredInvites);
|
}
|
|
}
|
|
}
|
|
|
|
|