Exemple #1
0
        public Help(Simulator simulator, List<string> texts)
        {
            Simulator = simulator;
            Texts = texts;

            Lieutenant = new Image("lieutenant", new Vector3(-500, 370, 0));
            Lieutenant.Origin = new Vector2(0, Lieutenant.TextureSize.Y);
            Lieutenant.SizeX = 5;
            Lieutenant.VisualPriority = VisualPriorities.Default.Tutorial;

            Bubble = new Image("bulle", new Vector3(-250, 200, 0));
            Bubble.Origin = new Vector2(0, Bubble.TextureSize.Y);
            Bubble.SizeX = 8;
            //Bubble.Color.A = 150;
            Bubble.VisualPriority = VisualPriorities.Default.Tutorial;

            ActiveText = 0;
            ActiveOverride = Texts.Count > 0;
            HiddingOverride = false;
            EffectTimeRemaining = 1000;

            InitDirective(Texts.Count == 0 ? "" : Texts[ActiveText]);

            Simulator.Scene.VisualEffects.Add(Lieutenant, Core.Visual.VisualEffects.FadeInFrom0(255, 0, EffectTimeRemaining));
            Simulator.Scene.VisualEffects.Add(Bubble, Core.Visual.VisualEffects.FadeInFrom0(150, 0, EffectTimeRemaining));
            Simulator.Scene.VisualEffects.Add(Directive.Text, Core.Visual.VisualEffects.FadeInFrom0(255, 0, EffectTimeRemaining));
        }
        public PowerUpsFactory(Simulator simulator)
        {
            Simulator = simulator;

            Availables = new Dictionary<PowerUpType, PowerUp>(PowerUpTypeComparer.Default);
            All = new Dictionary<PowerUpType, PowerUp>(PowerUpTypeComparer.Default);
        }
        public PowerUpsController(Simulator simulator)
        {
            Simulator = simulator;

            ActivesPowerUps = new Dictionary<PowerUpType, bool>();
            PowerUps = new Dictionary<SimPlayer, List<PowerUp>>();
        }
