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);
        }
Пример #4
0
        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);
        }
Пример #5
0
        private void DeserializeWorldPositionQuery(Coherence.Replication.Protocol.Definition.IInBitStream protocolStream)
        {
            var ignored = new WorldPositionQuery();

            unityReaders.Read(ref ignored, protocolStream);
        }