Skip to content

Commit 9d0e887

Browse files
committed
Added move validation delegate
1 parent 24d4ab2 commit 9d0e887

File tree

1 file changed

+11
-0
lines changed

1 file changed

+11
-0
lines changed

MLAPI/MonoBehaviours/Prototyping/NetworkedTransform.cs

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,10 @@ public class ClientSendInfo
6565

6666
private static byte[] positionUpdateBuffer = new byte[24];
6767

68+
public delegate bool MoveValidationDelegate(Vector3 oldPos, Vector3 newPos);
69+
70+
public MoveValidationDelegate IsMoveValidDelegate = null;
71+
6872
private void OnValidate()
6973
{
7074
if (!AssumeSyncedSends && InterpolatePosition)
@@ -205,6 +209,13 @@ private void OnRecieveTransformFromClient(uint clientId, BitReader reader)
205209
float xRot = bReader.ReadSingle();
206210
float yRot = bReader.ReadSingle();
207211
float zRot = bReader.ReadSingle();
212+
213+
if (IsMoveValidDelegate != null && !IsMoveValidDelegate(lerpEndPos, new Vector3(xPos, yPos, zPos)))
214+
{
215+
//Invalid move!
216+
//TODO: Add rubber band (just a message telling them to go back)
217+
return;
218+
}
208219

209220
if (InterpolateServer)
210221
{

0 commit comments

Comments
 (0)