Files
JJBB/Assets/Project/Script/GUI/Guild/UIItem/GuildMemberItem.cs
2024-08-23 15:49:34 +08:00

73 lines
2.8 KiB
C#

using UnityEngine;
using System;
using UnityEngine.UI;
using System.Collections;
using Games.Item;
using GCGame.Table;
using GCGame;
using Games.GlobeDefine;
public class GuildMemberItem : UIItemSelect
{
public Image professionIcon;
public Text Name;
public Text OnlineState;
public Text Level;
public Text Place;
public Text Contribute;
public Text MatchTimes;
GuildMember m_GuildMember;
public override void Show(Hashtable hash)
{
m_GuildMember = hash["InitObj"] as GuildMember;
if (m_GuildMember == null)
return;
string spriteName = Utils.GetProfessionSpriteName(m_GuildMember.Profession);
LoadAssetBundle.Instance.SetImageSprite(professionIcon, spriteName);
Name.text = m_GuildMember.MemberName;
Level.text = m_GuildMember.Level.ToString();
if (Guild.GuildJobName.ContainsKey(m_GuildMember.Job))
Place.text = StrDictionary.GetClientDictionaryString(Guild.GuildJobName[m_GuildMember.Job]);
Contribute.text = string.Format("{0}/{1}/{2}", m_GuildMember.Contribute, m_GuildMember.CurrWeekContribute, m_GuildMember.HistoryContribute);
MatchTimes.text = m_GuildMember.WarTimes.ToString();
professionIcon.material = (m_GuildMember.State == 0 ? CommonUtility.LoadSharedMaterial(GlobeVar.grayMaterialName) : null);
var timeSpan = TimeSpan.FromTicks((long)(GlobalData.ServerAnsiTime - m_GuildMember.LastLogout) * 10000000L);
if (m_GuildMember.State == 1)
{
OnlineState.text = StrDictionary.GetClientDictionaryString("#{2866}");
}
else if (timeSpan.TotalHours <= 72)
{
OnlineState.text = StrDictionary.GetClientDictionaryString("#{25231}", (int)timeSpan.TotalHours + 1);
}
else if(timeSpan.Days < 30)
{
OnlineState.text = StrDictionary.GetClientDictionaryString("#{25232}", timeSpan.Days + 1);
}
else
{
OnlineState.text = StrDictionary.GetClientDictionaryString("#{25233}");
}
base.Show();
}
public override void Selected()
{
base.Selected();
if(m_GuildMember.Guid != Singleton<ObjManager>.Instance.MainPlayer.GUID)
{
PlayerTooltipsLogic.ShowPlayerTooltip(m_GuildMember.Guid, m_GuildMember.MemberName, Utils.GetProfessionSpriteName((int)m_GuildMember.Profession), m_GuildMember.Level, -1,m_GuildMember.ComBatVal, Vector3.zero);
//PopMenuLogic.ShowMenu("GuildMemberPopMenu", gameObject, m_GuildMember.Guid, m_GuildMember.MemberName);
}
}
public override void Refresh()
{
base.Refresh();
if (Guild.GuildJobName.ContainsKey(m_GuildMember.Job))
Place.text = StrDictionary.GetClientDictionaryString(Guild.GuildJobName[m_GuildMember.Job]);
}
}