Ejemplo n.º 1
0
 public void CannotPerformRedManeuversWhileStressed(Ship.GenericShip ship, ref Movement.MovementStruct movement)
 {
     //TODO: Should I show red maneuvers if I have stress?
     if ((movement.ColorComplexity == Movement.ManeuverColor.Red) && (ship.GetToken(typeof(Tokens.StressToken)) != null))
     {
         movement.ColorComplexity = Movement.ManeuverColor.None;
     }
 }
Ejemplo n.º 2
0
 private void NienNunbAbility(Ship.GenericShip ship, ref Movement.MovementStruct movement)
 {
     if (movement.ColorComplexity != Movement.ManeuverColor.None)
     {
         if (movement.Bearing == Movement.ManeuverBearing.Straight)
         {
             movement.ColorComplexity = Movement.ManeuverColor.Green;
         }
     }
 }
Ejemplo n.º 3
0
 private void TurnManeuversAreRed(Ship.GenericShip ship, ref Movement.MovementStruct movement)
 {
     if (movement.Bearing == Movement.ManeuverBearing.Turn)
     {
         //Too many notifications
         //Game.UI.ShowInfo("Damaged Engine: Treat all turn maneuvers as red maneuvers");
         //Game.UI.AddTestLogEntry("Damaged Engine: Treat all turn maneuvers as red maneuvers");
         movement.ColorComplexity = Movement.ManeuverColor.Red;
     }
 }
Ejemplo n.º 4
0
 private void TwinIonEngineMkIIAbility(GenericShip ship, ref Movement.MovementStruct movement)
 {
     if (movement.ColorComplexity != Movement.ManeuverColor.None)
     {
         if (movement.Bearing == Movement.ManeuverBearing.Bank)
         {
             movement.ColorComplexity = Movement.ManeuverColor.Green;
         }
     }
 }
Ejemplo n.º 5
0
 private void CheckAbility(Ship.GenericShip ship, ref Movement.MovementStruct movement)
 {
     if (movement.ColorComplexity != Movement.MovementComplexity.None)
     {
         if (movement.Speed == Movement.ManeuverSpeed.Speed3)
         {
             movement.ColorComplexity = Movement.MovementComplexity.Easy;
         }
     }
 }
Ejemplo n.º 6
0
 private void CheckT65DA1Ability(GenericShip ship, ref Movement.MovementStruct movement)
 {
     if (movement.ColorComplexity != Movement.ManeuverColor.None)
     {
         if (movement.Speed == Movement.ManeuverSpeed.Speed2)
         {
             movement.ColorComplexity = Movement.ManeuverColor.Green;
         }
     }
 }
Ejemplo n.º 7
0
 private void CheckAbility(GenericShip ship, ref Movement.MovementStruct movement)
 {
     if (movement.ColorComplexity != Movement.MovementComplexity.None)
     {
         if (movement.Bearing == Movement.ManeuverBearing.Bank)
         {
             movement.ColorComplexity = Movement.MovementComplexity.Easy;
         }
     }
 }
Ejemplo n.º 8
0
 private void CannotBeAssignedStraightManeuvers(GenericShip ship, ref Movement.MovementStruct movement)
 {
     if (movement.Bearing == Movement.ManeuverBearing.Straight)
     {
         //Too many
         //Game.UI.ShowError("Shaken Pilot: Cannot be assigned straight maneuvers");
         //Game.UI.AddTestLogEntry("Shaken Pilot: Cannot be assigned straight maneuvers");
         movement.ColorComplexity = Movement.MovementComplexity.None;
     }
 }
Ejemplo n.º 9
0
 private void TurnManeuversAreRed(Ship.GenericShip ship, ref Movement.MovementStruct movement)
 {
     if (movement.ColorComplexity != Movement.MovementComplexity.None)
     {
         if (movement.Bearing == Movement.ManeuverBearing.Turn)
         {
             movement.ColorComplexity = Movement.MovementComplexity.Complex;
         }
     }
 }
Ejemplo n.º 10
0
 private void R2AstromechAbility(Ship.GenericShip ship, ref Movement.MovementStruct movement)
 {
     if (movement.ColorComplexity != Movement.ManeuverColor.None)
     {
         if ((movement.Speed == Movement.ManeuverSpeed.Speed1) || (movement.Speed == Movement.ManeuverSpeed.Speed2))
         {
             movement.ColorComplexity = Movement.ManeuverColor.Green;
         }
     }
 }
