Ejemplo n.º 1
0
 public void ApplyUpgrade(UpgradeBase upgrade)
 {
     this.Update(() =>
     {
         _topology.ApplyUpgrade(upgrade);
     });
 }
Ejemplo n.º 2
0
        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));
        }
Ejemplo n.º 3
0
        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);
        }