Files
JJBB/Assets/Project/Script/GUI/Team/TeamInfoRequestItem.cs
2024-08-23 15:49:34 +08:00

123 lines
3.7 KiB
C#

using UnityEngine;
using UnityEngine.UI;
using System.Collections;
using Games.GlobeDefine;
using GCGame.Table;
public class TeamInfoRequestItem : UIItemSelect
{
#region
public Image _MemberProIcon;
public UICameraTexture _MemberModelView;
public Text _MemberLevel;
public Text _MemberName;
public Text _MemberInfo1;
public Text _MemberInfo2;
private TeamMember _TeamInfo;
private GameObject _MemberModel;
#endregion
public override void Show(Hashtable hash)
{
base.Show();
var teamInfo = (TeamMember)hash["InitObj"];
InitTeamInfo(teamInfo);
}
public override void Refresh()
{
base.Refresh();
InitTeamInfo(_TeamInfo);
}
private void InitTeamInfo(TeamMember teamInfo)
{
if (teamInfo == null || teamInfo.Guid == GlobeVar.INVALID_GUID)
{
_MemberModelView.gameObject.SetActive(false);
_MemberProIcon.gameObject.SetActive(false);
_MemberProIcon.transform.parent.gameObject.SetActive(false);
_MemberLevel.gameObject.SetActive(false);
_MemberName.gameObject.SetActive(false);
_MemberInfo1.gameObject.SetActive(false);
_MemberInfo2.gameObject.SetActive(false);
return;
}
_MemberModelView.gameObject.SetActive(true);
_MemberProIcon.gameObject.SetActive(true);
_MemberProIcon.transform.parent.gameObject.SetActive(true);
_MemberLevel.gameObject.SetActive(true);
_MemberName.gameObject.SetActive(true);
_MemberInfo1.gameObject.SetActive(false);
_MemberInfo2.gameObject.SetActive(false);
_TeamInfo = teamInfo;
LoadAssetBundle.Instance.SetImageSprite(_MemberProIcon, GetProIcon(_TeamInfo.Profession));
_MemberLevel.text = StrDictionary.GetClientDictionaryString("#{1738}", _TeamInfo.Level);
_MemberName.text = _TeamInfo.MemberName;
_MemberInfo1.text = StrDictionary.GetClientDictionaryString("#{1064}", _TeamInfo.CombatNum);
_MemberInfo2.text = "";
ShowModel();
}
public string GetProIcon(int pro)
{
switch ((CharacterDefine.PROFESSION)pro)
{
case CharacterDefine.PROFESSION.TIANJI:
return "ProTianji";
case CharacterDefine.PROFESSION.LIUSHAN:
return "ProLiushan";
case CharacterDefine.PROFESSION.SHUSHAN:
return "ProShushan";
case CharacterDefine.PROFESSION.XUANNV:
return "ProXuannv";
}
return "";
}
private void ShowModel()
{
_MemberModelView.InitModel(_TeamInfo.Profession, GlobalData.GetCharModelId(_TeamInfo.Profession, _TeamInfo.ModelVisual), _TeamInfo.WeaponData, _TeamInfo.WingAurId, _TeamInfo.WeaponGemEffect3, _TeamInfo.EffectAuraId);
}
#region act
public void OnBtnRequestOK()
{
CG_JOIN_TEAM_REQUEST_RESULT pak = (CG_JOIN_TEAM_REQUEST_RESULT)PacketDistributed.CreatePacket(MessageID.PACKET_CG_JOIN_TEAM_REQUEST_RESULT);
pak.RequesterGuid = _TeamInfo.Guid;
pak.Result = 1;
pak.SendPacket();
RemoveRequest();
}
public void OnBtnRequestCancel()
{
CG_JOIN_TEAM_REQUEST_RESULT pak = (CG_JOIN_TEAM_REQUEST_RESULT)PacketDistributed.CreatePacket(MessageID.PACKET_CG_JOIN_TEAM_REQUEST_RESULT);
pak.RequesterGuid = _TeamInfo.Guid;
pak.Result = 0;
pak.SendPacket();
RemoveRequest();
}
public void RemoveRequest()
{
GameManager.gameManager.PlayerDataPool.TeamInfo.RequestList.Remove(_TeamInfo);
if (TeamInfoWindow.Instance() != null)
TeamInfoWindow.Instance().UpdateRequests();
}
#endregion
}