public void WorldPositionQuery(IOutBitStream bitstream, WorldPositionQuery data) { var converted_position = coherenceToUnityConverters.FromUnityfloat3(data.position); bitstream.WriteVector3f(converted_position, 24, 2400); var converted_radius = coherenceToUnityConverters.FromUnityfloat(data.radius); bitstream.WriteFixedPoint(converted_radius, 24, 2400); }
public void WorldPositionQuery(IInBitStream bitstream, ref WorldPositionQuery data) { var position = bitstream.ReadVector3f(24, 2400); data.position = coherenceToUnityConverters.ToUnityfloat3(position); var radius = bitstream.ReadFixedPoint(24, 2400); data.radius = coherenceToUnityConverters.ToUnityfloat(radius); }
private void DeserializeWorldPositionQuery(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 WorldPositionQuery(); unityReaders.Read(ref temp, protocolStream); return; } // Overwrite components that don't use interpolation var componentData = entityManager.GetComponentData <WorldPositionQuery>(entity); unityReaders.Read(ref componentData, protocolStream); entityManager.SetComponentData(entity, componentData); }
public uint Read(ref WorldPositionQuery data, IInBitStream bitstream) { var propertyMask = (uint)0; if (bitstream.ReadMask()) { var coherenceField = bitstream.ReadVector3f(24, 2400); data.position = coherenceToUnityConverters.ToUnityfloat3(coherenceField); propertyMask |= 0b00000000000000000000000000000001; } if (bitstream.ReadMask()) { var coherenceField = bitstream.ReadFixedPoint(24, 2400); data.radius = coherenceToUnityConverters.ToUnityfloat(coherenceField); propertyMask |= 0b00000000000000000000000000000010; } return(propertyMask); }
private void DeserializeWorldPositionQuery(Coherence.Replication.Protocol.Definition.IInBitStream protocolStream) { var ignored = new WorldPositionQuery(); unityReaders.Read(ref ignored, protocolStream); }