Example #1
0
 private void Synchronized(object sender, ComponentStateEventArgs componentStateEventArgs)
 {
     if (IsOutOfSync)
     {
         physics.World.Events.PostStep -= postStepHandler;
     }
     else
     {
         physics.World.Events.PostStep += postStepHandler;
     }
 }
Example #2
0
 protected override void OnAdded(ComponentStateEventArgs registrationArgs)
 {
     base.OnAdded(registrationArgs);
     if (physics.Body.Shape is Multishape)
     {
         throw new NotSupportedException("Multishapes not supported!");
     }
     physics.Body.IsStatic       = true;
     physics.Body.BroadphaseTag |= (int)BodyTags.Ghost;
     physics.Synchronized       += syncHandler;
 }
Example #3
0
        protected override void OnAdded(ComponentStateEventArgs registrationArgs)
        {
            base.OnAdded(registrationArgs);
            Body.Tag = Record.Name;
            var offset = Body.Position;
            var rot    = JMatrix.CreateFromQuaternion(transform.Rotation.ToQuaternion());

            JVector.Transform(ref offset, ref rot, out offset);
            Offset           = offset.ToVector3();
            Body.Orientation = Body.Orientation * rot;
            Body.Position    = offset + transform.Translation.ToJVector();
            baseTransform    = new Transform(JQuaternion.CreateFromMatrix(Body.Orientation).ToQuaternion(),
                                             Body.Position.ToVector3()).Invert() * new Transform(transform.Rotation, transform.Translation);
            storedScale = transform.Scale;
            transform.Bind(GetTransform, SetTransform);
        }
Example #4
0
 protected override void OnAdded(ComponentStateEventArgs registrationArgs)
 {
     base.OnAdded(registrationArgs);
     Initialize();
 }
Example #5
0
 protected override void OnRemoved(ComponentStateEventArgs e)
 {
     base.OnRemoved(e);
     localParent.RemoveChild(localRoot);
 }
Example #6
0
 protected override void OnAdded(ComponentStateEventArgs e)
 {
     base.OnAdded(e);
 }
Example #7
0
 protected override void OnRemoved(ComponentStateEventArgs registrationArgs)
 {
     base.OnRemoved(registrationArgs);
     physics.Body.BroadphaseTag ^= (int)BodyTags.Ghost;
     physics.Synchronized       -= syncHandler;
 }