コード例 #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
ファイル: Collider.cs プロジェクト: rue-ryuzaki/BansheeEngine
        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
ファイル: Component.cs プロジェクト: Ruu/BansheeEngine
 internal static extern void Internal_SetNotifyFlags(IntPtr nativeInstance, TransformChangedFlags flags);
コード例 #10
0
 internal static extern void Internal_SetNotifyFlags(IntPtr nativeInstance, TransformChangedFlags flags);
コード例 #11
0
        private void OnTransformChanged(TransformChangedFlags flags)
        {
            if (!SceneObject.Active || native == null)
                return;

            native.Position = SceneObject.Position;
        }
コード例 #12
0
ファイル: Rigidbody.cs プロジェクト: Ruu/BansheeEngine
        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
ファイル: Collider.cs プロジェクト: Ruu/BansheeEngine
        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
ファイル: Bone.cs プロジェクト: BearishSun/BansheeEngine
        private void OnTransformChanged(TransformChangedFlags flags)
        {
            if (!SceneObject.Active)
                return;

            if ((flags & TransformChangedFlags.Parent) != 0)
                UpdateParentAnimation();
        }
コード例 #15
0
ファイル: Joint.cs プロジェクト: BearishSun/BansheeEngine
        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
ファイル: Animation.cs プロジェクト: BearishSun/BansheeEngine
        private void OnTransformChanged(TransformChangedFlags flags)
        {
            if (!SceneObject.Active)
                return;

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