Example: Network Manager
Simple example of using the Networking API and Buffer Reader Writer to send and receive chat messages.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38 | using CVR;
using WasmScripting;
public partial class NetworkManager : WasmBehaviour
{
private void Awake()
{
Networking.OnReceiveMessage += OnNetworkMessageReceived;
}
private enum MessageType : byte
{
ChatMessage = 0,
}
private void OnNetworkMessageReceived(Player sender, Span<byte> message)
{
BufferReaderWriter reader = new(message);
reader.Read(out MessageType type);
switch (type)
{
case MessageType.ChatMessage:
reader.Read(out string chatText);
TextWall.Instance.AddGlobalUserText(sender, chatText);
break;
}
}
public void SendTextChatMessage(string text)
{
BufferReaderWriter writer = new();
writer.Write(MessageType.ChatMessage);
writer.Write(text);
Networking.SendMessage(writer);
}
}
|