up
This commit is contained in:
@@ -475,24 +475,6 @@ namespace RebootKit.Engine.Network {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// @NOTE: We are assuming that message buffer is already initialized with header and count of entities.
|
|
||||||
static bool CanFitNextEntityInMessage(NetworkMessageBuffer messageBuffer, int dataSizeToFit) {
|
|
||||||
if (!messageBuffer.Writer.WillFit(dataSizeToFit)) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Increment count of entities in the message
|
|
||||||
using NetworkBufferReader reader = new NetworkBufferReader(messageBuffer.GetDataSlice(),
|
|
||||||
NetworkMessageHeader.k_HeaderSize);
|
|
||||||
reader.Read(out byte count);
|
|
||||||
|
|
||||||
if (count >= byte.MaxValue) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
internal bool WriteActorTransformState(ulong clientID, ActorTransformSyncData transformData) {
|
internal bool WriteActorTransformState(ulong clientID, ActorTransformSyncData transformData) {
|
||||||
if (!RR.IsServer()) {
|
if (!RR.IsServer()) {
|
||||||
s_Logger.Error("WriteActorTransformState can only be called on the server.");
|
s_Logger.Error("WriteActorTransformState can only be called on the server.");
|
||||||
@@ -503,7 +485,7 @@ namespace RebootKit.Engine.Network {
|
|||||||
int dataSizeToFit = transformData.GetMaxBytes();
|
int dataSizeToFit = transformData.GetMaxBytes();
|
||||||
NetworkMessageBuffer messageBuffer = clientState.ActorsTransformUpdates;
|
NetworkMessageBuffer messageBuffer = clientState.ActorsTransformUpdates;
|
||||||
|
|
||||||
if (!CanFitNextEntityInMessage(messageBuffer, dataSizeToFit)) {
|
if (!messageBuffer.Writer.WillFit(dataSizeToFit)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -24,7 +24,8 @@ namespace RebootKit.Engine.Simulation {
|
|||||||
readonly List<Actor> m_InSceneActors = new List<Actor>();
|
readonly List<Actor> m_InSceneActors = new List<Actor>();
|
||||||
readonly List<Actor> m_SpawnedActors = new List<Actor>();
|
readonly List<Actor> m_SpawnedActors = new List<Actor>();
|
||||||
|
|
||||||
ushort m_ActorIDCounter = 0;
|
// @NOTE: 0 is reserved for no actor so we should start assigning IDs from 1.
|
||||||
|
ushort m_ActorIDCounter;
|
||||||
|
|
||||||
public ushort InSceneActorsCount { get { return (ushort) m_InSceneActors.Count; } }
|
public ushort InSceneActorsCount { get { return (ushort) m_InSceneActors.Count; } }
|
||||||
public ushort SpawnedActorsCount { get { return (ushort) m_SpawnedActors.Count; } }
|
public ushort SpawnedActorsCount { get { return (ushort) m_SpawnedActors.Count; } }
|
||||||
|
|||||||
Reference in New Issue
Block a user