protected override void OnUpdate() { // Send update at SendRateHz. timeSinceLastSend += Time.deltaTime; if (timeSinceLastSend < 1.0f / SendRateHz) { return; } timeSinceLastSend = 0.0f; for (var i = 0; i < positionData.Length; i++) { var component = positionData.Position[i]; if (component.DirtyBit != true) { continue; } var entityId = positionData.SpatialEntityIds[i].EntityId; var update = new SchemaComponentUpdate(component.ComponentId); Position.Serialization.Serialize(component, update.GetFields()); WorkerSystem.Connection.SendComponentUpdate(entityId, new ComponentUpdate(update)); component.DirtyBit = false; positionData.Position[i] = component; } }
protected override void OnUpdate() { // Send update at SendRateHz. timeSinceLastSend += Time.deltaTime; if (timeSinceLastSend < 1.0f / SendRateHz) { return; } timeSinceLastSend = 0.0f; for (var i = 0; i < transformData.Length; i++) { var component = transformData.Transforms[i]; if (component.DirtyBit != true) { continue; } var entityId = transformData.SpatialEntityIds[i].EntityId; var update = new SchemaComponentUpdate(component.ComponentId); Generated.Improbable.Transform.SpatialOSTransform.Serialization.Serialize(component, update.GetFields()); worker.Connection.SendComponentUpdate(entityId, new ComponentUpdate(update)); component.DirtyBit = false; transformData.Transforms[i] = component; } }