feat: add world chat UI

This commit is contained in:
ud18010
2026-07-28 11:54:07 +08:00
parent 09c89aadf0
commit 48aed26725
28 changed files with 5308 additions and 99 deletions
@@ -86,6 +86,27 @@ namespace XWorld.Framework.Tests
Assert.Equal("version mismatch", d.Message);
}
[Fact]
public void WorldChatMessages_RoundTrip()
{
var send = new WorldChatSendMsg { Text = "hello world" };
WorldChatSendMsg decodedSend = WorldChatSendMsg.Decode(send.Encode());
Assert.Equal("hello world", decodedSend.Text);
var broadcast = new WorldChatMessageMsg
{
PlayerId = 42,
PlayerName = "Alice",
Text = "hello everyone",
ServerTimeMs = 123456789L
};
WorldChatMessageMsg decodedBroadcast = WorldChatMessageMsg.Decode(broadcast.Encode());
Assert.Equal(42, decodedBroadcast.PlayerId);
Assert.Equal("Alice", decodedBroadcast.PlayerName);
Assert.Equal("hello everyone", decodedBroadcast.Text);
Assert.Equal(123456789L, decodedBroadcast.ServerTimeMs);
}
[Fact]
public void Opcodes_AreStableValues()
{
@@ -97,6 +118,8 @@ namespace XWorld.Framework.Tests
Assert.Equal((ushort)5, (ushort)FrameworkOpcode.Snapshot);
Assert.Equal((ushort)6, (ushort)FrameworkOpcode.RoomEnd);
Assert.Equal((ushort)7, (ushort)FrameworkOpcode.Error);
Assert.Equal((ushort)16, (ushort)FrameworkOpcode.WorldChatSend);
Assert.Equal((ushort)17, (ushort)FrameworkOpcode.WorldChatMessage);
}
[Fact]