示例#1
0
 internal void UpdateTransform(RigidBodyTransformUpdate update)
 {
     if (update.Position != null)
     {
         _rigidbody.position = update.Position.Value;
     }
     if (update.Rotation != null)
     {
         _rigidbody.rotation = update.Rotation.Value;
     }
 }
        internal void UpdateTransform(RigidBodyTransformUpdate update)
        {
            Vector3 origin = _rigidbody.GlobalTransform.origin;
            Basis   basis  = _rigidbody.GlobalTransform.basis;

            if (update.Position != null)
            {
                origin = update.Position.Value;
            }
            if (update.Rotation != null)
            {
                basis = new Basis(update.Rotation.Value);
            }
            _rigidbody.GlobalTransform = new Transform(basis, origin);
        }
示例#3
0
 internal void SynchronizeEngine(RigidBodyTransformUpdate update)
 {
     _updateActions.Enqueue((rigidBody) => UpdateTransform(update));
 }