public void CheckOffTheBoard(GenericShip ship) { if (Board.IsOffTheBoard(ship)) { Direction direction = Board.GetOffTheBoardDirection(ship); bool shouldDestroyShip = true; ship.CallOffTheBoard(ref shouldDestroyShip, direction); if (shouldDestroyShip) { Triggers.RegisterTrigger(new Trigger() { Name = "Ship is off the board", TriggerType = TriggerTypes.OnPositionFinish, TriggerOwner = ship.Owner.PlayerNo, EventHandler = DestroyShipOffTheBoard, Sender = ship }); } else { ship.IsSkipsActionSubPhase = true; } } }