public CollisionSystem(IMyRemoteControl remoteControl, AutoPilotSystem autoPilot) { if (remoteControl == null || !MyAPIGateway.Entities.Exist(remoteControl?.SlimBlock?.CubeGrid)) { return; } UseCollisionDetection = true; RemoteControl = remoteControl; Matrix = MatrixD.Identity; Velocity = Vector3D.Zero; Owner = 0; AutoPilot = autoPilot; VelocityResult = new CollisionResult(this, Direction.None); TargetResult = new CollisionResult(this, Direction.None); ForwardResult = new CollisionResult(this, Direction.Forward); BackwardResult = new CollisionResult(this, Direction.Backward); UpResult = new CollisionResult(this, Direction.Up); DownResult = new CollisionResult(this, Direction.Down); LeftResult = new CollisionResult(this, Direction.Left); RightResult = new CollisionResult(this, Direction.Right); }