premature chat command + hardcoded stage for chat on any state

This commit is contained in:
rfi
2023-11-19 22:16:36 +07:00
parent 897a457584
commit 6976803f97
2 changed files with 42 additions and 1 deletions

View File

@@ -1,4 +1,5 @@
using AscNet.Common.MsgPack;
using AscNet.GameServer.Commands;
using AscNet.Table.share.chat;
using MessagePack;
@@ -152,6 +153,26 @@ internal class ChatModule
request.ChatData.Icon = (int)session.player.PlayerData.CurrHeadPortraitId;
request.ChatData.NickName = session.player.PlayerData.Name;
if (request.ChatData.Content is not null && request.ChatData.Content.StartsWith('/'))
{
var cmdStrings = request.ChatData.Content.Split(" ");
try
{
Command? cmd = CommandFactory.CreateCommand(cmdStrings.First().Split('/').Last(), session, cmdStrings[1..]);
if (cmd is null)
{
// Invalid command
}
cmd?.Execute();
}
catch (Exception)
{
// Failed to execute command
}
}
NotifyWorldChat notifyWorldChat = new();
notifyWorldChat.ChatMessages.Add(request.ChatData);