Exemple #4
0
        public Spaceship(Simulator simulator, string imageName)
        {
            Simulator = simulator;
            Image = new Image(imageName, Position);
            Position = Vector3.Zero;
            SteeringBehavior = new SpaceshipNoneBehavior(this);
            
            Direction = new Vector3(1, 0, 0);

            Shape = Shape.Circle;
            Circle = new Circle();

            SizeX = 4;

            Weapon = new NoWeapon(Simulator, this);

            SfxOut = "";
            SfxIn = "";
            Active = true;

            ShowTrail = false;
            ShowShield = false;

            Alive = true;
        }
        public EnemiesFactory(Simulator simulator)
        {
            Simulator = simulator;

            EnemiesPools = new Dictionary<EnemyType, Pool<Enemy>>(EnemyTypeComparer.Default);
            All = new List<Enemy>();
        }
        public StartingPathMenu(Simulator simulator, double visualPriority)
        {
            Simulator = simulator;
            VisualPriority = visualPriority;

            
            //RemainingWavesChoice = new ColoredTextContextualMenuChoice("RemainingWaves", new ColoredText(new List<string>() { "", "", "" }, new Color[] { Color.White, Color.White, Color.White }, @"Pixelite", Vector3.Zero) { SizeX = 2 });
            RemainingEnemiesChoice = new ColoredTextContextualMenuChoice("RemainingEnemies", new ColoredText(new List<string>() { "", "" }, new Color[] { Color.White, Color.White }, @"Pixelite", Vector3.Zero) { SizeX = 2 });
            //NextWaveCompositionChoice = new NextWaveContextualMenuChoice("NextWaveComposition");
            //TimeNextWaveChoice = new ColoredTextContextualMenuChoice("TimeRemainingChoice", new ColoredText(new List<string>() { "", "", "" }, new Color[] { Color.White, Color.White, Color.White }, @"Pixelite", Vector3.Zero) { SizeX = 2 });
            CallTheNextWave = new TextContextualMenuChoice("CallTheNextWave", new Text("I'm ready! Bring it on!", @"Pixelite") { SizeX = 2 });

            var choices = new List<ContextualMenuChoice>();

            //choices.Add(RemainingWavesChoice);
            //choices.Add(TimeNextWaveChoice);
            //choices.Add(RemainingEnemiesChoice);
            //choices.Add(NextWaveCompositionChoice);
            choices.Add(CallTheNextWave);

            Menu = new ContextualMenu(Simulator, VisualPriority, Color.White, choices, 5) { SelectedIndex = 0 };

            remainingWaves = 0;
            timeNextWave = 0;
            activeWaves = 0;

            CheckedIn = null;
        }
        public MineralsFactory(Simulator simulator)
        {
            Simulator = simulator;

            Pool = new Pool<Mineral>();
            Minerals = new Dictionary<MineralType, MineralDefinition>(MineralTypeComparer.Default);
        }
        public CelestialBodiesPathPreviews(Simulator simulator)
        {
            Simulator = simulator;

            NormalLines = new List<Image>();

            for (int i = 0; i < MaxNormalLines; i++)
                NormalLines.Add(new Image("LigneTrajet")
                {
                    Blend = BlendType.Add,
                    SizeX = 1,
                    Alpha = 50,
                    VisualPriority = VisualPriorities.Default.CelestialBodiePath
                });

            HighlightLines = new List<Image>();

            for (int i = 0; i < MaxHighlightLines; i++)
                HighlightLines.Add(new Image("LigneTrajet")
                {
                    Blend = BlendType.Add,
                    SizeX = 1f,
                    Alpha = 150,
                    VisualPriority = VisualPriorities.Default.CelestialBodiePath - 0.000001
                });

            LineSizeX = NormalLines[0].AbsoluteSize.X;

            PathPositions = new List<KeyValuePair<Vector3, float>>();

            Highlights = new Dictionary<CelestialBody, double>();
        }
 public TurretsController(Simulator simulator)
 {
     Simulator = simulator;
     Turrets = new List<Turret>();
     AssociationsThisTick = new Dictionary<Turret, Enemy>();
     BoostedTurretsThisTick = new Dictionary<Turret, int>();
 }
        public ProtagonistsAnimation(Simulator simulator, Mothership mothership)
        {
            Simulator = simulator;
            Mothership = mothership;

            Protagonist = new SpaceshipCursor(simulator.Scene, new Vector3(-200, -600, 0), 5, VisualPriorities.Cutscenes.IntroProtagonist, new Color(95, 71, 255), "Cursor1", true);
            Wife = new SpaceshipCursor(Simulator.Scene, new Vector3(-200, -600, 0), 5, VisualPriorities.Cutscenes.IntroWife, new Color(255, 0, 136), "Cursor2", true);

            Protagonist.FadeIn();
            Wife.FadeIn();

            ProtagonistText = new ManualTextBubble(Simulator.Scene, new Text("I must warn the\n\nother colonies!", @"Pixelite") { SizeX = 2 }, Protagonist.Position, VisualPriorities.Cutscenes.IntroProtagonist - 0.00001) { Alpha = 0 };

            State = ProtagonistState.None;

            TimeBeforeArrival = IntroCutscene.Timing["ProtagonistIn"];
            TimeBeforeAbduction = TimeBeforeArrival + 20000;
            TimeBeforeGoGetHelp = TimeBeforeAbduction + 4000;
            TimeBeforeFireAgainAtMothership = TimeBeforeGoGetHelp + 2000;
            TimeBeforeGoInCenter = TimeBeforeFireAgainAtMothership + 18000;
            TimeBeforeWarnColonies = TimeBeforeGoInCenter + 20000;
            TimeBeforeTeleport = TimeBeforeWarnColonies + 10000;


            PathArrivalProtagonist = GetPathArrivalProtagonist();
            PathArrivalWife = GetPathArrivalWife();

            TimeOnPathProtaAndWife = 0;
        }
