Skip to content

Commit ad88c20

Browse files
committed
Added proximity checking to NetworkedTransform
1 parent a44141a commit ad88c20

File tree

1 file changed

+20
-3
lines changed

1 file changed

+20
-3
lines changed

MLAPI/MonoBehaviours/Prototyping/NetworkedTransform.cs

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ namespace MLAP
1010
{
1111
public class NetworkedTransform : NetworkedBehaviour
1212
{
13-
[Range(0, 120)]
14-
public int SendsPerSecond = 20;
13+
[Range(0f, 120f)]
14+
public float SendsPerSecond = 20;
1515
[Tooltip("This assumes that the SendsPerSecond is synced across clients")]
1616
public bool AssumeSyncedSends = true;
1717
[Tooltip("This requires AssumeSyncedSends to be true")]
@@ -32,6 +32,10 @@ public class NetworkedTransform : NetworkedBehaviour
3232
private Vector3 lastSentPos;
3333
private Quaternion lastSentRot;
3434

35+
public bool EnableProximity = false;
36+
[Header("If enable proximity is turned on, on clients within this range will be recieving position updates from the server")]
37+
public float ProximityRange = 50;
38+
3539
private void OnValidate()
3640
{
3741
if (!AssumeSyncedSends && InterpolatePosition)
@@ -161,7 +165,20 @@ private void OnRecieveTransformFromClient(int clientId, byte[] data)
161165
writer.Write(yRot);
162166
writer.Write(zRot);
163167
}
164-
SendToNonLocalClientsTarget("MLAPI_OnRecieveTransformFromServer", "MLAPI_POSITION_UPDATE", writeStream.GetBuffer());
168+
if(EnableProximity)
169+
{
170+
for (int i = 0; i < NetworkingManager.singleton.connectedClients.Count; i++)
171+
{
172+
if (Vector3.Distance(NetworkingManager.singleton.connectedClients[i].PlayerObject.transform.position, transform.position) <= ProximityRange)
173+
{
174+
SendToClientTarget(NetworkingManager.singleton.connectedClients[i].ClientId, "MLAPI_OnRecieveTransformFromServer", "MLAPI_POSITION_UPDATE", writeStream.GetBuffer());
175+
}
176+
}
177+
}
178+
else
179+
{
180+
SendToNonLocalClientsTarget("MLAPI_OnRecieveTransformFromServer", "MLAPI_POSITION_UPDATE", writeStream.GetBuffer());
181+
}
165182
}
166183
}
167184
}

0 commit comments

Comments
 (0)