-
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathBasisTestNetworkAvatarOverrideJump.cs
60 lines (59 loc) · 1.92 KB
/
BasisTestNetworkAvatarOverrideJump.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
using Basis.Scripts.BasisSdk;
using Basis.Scripts.BasisSdk.Players;
using Basis.Scripts.Networking;
using LiteNetLib;
using UnityEngine;
using UnityEngine.InputSystem;
public class BasisTestNetworkAvatarOverrideJump : MonoBehaviour
{
[Header("Assign Ahead Of Time")]
public BasisAvatar avatar;
public byte MessageIndexTest = 2;
public ushort[] Recipients = null;
public BasisPlayer BasisPlayer;
public bool Isready;
public byte[] Buffer;
public DeliveryMethod Method = DeliveryMethod.Unreliable;
public void Awake()
{
avatar.OnAvatarReady += OnAvatarReady;
avatar.OnNetworkMessageReceived += OnNetworkMessageReceived;
}
public void OnDestroy()
{
avatar.OnAvatarReady -= OnAvatarReady;
avatar.OnNetworkMessageReceived -= OnNetworkMessageReceived;
}
private void OnAvatarReady(bool IsOwner)
{
Debug.Log("OnAvatarReady");
if (IsOwner)
{
if (BasisNetworkManagement.AvatarToPlayer(avatar, out BasisPlayer))
{
Isready = true;
Debug.Log("Actually ran!");
}
}
}
public void Update()
{
if (Isready)
{
if (Keyboard.current[Key.Space].wasPressedThisFrame)
{
//(byte MessageIndex, byte[] buffer = null, DeliveryMethod DeliveryMethod = DeliveryMethod.Unreliable, ushort[] Recipients = null)
avatar.NetworkMessageSend(MessageIndexTest, Buffer, Method, Recipients);
// BasisNetworkManagement.RequestOwnership();
}
}
}
private void OnNetworkMessageReceived(ushort PlayerID, byte MessageIndex, byte[] buffer = null, DeliveryMethod Method = DeliveryMethod.ReliableSequenced)
{
Debug.Log("got message " + MessageIndex);
if (MessageIndex == MessageIndexTest)
{
BasisLocalPlayer.Instance.Move.HandleJump();
}
}
}