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

110 lines
3.4 KiB
C#

using UnityEngine;
using UnityEngine.UI;
using System.Collections;
using Games.Item;
using GCGame.Table;
using Games.ChatHistory;
using GCGame;
using Games.GlobeDefine;
using Module.Log;
public class CommunityLeaveMsgInfo
{
public int MsgIDX;
public ulong GUID;
public int Profession;
public string HeadIconName;
public string Name;
public int Level;
public int Time;
public string MsgText;
public ulong TargetGUID;
public string TargetName;
}
public class CommunityLeaveMsgItem : CommunityPlayerBaseItem
{
public Text _Time;
public ChatContex _MsgText;
public Button _BtnDel;
private CommunityLeaveMsgInfo _MsgInfo;
public override void Show(Hashtable hash)
{
base.Show(hash);
CommunityLeaveMsgInfo msgInfo = (CommunityLeaveMsgInfo)hash["InitObj"];
ShowMsgInfo(msgInfo);
}
public virtual void ShowMsgInfo(CommunityLeaveMsgInfo msgInfo)
{
_MsgInfo = msgInfo;
if (_Icon.isActiveAndEnabled)
{
if (!string.IsNullOrEmpty(msgInfo.HeadIconName))
{
_Icon.SetNetImage(Community.Instance.GetHeadIconDownUrl(msgInfo.HeadIconName), msgInfo.GUID);
}
else
{
_Icon.NetImageUrl = "";
_Icon._ImageChecking.gameObject.SetActive(false);
LoadAssetBundle.Instance.SetImageSprite(_Icon._Image, Utils.GetProfessionSpriteName(msgInfo.Profession));
}
}
_GUID = _MsgInfo.GUID;
_Name.text = _MsgInfo.Name;
_Level.text = _MsgInfo.Level.ToString();
_Time.text = CommunityBlogItem.GetBlogTimeStr(_MsgInfo.Time);
string showLinkStr = "";
if (!string.IsNullOrEmpty(msgInfo.TargetName))
{
string retRoleLink = StrDictionary.GetClientDictionaryString("#{39003}", msgInfo.TargetName, msgInfo.TargetGUID);
showLinkStr += StrDictionary.GetClientDictionaryString("#{39006}", retRoleLink);
showLinkStr += ":";
}
//msgInfo.MsgText = "#{39029}*" + _MsgInfo.GUID + "*" + _MsgInfo.Name + "123";
if (msgInfo.MsgText.StartsWith("#{39029}")) //特殊处理在其他人空间留言的情况
{
showLinkStr += StrDictionary.GetServerDictionaryFormatString(msgInfo.MsgText);
}
else
{
showLinkStr += msgInfo.MsgText;
}
_MsgText.ShowLinkStr(showLinkStr);
if (CommunityLogic.CommunityPlayerInfo.GUID == GameManager.gameManager.PlayerDataPool.MainPlayerBaseAttr.Guid
|| _MsgInfo.GUID == GameManager.gameManager.PlayerDataPool.MainPlayerBaseAttr.Guid)
{
_BtnDel.gameObject.SetActive(true);
}
else
{
_BtnDel.gameObject.SetActive(false);
}
}
public void OnDeleteMsg()
{
MessageBoxLogic.OpenOKCancelBox(39007, -1, OnDeleteMsgOK);
//LogModule.DebugLog("Delete Message:" + _MsgInfo.GUID);
}
private void OnDeleteMsgOK()
{
LogModule.DebugLog("Delete Message:" + _MsgInfo.GUID);
CG_REQ_DEL_LEAVE_WORD_FROM_SPACE packet = (CG_REQ_DEL_LEAVE_WORD_FROM_SPACE)PacketDistributed.CreatePacket(MessageID.PACKET_CG_REQ_DEL_LEAVE_WORD_FROM_SPACE);
packet.Roleguid = CommunityLogic.CommunityPlayerInfo.GUID;
packet.Leavewordindex = _MsgInfo.MsgIDX;
packet.SendPacket();
}
}