using System.Collections.Generic; namespace Thousandto.Code.Logic { /// /// 用于聊天消息收发 /// public class ChatInfo { public int ChatType = -1; // 消息类型 public ulong SendId = 0; // 发送人id public string SendName = ""; // 发送人名字 public int SendVipLevel = -1; //发送人的vip等级 public ulong Receiver = 0; // 接收人id public string ReceiverName = ""; // 接收人名字 public int RecvVipLevel = -1; // 接收人VIP类型 public string Content = ""; // 聊天消息 public int Channel = 1; //聊天频道 public int VipLevel = 0; public int MoonardCard = 0; //月卡 public int SenderLevel = 0; //发送者等级 public int HeadId = 0; //头像ID public int HeadFrameId = 0; //头像框ID public string HeadPicID = string.Empty; //图片头像id public bool ShowHeadPic = false; //是否展示图片头像 public int ChatBgId = 0; //气泡ID public bool IsRobot = false; //是否是机器人 public int Sid = 0; //服务器id public bool canTranslate = false; //是否可以翻译 public bool IsShowTranslate = false; //是否显示翻译后的文字 public bool IsTranslate = false; //是否是翻译 public string ReceiveTime = string.Empty; //消息接收时间 //发送者职业,默认为小学生 public int SenderOcc = 0; //聊天面板 public object ChatPannel = null; //是否读过 public bool IsRead = false; //是否显示miniChat public bool IsShowMini = true; //一条聊天信息,包含若干字符节点 public List ChatDatas = new List(); //是否是系统消息 public bool IsSystemMsg { get { return Channel == (int)(ChatChanelType.SYSTEM) || Channel == (int)(ChatChanelType.ChuanWen); } } private System.Action _cleanFunc = null; public void SetCleanFunc(System.Action action) { _cleanFunc = action; } public static ChatInfo Copy(ChatInfo info) { ChatInfo infoCopy = new ChatInfo(); infoCopy.ChatDatas = info.ChatDatas; infoCopy.ChatType = info.ChatType; infoCopy.SendId = info.SendId; infoCopy.SendName = info.SendName; infoCopy.SendVipLevel = info.SendVipLevel; infoCopy.Receiver = info.Receiver; infoCopy.ReceiverName = info.ReceiverName; infoCopy.RecvVipLevel = info.RecvVipLevel; infoCopy.Content = info.Content; infoCopy.MoonardCard = info.MoonardCard; infoCopy.Channel = info.Channel; infoCopy.VipLevel = info.VipLevel; infoCopy.SenderOcc = info.SenderOcc; infoCopy.SenderLevel = info.SenderLevel; infoCopy.ChatBgId = info.ChatBgId; infoCopy.HeadId = info.HeadId; infoCopy.HeadFrameId = info.HeadFrameId; infoCopy.HeadPicID = info.HeadPicID; infoCopy.ShowHeadPic = info.ShowHeadPic; infoCopy.IsRead = info.IsRead; infoCopy.ReceiveTime = info.ReceiveTime; infoCopy.canTranslate = info.canTranslate; infoCopy.IsShowMini = info.IsShowMini; return infoCopy; } public void Destroy() { if(_cleanFunc != null) { _cleanFunc(); } } } }