feat: add in game command handler

This commit is contained in:
Naruse
2025-06-14 14:13:48 +08:00
parent 684eab933b
commit 07ec2f9abf
10 changed files with 201 additions and 34 deletions

View File

@@ -0,0 +1,31 @@
using KianaBH.GameServer.Command;
using KianaBH.GameServer.Game.Player;
using KianaBH.GameServer.Server.Packet.Send.Chat;
using KianaBH.Proto;
using KianaBH.Util.Extensions;
namespace KianaBH.GameServer.Game.Battle;
public class WorldChatManager(PlayerInstance player) : BasePlayerManager(player)
{
public List<ChatMsg> Chats { get; set; } = [];
public async ValueTask SendMessage(string message, ChatMsg chatMsg)
{
chatMsg.Uid = (uint)Player.Data.Uid;
chatMsg.Nickname = Player.Data.Name;
chatMsg.Time = (uint)Extensions.GetUnixSec();
chatMsg.AvatarId = (uint)Player.Data.AssistantAvatarId;
chatMsg.DressId = (uint)Player.AvatarManager!.AvatarData.Avatars.Where(avatar => avatar.AvatarId == Player.Data.AssistantAvatarId).First().DressId;
chatMsg.FrameId = (uint)Player.Data.HeadFrame;
chatMsg.CustomHeadId = (uint)Player.Data.HeadIcon;
await Player.SendPacket(new PacketRecvChatMsgNotify(chatMsg));
if (message.StartsWith('/') == true)
{
var cmd = message[1..];
CommandExecutor.ExecuteCommand(new PlayerCommandSender(Player), cmd);
}
}
}