Exemple #11
0
        public Path(Simulator simulator, ColorInterpolator color, byte alpha, BlendType blend)
        {
            Scene = simulator.Scene;
            ColorInterpolator = color;
            
            InnerPath = new Path3D();
            Times = new List<double>(MaxCurvePoints);
            Points = new List<Vector3>(MaxCurvePoints);

            for(int i = 0; i < MaxCurvePoints; i++)
            {
                Times.Add(0);
                Points.Add(Vector3.Zero);
            }

            NbPoints = 0;
            Length = 0;
            LengthBefore = 0;

            Lines = new Image[MaxVisibleLines];

            for (int i = 0; i < MaxVisibleLines; i++)
            {
                Lines[i] = new Image("LigneTrajet", Vector3.Zero)
                {
                    Blend = blend,
                    SizeX = 1.5f,
                    Alpha = alpha
                };
            }

            Active = true;
            TakeIntoAccountFakeGravTurret = false;
            TakeIntoAccountFakeGravTurretLv2 = false;
        }
        public TheResistance(Simulator simulator)
        {
            Spaceships = new List<Spaceship>();

            Spaceships.Add(new Spaceship(simulator)
            {
                Image = new Image("Resistance1")
                {
                    SizeX = 4,
                    VisualPriority = VisualPriorities.Default.DefaultSpaceship
                }
            });

            Spaceships.Add(new Spaceship(simulator)
            {
                Image = new Image("Resistance2")
                {
                    SizeX = 4,
                    VisualPriority = VisualPriorities.Default.DefaultSpaceship
                }
            });

            Spaceships.Add(new Spaceship(simulator)
            {
                Image = new Image("Resistance3")
                {
                    SizeX = 4,
                    VisualPriority = VisualPriorities.Default.DefaultSpaceship
                }
            });
        }
        public PowerUpDarkSide(Simulator simulator)
            : base(simulator)
        {
            Type = PowerUpType.DarkSide;
            Category = PowerUpCategory.Other;
            BuyImage = "darkside";
            BuyPrice = 500;
            BuyTitle = "Dark side (" + BuyPrice + "M$)";
            BuyDescription = "Enemies are hit by a mysterious force when they go behind a planet.";
            NeedInput = false;
            Position = Vector3.Zero;

            CorpsCeleste = new CelestialBody(
                    Simulation,
                    "",
                    Vector3.Zero,
                    Vector3.Zero,
                    0,
                    Size.Small,
                    float.MaxValue,
                    null,
                    0,
                    0,
                    false);
            CorpsCeleste.AttackPoints = 0.5f;

            SfxIn = "sfxDarkSide";
        }
Exemple #14
0
        public Wave(Simulator simulator, WaveDescriptor descriptor)
        {
            Simulator = simulator;
            Descriptor = descriptor;

            NewEnemies = new List<Enemy>();
        }
Exemple #15
0
        public GUIPlayer(
            Simulator simulator,
            Dictionary<TurretType, bool> availableTurrets,
            Dictionary<string, LevelDescriptor> levelsDescriptors,
            Color color,
            string representation,
            InputType inputType)
        {
            Simulator = simulator;

            SelectedCelestialBodyAnimation = new SelectedCelestialBodyAnimation(Simulator);

            Cursor = new SpaceshipCursor(Simulator.Scene, Vector3.Zero, 2, VisualPriorities.Default.PlayerCursor, color, representation, true);
            Crosshair = new Cursor(Simulator.Scene, Vector3.Zero, 2, VisualPriorities.Default.PlayerCursor, "crosshairRailGun", false);
            TurretMenu = new TurretMenu(Simulator, VisualPriorities.Default.TurretMenu, color, inputType);
            CelestialBodyMenu = new CelestialBodyMenu(Simulator, VisualPriorities.Default.CelestialBodyMenu, color, inputType);

            FinalSolutionPreview = new FinalSolutionPreview(Simulator);

            CelestialBodyMenu.AvailableTurrets = availableTurrets;
            CelestialBodyMenu.Initialize();

            WorldMenu = new WorldMenu(Simulator, VisualPriorities.Default.CelestialBodyMenu, levelsDescriptors, color);
            NewGameMenu = new NewGameMenu(Simulator, VisualPriorities.Default.CelestialBodyMenu, color);

            PowerUpInputMode = false;
            PowerUpFinalSolution = false;
        }
        public SelectedCelestialBodyAnimation(Simulator simulator)
        {
            Simulator = simulator;

            Selection = Simulator.Scene.Particles.Get(@"selectionCorpsCeleste");
            Selection.VisualPriority = VisualPriorities.Default.CelestialBodySelection;
        }
        public SelectedCelestialBodyController(Simulator simulator, SimPlayer player, List<CelestialBody> celestialBodies)
        {
            Simulator = simulator;
            CelestialBodies = celestialBodies;
            Player = player;

            Initialize();
        }
        public AdvancedView(Simulator simulator)
        {
            Simulator = simulator;
            EnemiesLives = new EnemiesLives(Simulator);
            CelestialBodiesPaths = new CelestialBodiesPathPreviews(Simulator);

            visible = false;
        }
        public BulletsController(Simulator simulator)
        {
            Simulator = simulator;

            Bullets = new List<Bullet>();

            RotationMatrix = new Matrix();
        }
