예제 #1
0
        private void OnTransformChanged(TransformChangedFlags flags)
        {
            if (!SceneObject.Active)
            {
                return;
            }

            if ((flags & TransformChangedFlags.Parent) != 0)
            {
                ClearColliders();
                UpdateColliders();

                if ((serializableData.flags & RigidbodyFlag.AutoTensors) != 0)
                {
                    native.UpdateMassDistribution();
                }

#if DEBUG
                CheckForNestedRigibody();
#endif
            }

            native.Position = SceneObject.Position;
            native.Rotation = SceneObject.Rotation;

            if (parentJoint != null)
            {
                parentJoint.NotifyRigidbodyMoved(this);
            }
        }
예제 #2
0
        private void OnTransformChanged(TransformChangedFlags flags)
        {
            if (!SceneObject.Active)
                return;

            if ((flags & (TransformChangedFlags.Parent | TransformChangedFlags.Transform)) != 0)
                UpdateTransform();
        }
예제 #3
0
        private void OnTransformChanged(TransformChangedFlags flags)
        {
            if (!SceneObject.Active || native == null)
            {
                return;
            }

            native.Position = SceneObject.Position;
        }
예제 #4
0
        private void OnTransformChanged(TransformChangedFlags flags)
        {
            if (!SceneObject.Active)
            {
                return;
            }

            if ((flags & (TransformChangedFlags.Parent | TransformChangedFlags.Transform)) != 0)
            {
                UpdateTransform();
            }
        }
예제 #5
0
        private void OnTransformChanged(TransformChangedFlags flags)
        {
            if (!SceneObject.Active)
            {
                return;
            }

            if ((flags & (TransformChangedFlags.Transform)) != 0)
            {
                UpdateBounds(false);
            }
        }
예제 #6
0
        private void OnTransformChanged(TransformChangedFlags flags)
        {
            if (!SceneObject.Active)
            {
                return;
            }

            if ((flags & TransformChangedFlags.Parent) != 0)
            {
                UpdateParentAnimation();
            }
        }
예제 #7
0
        private void OnTransformChanged(TransformChangedFlags flags)
        {
            if (native == null)
            {
                return;
            }

            // We're ignoring this during physics update because it would cause problems if the joint itself was moved by physics
            // Note: This isn't particularily correct because if the joint is being moved by physics but the rigidbodies
            // themselves are not parented to the joint, the transform will need updating. However I'm leaving it up to the
            // user to ensure rigidbodies are always parented to the joint in such a case (It's an unlikely situation that
            // I can't think of an use for - joint transform will almost always be set as an initialization step and not a
            // physics response).
            if (Physics.IsUpdateInProgress)
            {
                return;
            }

            UpdateTransform(JointBody.Target);
            UpdateTransform(JointBody.Anchor);
        }
예제 #8
0
        private void OnTransformChanged(TransformChangedFlags flags)
        {
            if (!SceneObject.Active)
            {
                return;
            }

            if ((flags & TransformChangedFlags.Parent) != 0)
            {
                UpdateParentRigidbody();
            }

            // Don't update the transform if it's due to Physics update since then we can guarantee it will remain at the same
            // relative transform to its parent
            if (Physics.IsUpdateInProgress)
            {
                return;
            }

            if ((flags & (TransformChangedFlags.Parent | TransformChangedFlags.Transform)) != 0)
            {
                UpdateTransform();
            }
        }
예제 #9
0
 internal static extern void Internal_SetNotifyFlags(IntPtr nativeInstance, TransformChangedFlags flags);
예제 #10
0
 internal static extern void Internal_SetNotifyFlags(IntPtr nativeInstance, TransformChangedFlags flags);
        private void OnTransformChanged(TransformChangedFlags flags)
        {
            if (!SceneObject.Active || native == null)
                return;

            native.Position = SceneObject.Position;
        }
예제 #12
0
        private void OnTransformChanged(TransformChangedFlags flags)
        {
            if (!SceneObject.Active)
                return;

            if ((flags & TransformChangedFlags.Parent) != 0)
            {
                ClearColliders();
                UpdateColliders();

                if ((serializableData.flags & RigidbodyFlag.AutoTensors) != 0)
                    native.UpdateMassDistribution();

            #if DEBUG
            CheckForNestedRigibody();
            #endif
            }

            native.Position = SceneObject.Position;
            native.Rotation = SceneObject.Rotation;

            if (parentJoint != null)
                parentJoint.NotifyRigidbodyMoved(this);
        }
예제 #13
0
        private void OnTransformChanged(TransformChangedFlags flags)
        {
            if (!SceneObject.Active)
                return;

            if ((flags & TransformChangedFlags.Parent) != 0)
                UpdateParentRigidbody();

            // Don't update the transform if it's due to Physics update since then we can guarantee it will remain at the same
            // relative transform to its parent
            if (Physics.IsUpdateInProgress)
                return;

            if ((flags & (TransformChangedFlags.Parent | TransformChangedFlags.Transform)) != 0)
                UpdateTransform();
        }
예제 #14
0
        private void OnTransformChanged(TransformChangedFlags flags)
        {
            if (!SceneObject.Active)
                return;

            if ((flags & TransformChangedFlags.Parent) != 0)
                UpdateParentAnimation();
        }
예제 #15
0
        private void OnTransformChanged(TransformChangedFlags flags)
        {
            if (native == null)
                return;

            // We're ignoring this during physics update because it would cause problems if the joint itself was moved by physics
            // Note: This isn't particularily correct because if the joint is being moved by physics but the rigidbodies
            // themselves are not parented to the joint, the transform will need updating. However I'm leaving it up to the
            // user to ensure rigidbodies are always parented to the joint in such a case (It's an unlikely situation that
            // I can't think of an use for - joint transform will almost always be set as an initialization step and not a
            // physics response).
            if (Physics.IsUpdateInProgress)
                return;

            UpdateTransform(JointBody.Target);
            UpdateTransform(JointBody.Anchor);
        }
예제 #16
0
        private void OnTransformChanged(TransformChangedFlags flags)
        {
            if (!SceneObject.Active)
                return;

            if ((flags & (TransformChangedFlags.Transform)) != 0)
                UpdateBounds(false);
        }