110 lines
3.4 KiB
C#
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();
|
|
}
|
|
}
|