示例#1
0
        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;
                }
            }
        }