Files
JJBB/Assets/Project/Script/GameLogic/NetWork/PacketHandler/GC_CHATHandler.cs
2024-08-23 15:49:34 +08:00

57 lines
1.8 KiB
C#

//This code create by CodeEngine
using System;
using Module.Log;
using Google.ProtocolBuffers;
using System.Collections;
namespace SPacket.SocketInstance
{
public class GC_CHATHandler : Ipacket
{
public uint Execute(PacketDistributed ipacket)
{
GC_CHAT packet = (GC_CHAT )ipacket;
if (null == packet) return (uint)PACKET_EXE.PACKET_EXE_ERROR;
//enter your logic
if (null == GameManager.gameManager.PlayerDataPool.BlackList)
{
return (uint)PACKET_EXE.PACKET_EXE_CONTINUE;
}
if (packet.HasSenderguid)
{
if (GameManager.gameManager.PlayerDataPool.BlackList.IsExist(packet.Senderguid))
{
return (uint)PACKET_EXE.PACKET_EXE_CONTINUE;
}
}
GameManager.gameManager.PlayerDataPool.ChatHistory.OnReceiveChat(packet);
if (FriendAndMailRoot.Instance() != null)
{
FriendAndMailRoot.Instance().OnReceiveChat();
}
if (ChatFrameLogic.Instance() != null)
{
ChatFrameLogic.Instance().OnReceiveChat(packet);
}
if (ChatInfoLogic.Instance() != null)
{
ChatInfoLogic.Instance().OnReceiveChat();
}
int HistoryCount = GameManager.gameManager.PlayerDataPool.ChatHistory.ChatHistoryList.Count;
var LastHistory = GameManager.gameManager.PlayerDataPool.ChatHistory.ChatHistoryList[HistoryCount - 1];
if (LastHistory.ChatInfo.StartsWith(ChatVoiceInputLogic._VoiceChatStart))
{
ChatVoice.Instance().AutoVoice(LastHistory);
}
return (uint)PACKET_EXE.PACKET_EXE_CONTINUE;
}
}
}