static void Main(string[] args) { var station = new Station(); var shuttle = new Shuttle(1, "Columbia"); IRule dockingRule = new DockingRule(shuttle); ICommand dock = new Dock(station, shuttle, dockingRule); var controller = new StationController(); controller.ExecuteCommand(dock, DockingSuccessful, DockingFailed); var shuttle2 = new Shuttle(2, "Discovery"); dockingRule = new DockingRule(shuttle2); dock = new Dock(station, shuttle2, dockingRule); controller.ExecuteCommand(dock, DockingSuccessful, DockingFailed); var shuttle3 = new Shuttle(3, "Challenger"); dockingRule = new DockingRule(shuttle3); dock = new Dock(station, shuttle3, dockingRule); controller.ExecuteCommand(dock, DockingSuccessful, DockingFailed); var undock = new Undock(station, shuttle2); controller.ExecuteCommand(undock, Undocked, (result) => { }); controller.ExecuteCommand(dock, DockingSuccessful, DockingFailed); }
public static void Initialize() { WinConditions = new WinConditionsRule(); DistanceBonus = new DistanceBonusRule(); EndPhase = new EndPhaseCleanupRule(); Stress = new StressRule(); Strain = new StrainRule(); Deplete = new DepleteRule(); OffTheBoard = new OffTheBoardRule(); Collision = new CollisionRules(); Actions = new ActionsRule(); AsteroidLanded = new AsteroidLandedRule(); AsteroidHit = new ObstaclesHitRule(); MineHit = new MineHitRule(); AsteroidObstruction = new AsteroidObstructionRule(); Initiative = new InitiativeRule(); TargetIsLegalForShot = new TargetIsLegalForShotRule(); Ionization = new IonizationRule(); Jam = new JamRule(); TargetLocks = new TargetLocksRule(); WeaponsDisabled = new WeaponsDisabledRule(); BullseyeArc = new BullseyeArcRule(); Docking = new DockingRule(); TractorBeam = new TractorBeamRule(); Force = new ForceRule(); Charge = new ChargeRule(); Destruction = new DestructionRule(); Fuse = new FuseRule(); Remotes = new RemotesRule(); PurpleManeuvers = new PurpleManeuversRule(); }
static Rules() { WinConditions = new WinConditionsRule(); DistanceBonus = new DistanceBonusRule(); EndPhase = new EndPhaseCleanupRule(); Stress = new StressRule(); OffTheBoard = new OffTheBoardRule(); Collision = new CollisionRules(); DuplicatedActions = new DuplicatedActionsRule(); AsteroidLanded = new AsteroidLandedRule(); AsteroidHit = new AsteroidHitRule(); MineHit = new MineHitRule(); AsteroidObstruction = new AsteroidObstructionRule(); Initiative = new InitiativeRule(); TargetIsLegalForShot = new TargetIsLegalForShotRule(); Ionization = new IonizationRule(); Jammed = new JammedRule(); TargetLocks = new TargetLocksRule(); Cloak = new CloakRule(); WeaponsDisabled = new WeaponsDisabledRule(); BullseyeArc = new BullseyeArcRule(); Docking = new DockingRule(); }