//--------------------------------------------------------
|
// [Author]: 第二世界
|
// [ Date ]: Tuesday, October 24, 2017
|
//--------------------------------------------------------
|
using UnityEngine;
|
using System.Collections;
|
using UnityEngine.UI;
|
using System;
|
|
namespace vnxbqy.UI
|
{
|
|
public class TeammateInteractPanel : MonoBehaviour
|
{
|
|
[SerializeField] Button m_ViewBaseInfo;
|
[SerializeField] Button m_AddFriend;
|
[SerializeField] Button m_SetCaptainer;
|
[SerializeField] Button m_AddFairy;
|
[SerializeField] Button m_Chat;
|
|
int playerId = 0;
|
public event Action<bool> activeOrDeActiveEvent;
|
|
TeamModel model { get { return ModelCenter.Instance.GetModel<TeamModel>(); } }
|
FriendsModel friendsModel { get { return ModelCenter.Instance.GetModel<FriendsModel>(); } }
|
|
public void Init(int _playerId)
|
{
|
playerId = _playerId;
|
var mySelf = _playerId == PlayerDatas.Instance.baseData.PlayerID;
|
if (!mySelf)
|
{
|
var isFriend = friendsModel.GetFirendInfo((uint)_playerId, (int)GroupType.Friend) != null;
|
m_AddFriend.SetActive(!isFriend);
|
|
var isFairyMember = PlayerDatas.Instance.fairyData.GetMember(_playerId) != null;
|
m_AddFairy.SetActive(false);//暂时没有仙盟邀请
|
|
m_ViewBaseInfo.SetActive(true);
|
m_SetCaptainer.SetActive(model.myTeam.iamCaptainer);
|
}
|
}
|
|
public void UnInit()
|
{
|
|
}
|
|
private void ViewBaseInfo()
|
{
|
ModelCenter.Instance.GetModel<RoleParticularModel>().ViewRoleEquip(playerId);
|
this.SetActive(false);
|
}
|
|
private void AddFriend()
|
{
|
friendsModel.OnClickAddFriend((uint)playerId);
|
this.SetActive(false);
|
}
|
|
private void FairyInvite()
|
{
|
this.SetActive(false);
|
}
|
|
private void SetCaptainer()
|
{
|
model.RequestSetCaptainer(playerId);
|
this.SetActive(false);
|
}
|
|
private void Chat()
|
{
|
Teammate mate;
|
if (model.myTeam.TryGetMemberByPlayerId(playerId, out mate))
|
{
|
if (mate.online)
|
{
|
if (!FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.Friend))
|
{
|
FuncOpen.Instance.ProcessorFuncErrorTip((int)FuncOpenEnum.Friend);
|
}
|
else
|
{
|
var playerId = (uint)mate.id;
|
var playerName = mate.mateName;
|
var job = (byte)mate.job;
|
var face = (int)mate.face;
|
var facePic = (int)mate.facePic;
|
var playerLv = (ushort)mate.level;
|
var realmLv = (ushort)mate.realm;
|
var onLine = mate.online;
|
|
friendsModel.SetPlayerShortInfo(playerId, playerName, job, playerLv, realmLv, (byte)(onLine ? 1 : 0), true);
|
|
WindowCenter.Instance.Close<TeamFrameWin>();
|
WindowCenter.Instance.Open<MainInterfaceWin>();
|
}
|
}
|
else
|
{
|
SysNotifyMgr.Instance.ShowTip("Friend_OffLine");
|
}
|
}
|
}
|
|
private void Awake()
|
{
|
m_ViewBaseInfo.AddListener(ViewBaseInfo);
|
m_AddFriend.AddListener(AddFriend);
|
m_SetCaptainer.AddListener(SetCaptainer);
|
m_AddFairy.AddListener(FairyInvite);
|
m_Chat.AddListener(Chat);
|
}
|
|
private void OnEnable()
|
{
|
if (activeOrDeActiveEvent != null)
|
{
|
activeOrDeActiveEvent(true);
|
}
|
}
|
|
private void OnDisable()
|
{
|
if (activeOrDeActiveEvent != null)
|
{
|
activeOrDeActiveEvent(false);
|
}
|
}
|
|
}
|
|
}
|
|
|
|