Ejemplo n.º 11
0
        private bool IsBankManeuversSameSpeed(string maneuverString)
        {
            bool result = false;

            Movement.MovementStruct movementStruct = new Movement.MovementStruct(maneuverString);
            if (movementStruct.Bearing == Movement.ManeuverBearing.Bank && movementStruct.Speed == HostShip.AssignedManeuver.ManeuverSpeed)
            {
                result = true;
            }
            return(result);
        }
Ejemplo n.º 12
0
        private bool IsSameComplexity(string maneuverString)
        {
            bool result = false;

            Movement.MovementStruct movementStruct = new Movement.MovementStruct(maneuverString);
            if (movementStruct.ColorComplexity == HostShip.AssignedManeuver.ColorComplexity)
            {
                result = true;
            }
            return(result);
        }
Ejemplo n.º 13
0
        private bool IsSameSpeed(string maneuverString)
        {
            bool result = false;

            Movement.MovementStruct movementStruct = new Movement.MovementStruct(maneuverString);
            if (movementStruct.Speed == Selection.ThisShip.AssignedManeuver.ManeuverSpeed)
            {
                result = true;
            }
            return(result);
        }
Ejemplo n.º 14
0
        private bool IsSameBearingAndDirection(string maneuverString)
        {
            bool result = false;

            Movement.MovementStruct movementStruct = new Movement.MovementStruct(maneuverString);
            if (movementStruct.Bearing == Selection.ThisShip.AssignedManeuver.Bearing && movementStruct.Direction == Selection.ThisShip.AssignedManeuver.Direction)
            {
                if (!(movementStruct.ColorComplexity == Movement.MovementComplexity.Complex && HostShip.Tokens.HasToken(typeof(Tokens.StressToken))))
                {
                    result = true;
                }
            }
            return(result);
        }
Ejemplo n.º 15
0
        // MANEUVERS

        // TODO: Rewrite
        public Movement.ManeuverColor GetColorComplexityOfManeuver(Movement.MovementStruct movement)
        {
            if (AfterGetManeuverColorDecreaseComplexity != null)
            {
                AfterGetManeuverColorDecreaseComplexity(this, ref movement);
            }
            if (AfterGetManeuverColorIncreaseComplexity != null)
            {
                AfterGetManeuverColorIncreaseComplexity(this, ref movement);
            }
            if (AfterGetManeuverAvailablity != null)
            {
                AfterGetManeuverAvailablity(this, ref movement);
            }

            return(movement.ColorComplexity);
        }
Ejemplo n.º 16
0
        private void TurnManeuversAreHarder(Ship.GenericShip ship, ref Movement.MovementStruct movement)
        {
            if (movement.ColorComplexity != Movement.MovementComplexity.None)
            {
                if (movement.Bearing == Movement.ManeuverBearing.Turn)
                {
                    switch (movement.ColorComplexity)
                    {
                    case Movement.MovementComplexity.Easy:
                        movement.ColorComplexity = Movement.MovementComplexity.Normal;
                        break;

                    case Movement.MovementComplexity.Normal:
                        movement.ColorComplexity = Movement.MovementComplexity.Complex;
                        break;
                    }
                }
            }
        }
Ejemplo n.º 17
0
        public Dictionary <string, Movement.ManeuverColor> GetManeuvers()
        {
            Dictionary <string, Movement.ManeuverColor> result = new Dictionary <string, Movement.ManeuverColor>();

            foreach (var maneuverHolder in Maneuvers)
            {
                Movement.MovementStruct movement = Game.Movement.ManeuverFromString(maneuverHolder.Key);
                if (AfterGetManeuverColorDecreaseComplexity != null)
                {
                    AfterGetManeuverColorDecreaseComplexity(this, ref movement);
                }
                if (AfterGetManeuverColorIncreaseComplexity != null)
                {
                    AfterGetManeuverColorIncreaseComplexity(this, ref movement);
                }
                if (AfterGetManeuverAvailablity != null)
                {
                    AfterGetManeuverAvailablity(this, ref movement);
                }
                result.Add(maneuverHolder.Key, movement.ColorComplexity);
            }

            return(result);
        }
Ejemplo n.º 18
0
        public bool HasManeuver(Movement.MovementStruct maneuverStruct)
        {
            string maneuverString = maneuverStruct.ToString();

            return(HasManeuver(maneuverString));
        }