using UnityEngine;
|
using vnxbqy.UI;
|
|
public class CrossServerGodBattleFieldAssortCell : CellView
|
{
|
[SerializeField] AvatarCell avatarCell;
|
[SerializeField] TextEx txtLeaderName;
|
[SerializeField] TextEx txtLv;
|
[SerializeField] TextEx txtPowerNum;
|
[SerializeField] TextEx txtOnline;
|
[SerializeField] TextEx txtOffline;
|
[SerializeField] ImageEx imgMyBG;
|
[SerializeField] ImageEx imgTeamLeader;
|
[SerializeField] ButtonEx btnDisbandTeam;
|
[SerializeField] ButtonEx btnKickOutTeam;
|
[SerializeField] ButtonEx btnLeaveTeam;
|
bool isHaveTeam;
|
bool isCaptain;
|
uint teamID;
|
AssortTeamInfo teamInfo;
|
AssortMemberInfo memberInfo;
|
CrossServerGodBattleFieldAssortModel model { get { return ModelCenter.Instance.GetModel<CrossServerGodBattleFieldAssortModel>(); } }
|
public void Display(int index, CellView cell)
|
{
|
uint playerID = (uint)cell.info.Value.infoInt1;
|
|
isHaveTeam = model.TryGetPlayerTeamInfo(out isCaptain, out teamID, out teamInfo);
|
if (!isHaveTeam || teamInfo.MemberDict == null)
|
return;
|
if (!teamInfo.MemberDict.TryGetValue(playerID, out memberInfo))
|
return;
|
bool isPlayerOnline = model.IsPlayerOnline(playerID);
|
imgTeamLeader.SetActive(teamInfo.CaptainID == playerID);
|
imgMyBG.SetActive(PlayerDatas.Instance.baseData.PlayerID == playerID);
|
btnDisbandTeam.SetActive(PlayerDatas.Instance.baseData.PlayerID == playerID && isCaptain);
|
btnKickOutTeam.SetActive(PlayerDatas.Instance.baseData.PlayerID != playerID && isCaptain);
|
btnLeaveTeam.SetActive(PlayerDatas.Instance.baseData.PlayerID == playerID && !isCaptain);
|
txtOnline.SetActive(PlayerDatas.Instance.baseData.PlayerID != playerID && isPlayerOnline);
|
txtOffline.SetActive(PlayerDatas.Instance.baseData.PlayerID != playerID && !isPlayerOnline);
|
string serverName = ServerListCenter.Instance.GetServerName((int)memberInfo.ServerID);
|
if (memberInfo.RealmLV > 0)
|
{
|
txtLeaderName.text = Language.Get("GodBattleFieldAssort27", serverName, RealmConfig.Get(memberInfo.RealmLV).Name, model.IsNoTeamName() ? memberInfo.Name : teamInfo.TeamName);
|
}
|
else
|
{
|
txtLeaderName.text = Language.Get("BlessedLand043", serverName, model.IsNoTeamName() ? memberInfo.Name : teamInfo.TeamName);
|
}
|
txtLv.text = Language.Get("SkillActLevel", memberInfo.LV);
|
txtPowerNum.text = UIHelper.ReplaceLargeNum((double)memberInfo.FightPower);
|
avatarCell.InitUI(AvatarHelper.GetAvatarModel((int)memberInfo.PlayerID, (int)memberInfo.Face, (int)memberInfo.FacePic, memberInfo.Job));
|
|
btnDisbandTeam.SetListener(() =>
|
{
|
string title = Language.Get("GodBattleFieldAssort14");
|
string info = Language.Get("GodBattleFieldAssort29");
|
ConfirmCancel.ShowPopConfirm(title, info, (bool isok) =>
|
{
|
if (isok)
|
{
|
if (model.IsOpenAction())
|
{
|
SysNotifyMgr.Instance.ShowTip("GodBattleFieldAssort03");
|
return;
|
}
|
model.SendFuncTeamMemOP(teamInfo.TeamID, model.FuncMapID, 8);
|
}
|
});
|
});
|
|
btnKickOutTeam.SetListener(() =>
|
{
|
string title = Language.Get("KickTeam");
|
string info = Language.Get("GodBattleFieldAssort30", serverName, RealmConfig.Get(memberInfo.RealmLV).Name, model.IsNoTeamName() ? memberInfo.Name : teamInfo.TeamName);
|
ConfirmCancel.ShowPopConfirm(title, info, (bool isok) =>
|
{
|
if (isok)
|
{
|
if (model.IsOpenAction())
|
{
|
SysNotifyMgr.Instance.ShowTip("GodBattleFieldAssort03");
|
return;
|
}
|
model.SendFuncTeamMemOP(teamInfo.TeamID, model.FuncMapID, 6, (uint)playerID);
|
|
}
|
});
|
});
|
|
btnLeaveTeam.SetListener(() =>
|
{
|
string title = Language.Get("TeamListExitTeam");
|
string info = Language.Get("GodBattleFieldAssort31");
|
ConfirmCancel.ShowPopConfirm(title, info, (bool isok) =>
|
{
|
if (isok)
|
{
|
if (model.IsOpenAction())
|
{
|
SysNotifyMgr.Instance.ShowTip("GodBattleFieldAssort03");
|
return;
|
}
|
model.SendFuncTeamMemOP(teamInfo.TeamID, model.FuncMapID, 5);
|
}
|
|
});
|
});
|
}
|
|
}
|