Skip to content

Commit aca5a40

Browse files
committed
Replaced byte[] message handler overloads with BitReader ones for prototype components
1 parent d1caf4b commit aca5a40

File tree

3 files changed

+59
-49
lines changed

3 files changed

+59
-49
lines changed

MLAPI/MonoBehaviours/Prototyping/NetworkedAnimator.cs

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using MLAPI.Data;
22
using MLAPI.MonoBehaviours.Core;
3+
using MLAPI.NetworkingManagerComponents.Binary;
34
using System.Collections.Generic;
45
using System.IO;
56
using UnityEngine;
@@ -248,11 +249,12 @@ private void SetRecvTrackingParam(string p, int i)
248249
if (i == 5) param5 = p;
249250
}
250251

251-
private void HandleAnimMsg(uint clientId, byte[] data)
252+
private void HandleAnimMsg(uint clientId, BitReader reader)
252253
{
253254
// usually transitions will be triggered by parameters, if not, play anims directly.
254255
// NOTE: this plays "animations", not transitions, so any transitions will be skipped.
255256
// NOTE: there is no API to play a transition(?)
257+
byte[] data = reader.ReadByteArray();
256258

257259
if(isServer)
258260
{
@@ -269,23 +271,24 @@ private void HandleAnimMsg(uint clientId, byte[] data)
269271
else
270272
SendToNonLocalClientsTarget("MLAPI_HandleAnimationMessage", "MLAPI_ANIMATION_UPDATE", data);
271273
}
272-
using(MemoryStream stream = new MemoryStream(data))
274+
using (MemoryStream stream = new MemoryStream(data))
273275
{
274-
using(BinaryReader reader = new BinaryReader(stream))
276+
using (BinaryReader bReader = new BinaryReader(stream))
275277
{
276-
int stateHash = reader.ReadInt32();
277-
float normalizedTime = reader.ReadSingle();
278+
int stateHash = bReader.ReadInt32();
279+
float normalizedTime = bReader.ReadSingle();
278280
if(stateHash != 0)
279281
{
280282
animator.Play(stateHash, 0, normalizedTime);
281283
}
282-
ReadParameters(reader, false);
284+
ReadParameters(bReader, false);
283285
}
284286
}
285287
}
286288

287-
private void HandleAnimParamsMsg(uint clientId, byte[] data)
289+
private void HandleAnimParamsMsg(uint clientId, BitReader reader)
288290
{
291+
byte[] data = reader.ReadByteArray();
289292
if (isServer)
290293
{
291294
if (EnableProximity)
@@ -303,15 +306,16 @@ private void HandleAnimParamsMsg(uint clientId, byte[] data)
303306
}
304307
using (MemoryStream stream = new MemoryStream(data))
305308
{
306-
using (BinaryReader reader = new BinaryReader(stream))
309+
using (BinaryReader bReader = new BinaryReader(stream))
307310
{
308-
ReadParameters(reader, true);
311+
ReadParameters(bReader, true);
309312
}
310313
}
311314
}
312315

313-
private void HandleAnimTriggerMsg(uint clientId, byte[] data)
316+
private void HandleAnimTriggerMsg(uint clientId, BitReader reader)
314317
{
318+
byte[] data = reader.ReadByteArray();
315319
if (isServer)
316320
{
317321
if (EnableProximity)
@@ -329,9 +333,9 @@ private void HandleAnimTriggerMsg(uint clientId, byte[] data)
329333
}
330334
using (MemoryStream stream = new MemoryStream(data))
331335
{
332-
using(BinaryReader reader = new BinaryReader(stream))
336+
using (BinaryReader bReader = new BinaryReader(stream))
333337
{
334-
animator.SetTrigger(reader.ReadInt32());
338+
animator.SetTrigger(bReader.ReadInt32());
335339
}
336340
}
337341
}

MLAPI/MonoBehaviours/Prototyping/NetworkedNavMeshAgent.cs

Lines changed: 22 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using MLAPI.Data;
22
using MLAPI.MonoBehaviours.Core;
3+
using MLAPI.NetworkingManagerComponents.Binary;
34
using System.Collections.Generic;
45
using System.IO;
56
using UnityEngine;
@@ -134,23 +135,24 @@ private void Update()
134135
}
135136
}
136137

