public void SkipComponentDataUpdate(uint componentType, Coherence.Replication.Protocol.Definition.IInBitStream inProtocolStream) { switch (componentType) { case TypeIds.InternalWorldPosition: DeserializeWorldPosition(inProtocolStream); break; case TypeIds.InternalWorldOrientation: DeserializeWorldOrientation(inProtocolStream); break; case TypeIds.InternalLocalUser: DeserializeLocalUser(inProtocolStream); break; case TypeIds.InternalWorldPositionQuery: DeserializeWorldPositionQuery(inProtocolStream); break; case TypeIds.InternalArchetypeComponent: DeserializeArchetypeComponent(inProtocolStream); break; case TypeIds.InternalPersistence: DeserializePersistence(inProtocolStream); break; case TypeIds.InternalPlayer: DeserializePlayer(inProtocolStream); break; } }
public void PerformEvent(EntityManager mgr, Entity entity, uint eventTypeID, Coherence.Replication.Protocol.Definition.IInBitStream bitStream) { switch (eventTypeID) { case TypeIds.InternalTransferAction: { // Field 'TransferAction' var eventData = new TransferAction(); messageDeserializers.TransferAction(bitStream, ref eventData); if (!mgr.HasComponent <Simulated>(entity)) { // Only add events on Entities we don't own // UnityEngine.Debug.Log($"Adding an event on {entity}: {eventData}"); mgr.AddComponentData(entity, eventData); } break; } } }
public void PerformEvent(EntityManager mgr, Entity entity, uint eventTypeID, Coherence.Replication.Protocol.Definition.IInBitStream bitStream) { switch (eventTypeID) { case TypeIds.InternalTransferAction: { var eventData = new TransferAction(); messageDeserializers.TransferAction(bitStream, ref eventData); // Only add events on Entities we don't own if (!mgr.HasComponent <Simulated>(entity)) { if (!mgr.HasComponent <TransferAction>(entity)) { mgr.AddBuffer <TransferAction>(entity); } var buffer = mgr.GetBuffer <TransferAction>(entity); buffer.Add(eventData); } break; } } }
private void DeserializeLocalUser(EntityManager entityManager, Entity entity, bool componentOwnership, AbsoluteSimulationFrame simulationFrame, Coherence.Replication.Protocol.Definition.IInBitStream protocolStream, bool justCreated, IInBitStream bitStream) { // If we own the entity, don't overwrite with downstream data from server // TODO: Server should never send downstream to the simulating client if (componentOwnership) { // Read and discard data (the stream must always be read) var temp = new LocalUser(); unityReaders.Read(ref temp, protocolStream); return; } // Overwrite components that don't use interpolation var componentData = entityManager.GetComponentData <LocalUser>(entity); unityReaders.Read(ref componentData, protocolStream); entityManager.SetComponentData(entity, componentData); }
private void DeserializeWorldOrientation(EntityManager entityManager, Entity entity, bool componentOwnership, AbsoluteSimulationFrame simulationFrame, Coherence.Replication.Protocol.Definition.IInBitStream protocolStream, bool justCreated, IInBitStream bitStream) { // If we own the entity, don't overwrite with downstream data from server // TODO: Server should never send downstream to the simulating client if (componentOwnership) { // Read and discard data (the stream must always be read) var temp = new Rotation(); unityReaders.Read(ref temp, protocolStream); return; } // Ensure entities with interpolation also have Interpolation components and Sample components if (!entityManager.HasComponent <InterpolationComponent_Rotation>(entity)) { entityManager.AddComponent <InterpolationComponent_Rotation>(entity); entityManager.AddComponent <Sample_Rotation>(entity); } // Append buffer for components that use interpolation var tempComponentData = new Rotation(); unityReaders.Read(ref tempComponentData, protocolStream); if (justCreated) // Hack { entityManager.SetComponentData(entity, tempComponentData); } InterpolationSystem_Rotation.AppendBuffer(entity, tempComponentData, entityManager.World, (ulong)simulationFrame.Frame); }
private void DeserializePlayer(EntityManager entityManager, Entity entity, bool componentOwnership, AbsoluteSimulationFrame simulationFrame, Coherence.Replication.Protocol.Definition.IInBitStream protocolStream, bool justCreated, IInBitStream bitStream) { // No need to read empty components, just ensure that it's there if (!entityManager.HasComponent <Player>(entity)) { entityManager.AddComponent <Player>(entity); } }
public void PerformInput(EntityManager mgr, Entity entity, uint inputTypeID, Coherence.Replication.Protocol.Definition.IInBitStream bitStream) { }
private void DeserializeGenericFieldInt2(Coherence.Replication.Protocol.Definition.IInBitStream protocolStream) { var ignored = new GenericFieldInt2(); unityReaders.Read(ref ignored, protocolStream); }
public void DeserializeAndSkipComponent(uint componentTypeId, Coherence.Replication.Protocol.Definition.IInBitStream protocolOutStream) { deserializeComponentUpdateSkipGenerated.SkipComponentDataUpdate(componentTypeId, protocolOutStream); }
private void DeserializeConnectedEntity(Coherence.Replication.Protocol.Definition.IInBitStream protocolStream) { var ignored = new ConnectedEntity(); unityReaders.Read(ref ignored, protocolStream); }
private void DeserializePersistence(Coherence.Replication.Protocol.Definition.IInBitStream protocolStream) { var ignored = new Persistence(); unityReaders.Read(ref ignored, protocolStream); }
private void DeserializeArchetypeComponent(Coherence.Replication.Protocol.Definition.IInBitStream protocolStream) { var ignored = new ArchetypeComponent(); unityReaders.Read(ref ignored, protocolStream); }
public void SkipComponentDataUpdate(uint componentType, Coherence.Replication.Protocol.Definition.IInBitStream inProtocolStream) { switch (componentType) { case TypeIds.InternalWorldPosition: DeserializeWorldPosition(inProtocolStream); break; case TypeIds.InternalWorldOrientation: DeserializeWorldOrientation(inProtocolStream); break; case TypeIds.InternalLocalUser: DeserializeLocalUser(inProtocolStream); break; case TypeIds.InternalWorldPositionQuery: DeserializeWorldPositionQuery(inProtocolStream); break; case TypeIds.InternalArchetypeComponent: DeserializeArchetypeComponent(inProtocolStream); break; case TypeIds.InternalPersistence: DeserializePersistence(inProtocolStream); break; case TypeIds.InternalConnectedEntity: DeserializeConnectedEntity(inProtocolStream); break; case TypeIds.InternalGenericPrefabReference: DeserializeGenericPrefabReference(inProtocolStream); break; case TypeIds.InternalGenericScale: DeserializeGenericScale(inProtocolStream); break; case TypeIds.InternalGenericFieldInt0: DeserializeGenericFieldInt0(inProtocolStream); break; case TypeIds.InternalGenericFieldInt1: DeserializeGenericFieldInt1(inProtocolStream); break; case TypeIds.InternalGenericFieldInt2: DeserializeGenericFieldInt2(inProtocolStream); break; case TypeIds.InternalGenericFieldInt3: DeserializeGenericFieldInt3(inProtocolStream); break; case TypeIds.InternalGenericFieldInt4: DeserializeGenericFieldInt4(inProtocolStream); break; case TypeIds.InternalGenericFieldInt5: DeserializeGenericFieldInt5(inProtocolStream); break; case TypeIds.InternalGenericFieldInt6: DeserializeGenericFieldInt6(inProtocolStream); break; case TypeIds.InternalGenericFieldInt7: DeserializeGenericFieldInt7(inProtocolStream); break; case TypeIds.InternalGenericFieldInt8: DeserializeGenericFieldInt8(inProtocolStream); break; case TypeIds.InternalGenericFieldInt9: DeserializeGenericFieldInt9(inProtocolStream); break; case TypeIds.InternalGenericFieldBool0: DeserializeGenericFieldBool0(inProtocolStream); break; case TypeIds.InternalGenericFieldBool1: DeserializeGenericFieldBool1(inProtocolStream); break; case TypeIds.InternalGenericFieldBool2: DeserializeGenericFieldBool2(inProtocolStream); break; case TypeIds.InternalGenericFieldBool3: DeserializeGenericFieldBool3(inProtocolStream); break; case TypeIds.InternalGenericFieldBool4: DeserializeGenericFieldBool4(inProtocolStream); break; case TypeIds.InternalGenericFieldBool5: DeserializeGenericFieldBool5(inProtocolStream); break; case TypeIds.InternalGenericFieldBool6: DeserializeGenericFieldBool6(inProtocolStream); break; case TypeIds.InternalGenericFieldBool7: DeserializeGenericFieldBool7(inProtocolStream); break; case TypeIds.InternalGenericFieldBool8: DeserializeGenericFieldBool8(inProtocolStream); break; case TypeIds.InternalGenericFieldBool9: DeserializeGenericFieldBool9(inProtocolStream); break; case TypeIds.InternalGenericFieldFloat0: DeserializeGenericFieldFloat0(inProtocolStream); break; case TypeIds.InternalGenericFieldFloat1: DeserializeGenericFieldFloat1(inProtocolStream); break; case TypeIds.InternalGenericFieldFloat2: DeserializeGenericFieldFloat2(inProtocolStream); break; case TypeIds.InternalGenericFieldFloat3: DeserializeGenericFieldFloat3(inProtocolStream); break; case TypeIds.InternalGenericFieldFloat4: DeserializeGenericFieldFloat4(inProtocolStream); break; case TypeIds.InternalGenericFieldFloat5: DeserializeGenericFieldFloat5(inProtocolStream); break; case TypeIds.InternalGenericFieldFloat6: DeserializeGenericFieldFloat6(inProtocolStream); break; case TypeIds.InternalGenericFieldFloat7: DeserializeGenericFieldFloat7(inProtocolStream); break; case TypeIds.InternalGenericFieldFloat8: DeserializeGenericFieldFloat8(inProtocolStream); break; case TypeIds.InternalGenericFieldFloat9: DeserializeGenericFieldFloat9(inProtocolStream); break; case TypeIds.InternalGenericFieldVector0: DeserializeGenericFieldVector0(inProtocolStream); break; case TypeIds.InternalGenericFieldVector1: DeserializeGenericFieldVector1(inProtocolStream); break; case TypeIds.InternalGenericFieldVector2: DeserializeGenericFieldVector2(inProtocolStream); break; case TypeIds.InternalGenericFieldVector3: DeserializeGenericFieldVector3(inProtocolStream); break; case TypeIds.InternalGenericFieldString0: DeserializeGenericFieldString0(inProtocolStream); break; case TypeIds.InternalGenericFieldString1: DeserializeGenericFieldString1(inProtocolStream); break; case TypeIds.InternalGenericFieldString2: DeserializeGenericFieldString2(inProtocolStream); break; case TypeIds.InternalGenericFieldString3: DeserializeGenericFieldString3(inProtocolStream); break; case TypeIds.InternalGenericFieldString4: DeserializeGenericFieldString4(inProtocolStream); break; case TypeIds.InternalGenericFieldQuaternion0: DeserializeGenericFieldQuaternion0(inProtocolStream); break; case TypeIds.InternalGenericFieldEntity0: DeserializeGenericFieldEntity0(inProtocolStream); break; case TypeIds.InternalGenericFieldEntity1: DeserializeGenericFieldEntity1(inProtocolStream); break; case TypeIds.InternalGenericFieldEntity2: DeserializeGenericFieldEntity2(inProtocolStream); break; case TypeIds.InternalGenericFieldEntity3: DeserializeGenericFieldEntity3(inProtocolStream); break; case TypeIds.InternalGenericFieldEntity4: DeserializeGenericFieldEntity4(inProtocolStream); break; case TypeIds.InternalGenericFieldEntity5: DeserializeGenericFieldEntity5(inProtocolStream); break; case TypeIds.InternalGenericFieldEntity6: DeserializeGenericFieldEntity6(inProtocolStream); break; case TypeIds.InternalGenericFieldEntity7: DeserializeGenericFieldEntity7(inProtocolStream); break; case TypeIds.InternalGenericFieldEntity8: DeserializeGenericFieldEntity8(inProtocolStream); break; case TypeIds.InternalGenericFieldEntity9: DeserializeGenericFieldEntity9(inProtocolStream); break; } }
private void DeserializeWorldPositionQuery(Coherence.Replication.Protocol.Definition.IInBitStream protocolStream) { var ignored = new WorldPositionQuery(); unityReaders.Read(ref ignored, protocolStream); }
public void PerformCommand(EntityManager mgr, Entity entity, uint commandTypeID, Coherence.Replication.Protocol.Definition.IInBitStream bitStream) { switch (commandTypeID) { case TypeIds.InternalAuthorityTransfer: { var hasRequestBuffer = mgr.HasComponent <AuthorityTransfer>(entity); if (!hasRequestBuffer) { mgr.AddBuffer <AuthorityTransfer>(entity); } var buffer = mgr.GetBuffer <AuthorityTransfer>(entity); var data = new AuthorityTransfer(); messageDeserializers.AuthorityTransfer(bitStream, ref data); buffer.Add(data); break; } } }