public void ApplyUpgrade(UpgradeBase upgrade) { this.Update(() => { _topology.ApplyUpgrade(upgrade); }); }
public void ClickFlight(ClickUIEvent ev) { var keys = Keyboard.GetState(); if (!keys.IsKeyDown(Keys.LeftControl)) { _fadeTransition.StartTransition(() => { _sceneManager.SetScene(new CreditsScene()); }); return; } var topology = new ShipTopology(6, 5); if (keys.IsKeyDown(Keys.D9)) { for (var i = 0; i < 6; i++) { for (var j = 0; j < 5; j++) { topology.SetSection(new Point(i, j), new Section( new RocketModule(), ConnectionLayouts.FullyConnected, 1 )); } } } topology.SetSection(new Point(2, 2), new Section( new ResearchCenterModule(), ConnectionLayouts.FullyConnected )); topology.SetSection(new Point(2, 1), new Section( new BlasterModule(), ConnectionLayouts.FullyConnected, 4 )); topology.SetSection(new Point(3, 1), new Section( new BombardModule(), ConnectionLayouts.FullyConnected, 4 )); topology.SetSection(new Point(2, 3), new Section( new RocketModule(), ConnectionLayouts.FullyConnected, 1 )); topology.SetSection(new Point(1, 3), new Section( new RocketModule(), ConnectionLayouts.FullyConnected, 2 )); topology.SetSection(new Point(3, 3), new Section( new RocketModule(), ConnectionLayouts.FullyConnected, OffDirection.SouthEast )); topology.SetSection(new Point(3, 2), new Section( new RotaryEngine(), ConnectionLayouts.FullyConnected, 1 )); topology.SetSection(new Point(4, 2), new Section( new RotaryEngine(), ConnectionLayouts.FullyConnected, 1 )); topology.SetSection(new Point(5, 2), new Section( new RotaryEngine(), ConnectionLayouts.FullyConnected, 1 )); topology.ApplyUpgrade(new RapidFire()); var orchestrator = _menuScene.Create(false).Add(new Orchestrator(topology)); orchestrator.CurrentPlanet = Planet.Earth; orchestrator.NextFlight(); //_menuScene.SetScene(new FlightScene(topology)); }
private ShipTopology CreateWall(int wallWave) { var topology = new ShipTopology(10, 10); for (var i = 0; i < 10; i++) { for (var j = 0; j < 10; j++) { if (j == 9) { topology.SetSection(new Point(i, j), new Section(new RocketModule(), ConnectionLayouts.FullyConnected, i == 0 ? 0 : i == 9 ? 2 : 1)); } else { topology.SetSection(new Point(i, j), new Section(new ArmourModule(), ConnectionLayouts.FullyConnected, 4)); } } } topology.SetSection(new Point(0, 0), new Section(new ShieldBubbleGeneratorModule(), ConnectionLayouts.FullyConnected, 2)); topology.SetSection(new Point(4, 4), new Section(new ResearchCenterModule(), ConnectionLayouts.FullyConnected, 2)); topology.SetSection(new Point(3, 4), new Section(new ResearchCenterModule(), ConnectionLayouts.FullyConnected, 2)); topology.SetSection(new Point(4, 5), new Section(new EnergyModule(), ConnectionLayouts.FullyConnected, 2)); topology.SetSection(new Point(6, 7), new Section(new EnergyModule(), ConnectionLayouts.FullyConnected, 2)); topology.SetSection(new Point(8, 5), new Section(new EnergyModule(), ConnectionLayouts.FullyConnected, 2)); topology.SetSection(new Point(3, 4), new Section(new EnergyModule(), ConnectionLayouts.FullyConnected, 2)); topology.SetSection(new Point(2, 2), new Section(new EnergyModule(), ConnectionLayouts.FullyConnected, 2)); topology.SetSection(new Point(2, 3), new Section(new ShieldBubbleGeneratorModule(), ConnectionLayouts.FullyConnected, 2)); topology.SetSection(new Point(2, 5), new Section(new EnergyModule(), ConnectionLayouts.FullyConnected, 2)); topology.SetSection(new Point(2, 6), new Section(new ShieldBubbleGeneratorModule(), ConnectionLayouts.FullyConnected, 2)); topology.SetSection(new Point(2, 8), new Section(new EnergyModule(), ConnectionLayouts.FullyConnected, 2)); topology.SetSection(new Point(8, 2), new Section(new EnergyModule(), ConnectionLayouts.FullyConnected, 2)); topology.SetSection(new Point(8, 5), new Section(new EnergyModule(), ConnectionLayouts.FullyConnected, 2)); topology.SetSection(new Point(8, 8), new Section(new EnergyModule(), ConnectionLayouts.FullyConnected, 2)); topology.SetSection(new Point(4, 2), new Section(new EnergyModule(), ConnectionLayouts.FullyConnected, 2)); topology.SetSection(new Point(4, 3), new Section(new ShieldBubbleGeneratorModule(), ConnectionLayouts.FullyConnected, 2)); topology.SetSection(new Point(4, 5), new Section(new EnergyModule(), ConnectionLayouts.FullyConnected, 2)); topology.SetSection(new Point(4, 6), new Section(new ShieldBubbleGeneratorModule(), ConnectionLayouts.FullyConnected, 2)); topology.SetSection(new Point(4, 8), new Section(new EnergyModule(), ConnectionLayouts.FullyConnected, 2)); topology.SetSection(new Point(1, 0), new Section(new BlasterModule(), ConnectionLayouts.FullyConnected, 4)); topology.SetSection(new Point(2, 0), new Section(new BombardModule(), ConnectionLayouts.FullyConnected, 3)); topology.SetSection(new Point(3, 0), new Section(new BombardModule(), ConnectionLayouts.FullyConnected, 4)); topology.SetSection(new Point(4, 0), new Section(new BombardModule(), ConnectionLayouts.FullyConnected, 5)); topology.SetSection(new Point(5, 0), new Section(new ShieldBubbleGeneratorModule(), ConnectionLayouts.FullyConnected, 2)); topology.SetSection(new Point(6, 0), new Section(new BombardModule(), ConnectionLayouts.FullyConnected, 3)); topology.SetSection(new Point(7, 0), new Section(new BombardModule(), ConnectionLayouts.FullyConnected, 4)); topology.SetSection(new Point(8, 0), new Section(new BombardModule(), ConnectionLayouts.FullyConnected, 5)); topology.SetSection(new Point(9, 0), new Section(new BlasterModule(), ConnectionLayouts.FullyConnected, 4)); topology.SetSection(new Point(0, 1), new Section(new BombardModule(), ConnectionLayouts.FullyConnected, 2)); topology.SetSection(new Point(0, 2), new Section(new BombardModule(), ConnectionLayouts.FullyConnected, 3)); topology.SetSection(new Point(0, 3), new Section(new BombardModule(), ConnectionLayouts.FullyConnected, 4)); topology.SetSection(new Point(0, 4), new Section(new ShieldBubbleGeneratorModule(), ConnectionLayouts.FullyConnected, 4)); topology.SetSection(new Point(0, 5), new Section(new BombardModule(), ConnectionLayouts.FullyConnected, 2)); topology.SetSection(new Point(0, 6), new Section(new BombardModule(), ConnectionLayouts.FullyConnected, 3)); topology.SetSection(new Point(0, 7), new Section(new BombardModule(), ConnectionLayouts.FullyConnected, 4)); topology.SetSection(new Point(0, 8), new Section(new BlasterModule(), ConnectionLayouts.FullyConnected, 3)); topology.SetSection(new Point(0, 9), new Section(new BlasterModule(), ConnectionLayouts.FullyConnected, 3)); topology.SetSection(new Point(9, 1), new Section(new BlasterModule(), ConnectionLayouts.FullyConnected, 5)); topology.SetSection(new Point(9, 2), new Section(new BombardModule(), ConnectionLayouts.FullyConnected, 4)); topology.SetSection(new Point(9, 3), new Section(new BombardModule(), ConnectionLayouts.FullyConnected, 5)); topology.SetSection(new Point(9, 4), new Section(new BombardModule(), ConnectionLayouts.FullyConnected, 0)); topology.SetSection(new Point(9, 5), new Section(new BlasterModule(), ConnectionLayouts.FullyConnected, 5)); topology.SetSection(new Point(9, 6), new Section(new BombardModule(), ConnectionLayouts.FullyConnected, 4)); topology.SetSection(new Point(9, 7), new Section(new BombardModule(), ConnectionLayouts.FullyConnected, 5)); topology.SetSection(new Point(9, 8), new Section(new BombardModule(), ConnectionLayouts.FullyConnected, 0)); topology.SetSection(new Point(9, 9), new Section(new BlasterModule(), ConnectionLayouts.FullyConnected, 5)); topology.ApplyUpgrade(new BlastRocketry()); // topology.ApplyUpgrade(new BombardOverload()); topology.ApplyUpgrade(new ShieldAmplification()); topology.ApplyUpgrade(new ShieldFortification()); return(topology); }