137-
private void OnNavMeshStateUpdate(uint clientId, byte[] data)
138+
private void OnNavMeshStateUpdate(uint clientId, BitReader reader)
138139
{
140+
byte[] data = reader.ReadByteArray();
139141
using (MemoryStream stream = new MemoryStream(data))
140142
{
141-
using (BinaryReader reader = new BinaryReader(stream))
143+
using (BinaryReader bReader = new BinaryReader(stream))
142144
{
143-
float xDestination = reader.ReadSingle();
144-
float yDestination = reader.ReadSingle();
145-
float zDestination = reader.ReadSingle();
145+
float xDestination = bReader.ReadSingle();
146+
float yDestination = bReader.ReadSingle();
147+
float zDestination = bReader.ReadSingle();
146148

147-
float xVel = reader.ReadSingle();
148-
float yVel = reader.ReadSingle();
149-
float zVel = reader.ReadSingle();
149+
float xVel = bReader.ReadSingle();
150+
float yVel = bReader.ReadSingle();
151+
float zVel = bReader.ReadSingle();
150152

151-
float xPos = reader.ReadSingle();
152-
float yPos = reader.ReadSingle();
153-
float zPos = reader.ReadSingle();
153+
float xPos = bReader.ReadSingle();
154+
float yPos = bReader.ReadSingle();
155+
float zPos = bReader.ReadSingle();
154156

155157
Vector3 destination = new Vector3(xDestination, yDestination, zDestination);
156158
Vector3 velocity = new Vector3(xVel, yVel, zVel);
@@ -166,19 +168,20 @@ private void OnNavMeshStateUpdate(uint clientId, byte[] data)
166168
}
167169
}
168170

169-
private void OnNavMeshCorrectionUpdate(uint clientId, byte[] data)
171+
private void OnNavMeshCorrectionUpdate(uint clientId, BitReader reader)
170172
{
173+
byte[] data = reader.ReadByteArray();
171174
using (MemoryStream stream = new MemoryStream(data))
172175
{
173-
using (BinaryReader reader = new BinaryReader(stream))
176+
using (BinaryReader bReader = new BinaryReader(stream))
174177
{
175-
float xVel = reader.ReadSingle();
176-
float yVel = reader.ReadSingle();
177-
float zVel = reader.ReadSingle();
178+
float xVel = bReader.ReadSingle();
179+
float yVel = bReader.ReadSingle();
180+
float zVel = bReader.ReadSingle();
178181

179-
float xPos = reader.ReadSingle();
180-
float yPos = reader.ReadSingle();
181-
float zPos = reader.ReadSingle();
182+
float xPos = bReader.ReadSingle();
183+
float yPos = bReader.ReadSingle();
184+
float zPos = bReader.ReadSingle();
182185

183186
Vector3 velocity = new Vector3(xVel, yVel, zVel);
184187
Vector3 position = new Vector3(xPos, yPos, zPos);

MLAPI/MonoBehaviours/Prototyping/NetworkedTransform.cs

Lines changed: 21 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using MLAPI.Data;
22
using MLAPI.MonoBehaviours.Core;
3+
using MLAPI.NetworkingManagerComponents.Binary;
34
using System.IO;
45
using UnityEngine;
56

@@ -152,19 +153,20 @@ private void Update()
152153
}
153154
}
154155

155-
private void OnRecieveTransformFromServer(uint clientId, byte[] data)
156+
private void OnRecieveTransformFromServer(uint clientId, BitReader reader)
156157
{
158+
byte[] data = reader.ReadByteArray();
157159
using (MemoryStream stream = new MemoryStream(data))
158160
{
159-
using (BinaryReader reader = new BinaryReader(stream))
161+
using (BinaryReader bReader = new BinaryReader(stream))
160162
{
161-
float xPos = reader.ReadSingle();
162-
float yPos = reader.ReadSingle();
163-
float zPos = reader.ReadSingle();
163+
float xPos = bReader.ReadSingle();
164+
float yPos = bReader.ReadSingle();
165+
float zPos = bReader.ReadSingle();
164166

165-
float xRot = reader.ReadSingle();
166-
float yRot = reader.ReadSingle();
167-
float zRot = reader.ReadSingle();
167+
float xRot = bReader.ReadSingle();
168+
float yRot = bReader.ReadSingle();
169+
float zRot = bReader.ReadSingle();
168170

169171
lerpStartPos = transform.position;
170172
lerpStartRot = transform.rotation;
@@ -175,19 +177,20 @@ private void OnRecieveTransformFromServer(uint clientId, byte[] data)
175177
}
176178
}
177179

178-
private void OnRecieveTransformFromClient(uint clientId, byte[] data)
180+
private void OnRecieveTransformFromClient(uint clientId, BitReader reader)
179181
{
182+
byte[] data = reader.ReadByteArray();
180183
using (MemoryStream readStream = new MemoryStream(data))
181184
{
182-
using(BinaryReader reader = new BinaryReader(readStream))
185+
using (BinaryReader bReader = new BinaryReader(readStream))
183186
{
184-
float xPos = reader.ReadSingle();
185-
float yPos = reader.ReadSingle();
186-
float zPos = reader.ReadSingle();
187+
float xPos = bReader.ReadSingle();
188+
float yPos = bReader.ReadSingle();
189+
float zPos = bReader.ReadSingle();
187190

188-
float xRot = reader.ReadSingle();
189-
float yRot = reader.ReadSingle();
190-
float zRot = reader.ReadSingle();
191+
float xRot = bReader.ReadSingle();
192+
float yRot = bReader.ReadSingle();
193+
float zRot = bReader.ReadSingle();
191194

192195
if (InterpolateServer)
193196
{
@@ -204,7 +207,7 @@ private void OnRecieveTransformFromClient(uint clientId, byte[] data)
204207
}
205208
using (MemoryStream writeStream = new MemoryStream(positionUpdateBuffer))
206209
{
207-
using(BinaryWriter writer = new BinaryWriter(writeStream))
210+
using (BinaryWriter writer = new BinaryWriter(writeStream))
208211
{
209212
writer.Write(xPos);
210213
writer.Write(yPos);
@@ -213,7 +216,7 @@ private void OnRecieveTransformFromClient(uint clientId, byte[] data)
213216
writer.Write(yRot);
214217
writer.Write(zRot);
215218
}
216-
if(EnableProximity)
219+
if (EnableProximity)
217220
{
218221
// For instead of Foreach?! TODO!!!
219222
for (uint i = 0; i < NetworkingManager.singleton.connectedClients.Count; i++)

0 commit comments

Comments
 (0)