private void UpdateWorldBounding() { worldBounding = Boundings.Transform(LocalBounding, Matrix.Transformation( Vector3.Zero, Quaternion.Identity, Scale, // scale Vector3.Zero, Rotation, // rotate Position)); // translate worldBoundingInvalidated = false; }
public void ComputeBoundingVolumenes() { if (_volume == null) { _volume = new Boundings(); } if (_vb == null) { return; } _volume.ComputeBoundingVolumenes(_vb); }
public override bool OnMouseClick(Vector2 Position, MouseButton Button) { if (Boundings.PointInside(this.Position + Position)) { if (hover >= 0 && hover < list.Count && Button == MouseButton.Left) { Hide(); if (list[hover].Command != null) { list[hover].Command.Execute(); } } return(true); } if (Button == MouseButton.Left) { Hide(); } return(true); }
public bool CollidesWith(Body body) { return(Boundings.Intersects(body.Boundings)); }