示例#1
0
    public ShipCmdState GetShipCmdState()
    {
        int moveID   = GlobalShipMoves.GetGlobalMoveIndex(shipMove);
        int actionID = GlobalShipActions.GetGlobalActionIndex(shipAction);

        return(new ShipCmdState(moveID, actionID, shipID));
    }
示例#2
0
    public static List <ShipActionAvailablityEnum> GetShipActionAvailability(ShipController shipController, ShipCommand shipCommand)
    {
        ShipAction[] shipActions = GlobalShipActions.ShipActions();

        List <ShipActionAvailablityEnum> shipActionAvailabilty = new List <ShipActionAvailablityEnum>();

        for (int i = 0; i < shipActions.Length; ++i)
        {
            ShipAction a = shipActions[i];
            ShipActionAvailablityEnum aa = ShipActionAvailablityEnum.DISABLED;

            if (a.energyDelta + shipController.energy >= 0)
            {
                aa = ShipActionAvailablityEnum.ENABLED;
            }
            else
            {
                aa = ShipActionAvailablityEnum.CANNOT_USE;
            }

            if (GlobalShipActions.GetGlobalActionIndex(shipCommand.shipAction) == i)
            {
                aa = ShipActionAvailablityEnum.SELECTED;
            }

            shipActionAvailabilty.Add(aa);
        }

        return(shipActionAvailabilty);
    }