using UnityEngine;
|
using UnityEngine.UI;
|
using vnxbqy.UI;
|
|
public class CrossServerGodBattleFieldAssortSearchWin : Window
|
{
|
[SerializeField] GameObject Reasult;
|
[SerializeField] TextEx txtLeaderName;
|
[SerializeField] TextEx txtPowerNum;
|
[SerializeField] TextEx txtTip;
|
[SerializeField] InputField inputField;
|
[SerializeField] ButtonEx btnSearch;
|
[SerializeField] ButtonEx btnRequest;
|
[SerializeField] ButtonEx btnCancel;
|
[SerializeField] ButtonEx btnClose;
|
bool isShow = false;
|
CrossServerGodBattleFieldAssortModel model { get { return ModelCenter.Instance.GetModel<CrossServerGodBattleFieldAssortModel>(); } }
|
protected override void BindController()
|
{
|
|
}
|
|
protected override void AddListeners()
|
{
|
btnSearch.SetListener(() =>
|
{
|
if (inputField.text == null || inputField.text == string.Empty || inputField.text == "" || inputField.text == " ")
|
return;
|
uint funcMapID = model.FuncMapID;
|
uint funcMapEx = 0;
|
uint startIndex = 0;
|
byte haveSpace = 1;
|
byte iDLimitType = 0;
|
model.SendQueryFuncTeam(funcMapID, funcMapEx, startIndex, model.QueryCount, haveSpace, iDLimitType, inputField.text);
|
bool isShow = false;
|
Reasult.SetActive(isShow);
|
});
|
|
btnRequest.SetListener(() =>
|
{
|
if (model.IsOpenAction())
|
{
|
SysNotifyMgr.Instance.ShowTip("GodBattleFieldAssort03");
|
return;
|
}
|
if (inputField.text == null || inputField.text == string.Empty || inputField.text == "" || inputField.text == " ")
|
return;
|
//队伍申请个数已达上限
|
var teamIDList = model.GetPlayerRequestTeam();
|
if (teamIDList.Count >= FunctionTeamSetConfig.Get((int)model.FuncMapID).ReqApplyMax)
|
{
|
SysNotifyMgr.Instance.ShowTip("TeamReqJoinApplyFull");
|
return;
|
}
|
model.SendFuncTeamMemOP(uint.Parse(inputField.text), model.FuncMapID, 1);
|
});
|
|
btnCancel.SetListener(() =>
|
{
|
if (model.IsOpenAction())
|
{
|
SysNotifyMgr.Instance.ShowTip("GodBattleFieldAssort03");
|
return;
|
}
|
if (inputField.text == null || inputField.text == string.Empty || inputField.text == "" || inputField.text == " ")
|
return;
|
model.SendFuncTeamMemOP(uint.Parse(inputField.text), model.FuncMapID, 2);
|
model.SendQueryFuncTeam(model.FuncMapID, 0, 0, model.QueryCount, 1, model.isOnlyServerGroupIDLeader ? (byte)2 : (byte)0);
|
});
|
|
btnClose.SetListener(() =>
|
{
|
WindowCenter.Instance.Close<CrossServerGodBattleFieldAssortSearchWin>();
|
WindowCenter.Instance.Open<CrossServerGodBattleFieldAssortInfoWin>();
|
});
|
}
|
|
protected override void OnPreOpen()
|
{
|
model.UpdateFindInfoEvent += OnUpdateFindInfoEvent;
|
model.UpdateTeamInfoEvent += OnUpdateTeamInfoEvent;
|
model.UpdateTeamDissolveEvent += OnUpdateTeamDissolveEvent;
|
isShow = false;
|
Reasult.SetActive(isShow);
|
inputField.text = string.Empty;
|
inputField.placeholder.GetComponent<Text>().text = Language.Get("GodBattleFieldAssort34");
|
}
|
|
protected override void OnAfterOpen()
|
{
|
|
}
|
|
protected override void OnAfterClose()
|
{
|
|
}
|
|
void Display()
|
{
|
model.TryGetTeamInfo(uint.Parse(inputField.text), out AssortTeamInfo teamInfo);
|
model.TryGetTeamCaptainMemberInfo(teamInfo, out var memberInfo);
|
txtTip.SetActive(!model.IsRequest(uint.Parse(inputField.text)) && teamInfo.MinFightPower > PlayerDatas.Instance.baseData.FightPoint);
|
btnCancel.SetActive(model.IsRequest(uint.Parse(inputField.text)));
|
btnRequest.SetActive(!model.IsRequest(uint.Parse(inputField.text)) && teamInfo.MinFightPower <= PlayerDatas.Instance.baseData.FightPoint);
|
txtTip.text = Language.Get("GodBattleFieldAssort45", UIHelper.ReplaceLargeNum(teamInfo.MinFightPower));
|
string serverName = ServerListCenter.Instance.GetServerName((int)memberInfo.ServerID);
|
txtLeaderName.text = Language.Get("GodBattleFieldAssort06", Language.Get("BlessedLand043", serverName, model.IsNoTeamName() ? memberInfo.Name : teamInfo.TeamName));
|
txtPowerNum.text = UIHelper.ReplaceLargeNum(model.GetTeamTotalPower(teamInfo));
|
}
|
|
protected override void OnPreClose()
|
{
|
model.UpdateFindInfoEvent -= OnUpdateFindInfoEvent;
|
model.UpdateTeamInfoEvent -= OnUpdateTeamInfoEvent;
|
model.UpdateTeamDissolveEvent -= OnUpdateTeamDissolveEvent;
|
model.ClearTeamTypeList();
|
}
|
|
void OnUpdateTeamDissolveEvent()
|
{
|
WindowCenter.Instance.Close<CrossServerGodBattleFieldAssortSearchWin>();
|
}
|
|
void SearchTeam()
|
{
|
if (model.SearchMsg == inputField.text)
|
{
|
if (model.SearchMsg == string.Empty)
|
return;
|
if (model.TeamCount <= 0)
|
{
|
SysNotifyMgr.Instance.ShowTip("TeamNotExist");
|
return;
|
}
|
if (!model.TryGetTeamInfo(uint.Parse(inputField.text), out AssortTeamInfo teamInfo))
|
{
|
//提示没查询到
|
SysNotifyMgr.Instance.ShowTip("TeamNotExist");
|
return;
|
}
|
isShow = true;
|
Reasult.SetActive(isShow);
|
if (isShow)
|
{
|
Display();
|
}
|
}
|
else
|
{
|
if (isShow)
|
{
|
Display();
|
}
|
}
|
}
|
void OnUpdateTeamInfoEvent()
|
{
|
SearchTeam();
|
}
|
|
void OnUpdateFindInfoEvent()
|
{
|
SearchTeam();
|
}
|
}
|