Exemple #20
0
        public WavesPanel(Simulator simulator, Vector3 position, Vector2 size, double visualPriority, Color color)
            : base(simulator.Scene, position, size, visualPriority, color)
        {
            Simulator = simulator;

            SetTitle("Waves");
            Slider.SetLabel("Wave");
        }
        public GUIPausePlayer(Simulator simulator, SimPlayer innerPlayer)
        {
            Simulator = simulator;

            InnerPlayer = innerPlayer;

            Cursor = new SpaceshipCursor(Simulator.Scene, Vector3.Zero, 2, VisualPriorities.Default.PlayerPanelCursor, InnerPlayer.Color, InnerPlayer.ImageName, false);
        }
Exemple #22
0
        public MoonMatrix(Simulator simulator, CelestialBody celestialBody, int alpha, string imageName, int size)
            : base(simulator, celestialBody, alpha, imageName, size)
        {
            relativePosition = new Vector3(celestialBody.Circle.Radius + Main.Random.Next(10, 30), 0, 0);

            Matrix.CreateRotationZ((float) (MathHelper.TwoPi / ActualRotationTime), out RotationMatrix);
            Vector3.Transform(ref relativePosition, ref RotationMatrix, out Position);
            Vector3.Add(ref Position, ref CelestialBody.position, out Position);
        }
        public GameBarPanel(Simulator simulator, double visualPriority)
            : base(simulator.Scene, new Vector3(0, (-simulator.Scene.Height / 2) + 34, 0), new Vector2(simulator.Scene.Width, 45), visualPriority, Color.White)
        {
            Simulator = simulator;

            ShowCloseButton = false;
            ShowFrame = false;
            BackgroundAlpha = 100;

            if (Preferences.Target == Core.Utilities.Setting.Xbox360)
            {
                Position += new Vector3(0, Preferences.DeadZoneV2.Y, 0);
                Padding = new Vector2(10 + Preferences.DeadZoneV2.X, 0);
            }

            CashWidget = new ImageLabel(new Image("ScoreMoney") { SizeX = 4 }, new Text(@"Pixelite") { SizeX = 3 })
            {
                Position = Position + new Vector3(50, 0, 0),
                CanHover = true
            };

            LivesWidget = new ImageLabel(new Image("ScoreLives") { SizeX = 4 }, new Text(@"Pixelite") { SizeX = 3 })
            {
                Position = Position + new Vector3(250, 0, 0),
                CanHover = true
            };

            TimeNextWaveText = new ImageLabel(new Image("ScoreTime") { SizeX = 4 }, new Text(@"Pixelite") { SizeX = 3 })
            {
                Position = Position + new Vector3(850, 0, 0),
                CanHover = true
            };

            RemainingWavesWidget = new ImageLabel(new Image("ScoreWaves") { SizeX = 4 }, new Text(@"Pixelite") { SizeX = 3 })
            {
                Position = Position + new Vector3(700, 0, 0),
                CanHover = true
            };

            NextWaveWidget = new NextWaveWidget()
            {
                Position = Position + new Vector3(1050, 0, 0)
            };

            HBMessages = new Dictionary<string, List<KeyValuePair<string, PanelWidget>>>()
            {
                { @"None", new List<KeyValuePair<string, PanelWidget>>() { new KeyValuePair<string, PanelWidget>(@"msg", new Label(new Text("") { SizeX = 2 })) } },
                { @"Cash", new List<KeyValuePair<string, PanelWidget>>() { new KeyValuePair<string, PanelWidget>(@"msg", new Label(new Text(@"Remaining money", @"Pixelite") { SizeX = 2 })) } },
                { @"Lives", new List<KeyValuePair<string, PanelWidget>>() { new KeyValuePair<string, PanelWidget>(@"msg", new Label(new Text(@"Remaining lives", @"Pixelite") { SizeX = 2 })) } },
                { @"Remaining", new List<KeyValuePair<string, PanelWidget>>() { new KeyValuePair<string, PanelWidget>(@"msg", new Label(new Text(@"Remaining waves", @"Pixelite") { SizeX = 2 })) } },
                { @"Time", new List<KeyValuePair<string, PanelWidget>>() { new KeyValuePair<string, PanelWidget>(@"msg", new Label(new Text(@"Remaining time before next wave", @"Pixelite") { SizeX = 2 })) } },
                { @"NextWave", new List<KeyValuePair<string, PanelWidget>>() { new KeyValuePair<string, PanelWidget>(@"msg", new Label(new Text(@"Composition of the next wave", @"Pixelite") { SizeX = 2 })) } }
            };

            TimeNextWaveBuilder = new StringBuilder();
        }
        public BackgroundsPanel(Simulator simulator, Vector3 position, Vector2 size, double visualPriority, Color color)
            : base(simulator.Scene, position, size, visualPriority, color)
        {
            Simulator = simulator;

            SetTitle("Backgrounds");
            Slider.SetLabel("Set");

            Initialize();
        }
        public FinalSolutionPreview(Simulator simulator)
        {
            Simulator = simulator;

            BlowUpZoneVisual = new Image("CercleBlanc")
            {
                Color = new Color(255, 0, 0, 100),
                VisualPriority = Preferences.PrioriteGUIEtoiles - 0.002f
            };
        }
        public SpaceshipWeapon(Simulator simulator, Spaceship spaceship, double frequency, float attackPoints)
        {
            Simulator = simulator;
            Spaceship = spaceship;

            ShootingFrequency = frequency;
            AttackPoints = attackPoints;

            Bullets = new List<Bullet>();
        }
        public SimPlayersController(Simulator simulator)
        {
            Simulator = simulator;

            AvailableTurrets = new Dictionary<TurretType, bool>(TurretTypeComparer.Default);
            AvailablePowerUps = new Dictionary<PowerUpType, bool>(PowerUpTypeComparer.Default);

            Players = new Dictionary<Player, SimPlayer>();
            PlayersList = new List<SimPlayer>();
        }
Exemple #28
0
        public PlayerCash(Simulator simulator, CommonStash stash)
        {
            Simulator = simulator;
            Stash = stash;

            Cash = new Text(Stash.Cash.ToString(), @"Pixelite")
            {
                SizeX = 2,
                VisualPriority = VisualPriorities.Default.PlayerCash
            };
        }
        public PlayerLivesMoons(Simulator simulator)
        {
            Simulator = simulator;

            Moons = new List<Moon>();

            if (CelestialBody == null)
                return;

            CelestialBody.Moons.Clear();
        }
        public NextWavePreview(Simulator simulator, double visualPriority)
        {
            Simulator = simulator;

            Progress = new Text(@"Pixelite")
            {
                SizeX = 2,
                Color = Colors.Default.AlienBright,
                VisualPriority = visualPriority
            };
        }