-
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathBasisTestNetwork.cs
93 lines (85 loc) · 3.63 KB
/
BasisTestNetwork.cs
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
using Basis.Scripts.BasisSdk;
using Basis.Scripts.BasisSdk.Players;
using Basis.Scripts.Networking;
using Basis.Scripts.Networking.NetworkedPlayer;
using LiteNetLib;
using System.Linq;
using UnityEngine;
public class BasisTestNetwork : MonoBehaviour
{
//tests network apis
public BasisAvatar avatar;
public DeliveryMethod Method = DeliveryMethod.ReliableSequenced;
public bool Send = false;
public ushort[] Players;
public void OnEnable()
{
avatar = BasisLocalPlayer.Instance.BasisAvatar;
foreach (BasisNetworkedPlayer Player in BasisNetworkManagement.Players.Values)
{
if (Player != null && Player.Player != null & Player.Player.BasisAvatar != null)
{
Player.Player.BasisAvatar.OnNetworkMessageReceived += OnNetworkMessageReceived;
}
else
{
Debug.LogError("This should not have occured!");
}
}
BasisScene.OnNetworkMessageReceived += OnNetworkMessageReceived;
}
public void OnDisable()
{
avatar = BasisLocalPlayer.Instance.BasisAvatar;
foreach (BasisNetworkedPlayer Player in BasisNetworkManagement.Players.Values)
{
if (Player != null && Player.Player != null & Player.Player.BasisAvatar != null)
{
Player.Player.BasisAvatar.OnNetworkMessageReceived -= OnNetworkMessageReceived;
}
else
{
Debug.LogError("This should not have occured!");
}
}
BasisScene.OnNetworkMessageReceived -= OnNetworkMessageReceived;
}
public void LateUpdate()
{
if (Send)
{
// ushort[] Players = BasisNetworkManagement.RemotePlayers.Keys.ToArray();
byte[] Bytes = new byte[16];
Debug.Log("sending Avatar");
// avatar.NetworkMessageSend(1, Method);
// avatar.NetworkMessageSend(2, null, Method);
avatar.NetworkMessageSend(3, null, Method, Players);
// avatar.NetworkMessageSend(4, null, Method, null);
// avatar.NetworkMessageSend(5, Bytes, Method);
// avatar.NetworkMessageSend(6, Bytes, Method, Players);
// avatar.NetworkMessageSend(7, Bytes, Method, null);
// Debug.Log("sent Avatar");
// Debug.Log("Sending Scene");
// BasisScene.NetworkMessageSend(8, Method);
// BasisScene.NetworkMessageSend(9, null, Method);
// BasisScene.NetworkMessageSend(10, null, Method, Players);
//
// BasisScene.NetworkMessageSend(11, null, Method, null);
/// BasisScene.NetworkMessageSend(12, Bytes, Method);
// BasisScene.NetworkMessageSend(13, Bytes, Method, Players);
// BasisScene.NetworkMessageSend(14, Bytes, Method, null);
// Debug.Log("sent Scene");
Send = false;
}
}
private void OnNetworkMessageReceived(ushort PlayerID, ushort MessageIndex, byte[] buffer, DeliveryMethod Method = DeliveryMethod.ReliableSequenced)
{
string bufferLength = buffer != null ? buffer.Length.ToString() : "null";
Debug.Log($"Scene: Interpreting {PlayerID} Stage {MessageIndex} BufferLength: {bufferLength} ReliableSequenced: {Method}");
}
private void OnNetworkMessageReceived(ushort PlayerID, byte MessageIndex, byte[] buffer, DeliveryMethod Method = DeliveryMethod.ReliableSequenced)
{
string bufferLength = buffer != null ? buffer.Length.ToString() : "null";
Debug.Log($"Avatar: Interpreting {PlayerID} Stage {MessageIndex} BufferLength: {bufferLength} ReliableSequenced: {Method}");
}
}