Exemplo n.º 1
0
 public void update(GameTime gametime, Casper casper)
 {
     foreach (AI_moderate AI in AI_w2l3)
     {
         AI.update(gametime,casper);
     }
 }
Exemplo n.º 2
0
        public void update(GameTime gametime, Casper casper)
        {
            if (aggro.Intersects(casper.Hitbox))
            {
                if (!casperIsIntersecting)
                {
                    SoundManager.alert.Play();
                    casperIsIntersecting = true;
                }
                if (!hitbox.Intersects(casper.Hitbox))
                {
                    Direction = new Vector2(casper.Position.X - hitbox.X, casper.Position.Y - hitbox.Y);
                    Direction.Normalize();
                    Position.X = hitbox.X;
                    Position.Y = hitbox.Y;
                    Position += Direction * Velocity;
                    hitbox.X = (int)Position.X;
                    hitbox.Y = (int)Position.Y;

                }
            }
            aggro.X = hitbox.X - Res.gI().ScaleX(400);
            aggro.Y = hitbox.Y - Res.gI().ScaleY(400);
            if (!aggro.Intersects(casper.Hitbox))
            {
                casperIsIntersecting = false;
            }
        }
Exemplo n.º 3
0
        public ScreenManager(GameType gametype, Game1 game)
        {
            menubase = new Menu_Base(Content_Manager.getInstance().Textures["menubase"]);
            menuoptions = new Menu_Options(Content_Manager.getInstance().Textures["menuoptions"]);
            menuplay = new Menu_Play(Content_Manager.getInstance().Textures["menuplay"]);
            menuSolo = new Menu_Play_Solo(Content_Manager.getInstance().Textures["menusolo"]);
            menusolo1 = new Menu_Play_Solo_World1(Content_Manager.getInstance().Textures["solo1"]);
            menusolo2 = new Menu_Play_Solo_World2(Content_Manager.getInstance().Textures["solo2"]);
            menuMulti = new Menu_Play_Multi(Content_Manager.getInstance().Textures["menumulti"]);
            menupauseoption = new Menu_Pause_Options(Content_Manager.getInstance().Textures["menupauseoption"]);
            casper = new Casper(Content_Manager.getInstance().Textures["Casper"], new Rectangle(0, 0, 16, 34));
            player2 = new Casper(Content_Manager.getInstance().Textures["Casper"], new Rectangle(50, 50, 16, 34));
            casper2 = new Casper(Content_Manager.getInstance().Textures["Player1"], new Rectangle(50, 50, 0, 0));
            controls = new Controls(casper.Position, casper.Velocity, casper.Speed, Keys.W, Keys.A, Keys.D, Keys.S);
            controlsPlayer2 = new Controls(player2.Position, player2.Velocity, player2.Speed, Keys.Up, Keys.Left, Keys.Right, Keys.Down);
            controlsWorld2 = new Controls(casper2.Position, casper2.Velocity, casper2.Speed, Keys.Up, Keys.Left, Keys.Right, Keys.Down);
            world2vert1 = new Decors(Content_Manager.getInstance().Textures["vert"], new Rectangle(-1680, 0, 1680, 1050));
            world2vert2 = new Decors(Content_Manager.getInstance().Textures["vert"], new Rectangle(1680, 0, 1680, 1050));

            camera = new Camera(Game1.GetGame().GraphicsDevice.Viewport);
            game.casperr = casper;
            decors = new Decors(Content_Manager.getInstance().Textures["Level1"], new Rectangle(0, 0, 1680, 1050));
            decors1 = new Decors(Content_Manager.getInstance().Textures["Level1"], new Rectangle(1680, 0, 1680, 1050));
            decors2 = new Decors(Content_Manager.getInstance().Textures["Level1"], new Rectangle(-1680, 0, 1680, 1050));
            world2 = new Decors(Content_Manager.getInstance().Textures["world2"], new Rectangle(0, 0, 1680, 1050));
            menupause = new Menu_Pause(Content_Manager.getInstance().Textures["menupause"]);
            level1 = new Level1(new Vector2(0, 0));
            obstacles = new Obstacles(level1.getList());
            previousgametype = GameType.Exit;

            this.gametype = gametype;
        }
Exemplo n.º 4
0
        public ScreenManager(GameType gametype, Game1 game)
        {
            menubase        = new Menu_Base(Content_Manager.getInstance().Textures["menubase"]);
            menuoptions     = new Menu_Options(Content_Manager.getInstance().Textures["menuoptions"]);
            menuplay        = new Menu_Play(Content_Manager.getInstance().Textures["menuplay"]);
            menuSolo        = new Menu_Play_Solo(Content_Manager.getInstance().Textures["menusolo"]);
            menusolo1       = new Menu_Play_Solo_World1(Content_Manager.getInstance().Textures["solo1"]);
            menusolo2       = new Menu_Play_Solo_World2(Content_Manager.getInstance().Textures["solo2"]);
            menuMulti       = new Menu_Play_Multi(Content_Manager.getInstance().Textures["menumulti"]);
            menupauseoption = new Menu_Pause_Options(Content_Manager.getInstance().Textures["menupauseoption"]);
            casper          = new Casper(Content_Manager.getInstance().Textures["Casper"], new Rectangle(0, 0, 16, 34));
            player2         = new Casper(Content_Manager.getInstance().Textures["Casper"], new Rectangle(50, 50, 16, 34));
            casper2         = new Casper(Content_Manager.getInstance().Textures["Player1"], new Rectangle(50, 50, 0, 0));
            controls        = new Controls(casper.Position, casper.Velocity, casper.Speed, Keys.W, Keys.A, Keys.D, Keys.S);
            controlsPlayer2 = new Controls(player2.Position, player2.Velocity, player2.Speed, Keys.Up, Keys.Left, Keys.Right, Keys.Down);
            controlsWorld2  = new Controls(casper2.Position, casper2.Velocity, casper2.Speed, Keys.Up, Keys.Left, Keys.Right, Keys.Down);
            world2vert1     = new Decors(Content_Manager.getInstance().Textures["vert"], new Rectangle(-1680, 0, 1680, 1050));
            world2vert2     = new Decors(Content_Manager.getInstance().Textures["vert"], new Rectangle(1680, 0, 1680, 1050));


            camera           = new Camera(Game1.GetGame().GraphicsDevice.Viewport);
            game.casperr     = casper;
            decors           = new Decors(Content_Manager.getInstance().Textures["Level1"], new Rectangle(0, 0, 1680, 1050));
            decors1          = new Decors(Content_Manager.getInstance().Textures["Level1"], new Rectangle(1680, 0, 1680, 1050));
            decors2          = new Decors(Content_Manager.getInstance().Textures["Level1"], new Rectangle(-1680, 0, 1680, 1050));
            world2           = new Decors(Content_Manager.getInstance().Textures["world2"], new Rectangle(0, 0, 1680, 1050));
            menupause        = new Menu_Pause(Content_Manager.getInstance().Textures["menupause"]);
            level1           = new Level1(new Vector2(0, 0));
            obstacles        = new Obstacles(level1.getList());
            previousgametype = GameType.Exit;

            this.gametype = gametype;
        }
Exemplo n.º 5
0
        public void update(Casper casper, List<Rectangle> spikes)
        {
            foreach (Rectangle rect in spikes)
            {
                if (casper.Hitbox.Intersects(rect))
                {
                    //Game1.GetGame().Exit();
                    respawn = true;
                    healthpoint += -1;
                    SoundManager.hp.Play();

                }
            }
        }
Exemplo n.º 6
0
        public void update(GameTime gametime, GameType gametype, Casper casper)
        {
            keyboardState = Keyboard.GetState();
            int delta = gametime.ElapsedGameTime.Milliseconds;
            if (keyboardState.IsKeyDown(Keys.S) && previousKeyboardState.IsKeyUp(Keys.S) || keyboardState.IsKeyDown(Keys.Down) && previousKeyboardState.IsKeyUp(Keys.Down))
                hasJumped = true;

            if (gametype == GameType.Menu_Play_Solo_world1_lvl1 || gametype == GameType.Menu_Play_Solo_world1_lvl2 || gametype == GameType.Menu_Play_Solo_world1_lvl3 || gametype == GameType.Menu_Play_Multi_Type)
            {
                if ((keyboardState.IsKeyUp(Left) && keyboardState.IsKeyUp(Right)) || (keyboardState.IsKeyDown(Left) && keyboardState.IsKeyDown(Right)))
                {
                    if (Velocity.X > 0)
                    {
                        Velocity.X += -Acceleration.X * 3;
                        if (Velocity.X < 0)
                            Velocity.X = 0f;
                    }
                    else
                    {
                        Velocity.X += Acceleration.X * 3;
                        if (Velocity.X > 0)
                            Velocity.X = 0f;
                    }
                }
                else if (keyboardState.IsKeyDown(Left))
                {
                    if (Velocity.X > 0)
                        Velocity.X += -Acceleration.X * 3;
                    else if (Velocity.X > -maxspeed)
                        Velocity.X += -Acceleration.X;
                }
                else if (keyboardState.IsKeyDown(Right))
                {
                    if (Velocity.X < 0)
                        Velocity.X += Acceleration.X * 3;
                    else if (Velocity.X < maxspeed)
                        Velocity.X += Acceleration.X;
                }
                if (keyboardState.IsKeyDown(Up) && hasJumped == false)
                {
                    SoundManager.jump.Play();
                    Velocity.Y += -600;
                    hasJumped = true;
                }

                if (hasJumped == true)
                {
                    Velocity.Y += Acceleration.Y;
                }

                if (Position.Y > 1015)
                {
                    Position.Y = 1015f;
                    Velocity.Y = 0f;
                    hasJumped = false;
                }

                previousKeyboardState = keyboardState;
                Velocity = Collision(casper.Hitbox, level1.getList());
                Position += Velocity * speed;
                previousPosition = Position;

            }
            else if (gametype == GameType.Menu_Play_Solo_world2_lvl1)
            {
                if ((keyboardState.IsKeyUp(Left) && keyboardState.IsKeyUp(Right)) || (keyboardState.IsKeyDown(Left) && keyboardState.IsKeyDown(Right)))
                {
                    if (Velocity.X > 0)
                    {
                        Velocity.X += -Acceleration.X * 3;
                        if (Velocity.X < 0)
                            Velocity.X = 0f;
                    }
                    else
                    {
                        Velocity.X += Acceleration.X * 3;
                        if (Velocity.X > 0)
                            Velocity.X = 0f;
                    }
                }
                else if (keyboardState.IsKeyDown(Left))
                {
                    if (Velocity.X > 0)
                        Velocity.X += -Acceleration.X * 3;
                    else if (Velocity.X > -maxspeed)
                        Velocity.X += -Acceleration.X;
                }
                else if (keyboardState.IsKeyDown(Right))
                {
                    if (Velocity.X < 0)
                        Velocity.X += Acceleration.X * 3;
                    else if (Velocity.X < maxspeed)
                        Velocity.X += Acceleration.X;
                }

                if ((keyboardState.IsKeyUp(Up) && keyboardState.IsKeyUp(Down)) || (keyboardState.IsKeyDown(Up) && keyboardState.IsKeyDown(Down)))
                {
                    if (Velocity.Y > 0)
                    {
                        Velocity.Y += -Acceleration.Y * 3;
                        if (Velocity.Y < 0)
                            Velocity.Y = 0f;
                    }
                    else
                    {
                        Velocity.Y += Acceleration.Y * 3;
                        if (Velocity.Y > 0)
                            Velocity.Y = 0f;
                    }
                }
                else if (keyboardState.IsKeyDown(Up))
                {
                    if (Velocity.Y > 0)
                        Velocity.Y += -Acceleration.Y * 3;
                    else if (Velocity.Y > -maxspeed)
                        Velocity.Y += -Acceleration.Y;
                }
                else if (keyboardState.IsKeyDown(Down))
                {
                    if (Velocity.Y < 0)
                        Velocity.Y += Acceleration.Y * 3;
                    else if (Velocity.Y < maxspeed)
                        Velocity.Y += Acceleration.Y;
                }

                previousKeyboardState = keyboardState;

                Position += Velocity * speed;
            }
        }
Exemplo n.º 7
0
        public void update(GameTime gametime, GameType gametype, Casper casper)
        {
            keyboardState = Keyboard.GetState();
            int delta = gametime.ElapsedGameTime.Milliseconds;

            if (keyboardState.IsKeyDown(Keys.S) && previousKeyboardState.IsKeyUp(Keys.S) || keyboardState.IsKeyDown(Keys.Down) && previousKeyboardState.IsKeyUp(Keys.Down))
            {
                hasJumped = true;
            }

            if (gametype == GameType.Menu_Play_Solo_world1_lvl1 || gametype == GameType.Menu_Play_Solo_world1_lvl2 || gametype == GameType.Menu_Play_Solo_world1_lvl3 || gametype == GameType.Menu_Play_Multi_Type)
            {
                if ((keyboardState.IsKeyUp(Left) && keyboardState.IsKeyUp(Right)) || (keyboardState.IsKeyDown(Left) && keyboardState.IsKeyDown(Right)))
                {
                    if (Velocity.X > 0)
                    {
                        Velocity.X += -Acceleration.X * 3;
                        if (Velocity.X < 0)
                        {
                            Velocity.X = 0f;
                        }
                    }
                    else
                    {
                        Velocity.X += Acceleration.X * 3;
                        if (Velocity.X > 0)
                        {
                            Velocity.X = 0f;
                        }
                    }
                }
                else if (keyboardState.IsKeyDown(Left))
                {
                    if (Velocity.X > 0)
                    {
                        Velocity.X += -Acceleration.X * 3;
                    }
                    else if (Velocity.X > -maxspeed)
                    {
                        Velocity.X += -Acceleration.X;
                    }
                }
                else if (keyboardState.IsKeyDown(Right))
                {
                    if (Velocity.X < 0)
                    {
                        Velocity.X += Acceleration.X * 3;
                    }
                    else if (Velocity.X < maxspeed)
                    {
                        Velocity.X += Acceleration.X;
                    }
                }
                if (keyboardState.IsKeyDown(Up) && hasJumped == false)
                {
                    SoundManager.jump.Play();
                    Velocity.Y += -600;
                    hasJumped   = true;
                }

                if (hasJumped == true)
                {
                    Velocity.Y += Acceleration.Y;
                }


                if (Position.Y > 1015)
                {
                    Position.Y = 1015f;
                    Velocity.Y = 0f;
                    hasJumped  = false;
                }

                previousKeyboardState = keyboardState;
                Velocity         = Collision(casper.Hitbox, level1.getList());
                Position        += Velocity * speed;
                previousPosition = Position;
            }
            else if (gametype == GameType.Menu_Play_Solo_world2_lvl1)
            {
                if ((keyboardState.IsKeyUp(Left) && keyboardState.IsKeyUp(Right)) || (keyboardState.IsKeyDown(Left) && keyboardState.IsKeyDown(Right)))
                {
                    if (Velocity.X > 0)
                    {
                        Velocity.X += -Acceleration.X * 3;
                        if (Velocity.X < 0)
                        {
                            Velocity.X = 0f;
                        }
                    }
                    else
                    {
                        Velocity.X += Acceleration.X * 3;
                        if (Velocity.X > 0)
                        {
                            Velocity.X = 0f;
                        }
                    }
                }
                else if (keyboardState.IsKeyDown(Left))
                {
                    if (Velocity.X > 0)
                    {
                        Velocity.X += -Acceleration.X * 3;
                    }
                    else if (Velocity.X > -maxspeed)
                    {
                        Velocity.X += -Acceleration.X;
                    }
                }
                else if (keyboardState.IsKeyDown(Right))
                {
                    if (Velocity.X < 0)
                    {
                        Velocity.X += Acceleration.X * 3;
                    }
                    else if (Velocity.X < maxspeed)
                    {
                        Velocity.X += Acceleration.X;
                    }
                }

                if ((keyboardState.IsKeyUp(Up) && keyboardState.IsKeyUp(Down)) || (keyboardState.IsKeyDown(Up) && keyboardState.IsKeyDown(Down)))
                {
                    if (Velocity.Y > 0)
                    {
                        Velocity.Y += -Acceleration.Y * 3;
                        if (Velocity.Y < 0)
                        {
                            Velocity.Y = 0f;
                        }
                    }
                    else
                    {
                        Velocity.Y += Acceleration.Y * 3;
                        if (Velocity.Y > 0)
                        {
                            Velocity.Y = 0f;
                        }
                    }
                }
                else if (keyboardState.IsKeyDown(Up))
                {
                    if (Velocity.Y > 0)
                    {
                        Velocity.Y += -Acceleration.Y * 3;
                    }
                    else if (Velocity.Y > -maxspeed)
                    {
                        Velocity.Y += -Acceleration.Y;
                    }
                }
                else if (keyboardState.IsKeyDown(Down))
                {
                    if (Velocity.Y < 0)
                    {
                        Velocity.Y += Acceleration.Y * 3;
                    }
                    else if (Velocity.Y < maxspeed)
                    {
                        Velocity.Y += Acceleration.Y;
                    }
                }

                previousKeyboardState = keyboardState;

                Position += Velocity * speed;
            }
        }
Exemplo n.º 8
0
        public void update(GameTime gametime, GameType gametype, Casper casper, List<Rectangle> level)
        {
            keyboardState = Keyboard.GetState();
            int delta = gametime.ElapsedGameTime.Milliseconds;
            previousPosition = Position;

            if (gametype == GameType.Menu_Play_Solo_world1_lvl1 || gametype == GameType.Menu_Play_Solo_world1_lvl2 || gametype == GameType.Menu_Play_Solo_world1_lvl3 || gametype == GameType.Menu_Play_Multi_Type)
            {
                if ((keyboardState.IsKeyUp(Left) && keyboardState.IsKeyUp(Right)) || (keyboardState.IsKeyDown(Left) && keyboardState.IsKeyDown(Right)))
                {
                    if (Velocity.X > 0)
                    {
                        Velocity.X += -Acceleration.X * 3;
                        if (Velocity.X < 0)
                            Velocity.X = 0f;
                    }
                    else
                    {
                        Velocity.X += Acceleration.X * 3;
                        if (Velocity.X > 0)
                            Velocity.X = 0f;
                    }
                }
                else if (keyboardState.IsKeyDown(Left))
                {
                    if (Velocity.X > 0)
                        Velocity.X += -Acceleration.X * 3;
                    else if (Velocity.X > -maxspeed)
                        Velocity.X += -Acceleration.X;
                }
                else if (keyboardState.IsKeyDown(Right))
                {
                    if (Velocity.X < 0)
                        Velocity.X += Acceleration.X * 3;
                    else if (Velocity.X < maxspeed)
                        Velocity.X += Acceleration.X;
                }

                previousKeyboardState = keyboardState;
                hasJumped = true;
                Velocity = Collision(casper.Hitbox, level);
                if (keyboardState.IsKeyDown(Up) && hasJumped == false)
                {
                    SoundManager.jump.Play();
                    Velocity.Y -= Res.gI().ScaleX(600);
                    hasJumped = true;
                }
                if (keyboardState.IsKeyDown(Down) && hasJumped == true)
                {
                    Velocity.Y += Acceleration.Y;
                }
                if (hasJumped == true)
                {
                    Velocity.Y += Acceleration.Y;
                }

                Position += Velocity * speed;
                //previousPosition = Position;

            }
            else if (gametype == GameType.Menu_Play_Solo_world2_lvl1 || gametype == GameType.Menu_Play_Solo_world2_lvl2 || gametype == GameType.Menu_Play_Solo_world2_lvl3)
            {
                if ((keyboardState.IsKeyUp(Left) && keyboardState.IsKeyUp(Right)) || (keyboardState.IsKeyDown(Left) && keyboardState.IsKeyDown(Right)))
                {
                    if (Velocity.X > 0)
                    {
                        Velocity.X += -Acceleration.X * 3;
                        if (Velocity.X < 0)
                            Velocity.X = 0f;
                    }
                    else
                    {
                        Velocity.X += Acceleration.X * 3;
                        if (Velocity.X > 0)
                            Velocity.X = 0f;
                    }
                }
                else if (keyboardState.IsKeyDown(Left))
                {
                    if (Velocity.X > 0)
                        Velocity.X += -Acceleration.X * 3;
                    else if (Velocity.X > -maxspeed)
                        Velocity.X += -Acceleration.X;
                }
                else if (keyboardState.IsKeyDown(Right))
                {
                    if (Velocity.X < 0)
                        Velocity.X += Acceleration.X * 3;
                    else if (Velocity.X < maxspeed)
                        Velocity.X += Acceleration.X;
                }

                if ((keyboardState.IsKeyUp(Up) && keyboardState.IsKeyUp(Down)) || (keyboardState.IsKeyDown(Up) && keyboardState.IsKeyDown(Down)))
                {
                    if (Velocity.Y > 0)
                    {
                        Velocity.Y += -Acceleration.Y * 3;
                        if (Velocity.Y < 0)
                            Velocity.Y = 0f;
                    }
                    else
                    {
                        Velocity.Y += Acceleration.Y * 3;
                        if (Velocity.Y > 0)
                            Velocity.Y = 0f;
                    }
                }
                else if (keyboardState.IsKeyDown(Up))
                {
                    if (Velocity.Y > 0)
                        Velocity.Y += -Acceleration.Y * 3;
                    else if (Velocity.Y > -maxspeed)
                        Velocity.Y += -Acceleration.Y;
                }
                else if (keyboardState.IsKeyDown(Down))
                {
                    if (Velocity.Y < 0)
                        Velocity.Y += Acceleration.Y * 3;
                    else if (Velocity.Y < maxspeed)
                        Velocity.Y += Acceleration.Y;
                }

                previousKeyboardState = keyboardState;
                Collision2(casper.Hitbox, level);
                Position += Velocity * speed;
            }
        }
Exemplo n.º 9
0
        public void update(GameTime gametime)
        {
            camera.update(gametime, new Vector2(Res.gI().ScaleX(840), 0));
            keyboardstate = Keyboard.GetState();

            switch (gametype)
            {
                case GameType.Menu_Base_Type:
                    menubase.update(gametime, ref gametype, ref previousgametype);
                    previousgametype = GameType.Exit;

                    casper = new Casper(Content_Manager.getInstance().Textures["Casper"], new Rectangle(0, 0, Res.gI().ScaleX(16), Res.gI().ScaleY(34)));
                    controls = new Controls(casper.Position, casper.Velocity, casper.Speed, Keys.W, Keys.A, Keys.D, Keys.S);
                    respawn = true;
                    player2 = new Casper(Content_Manager.getInstance().Textures["Casper"], new Rectangle(Res.gI().ScaleX(50), Res.gI().ScaleY(50), Res.gI().ScaleX(16), Res.gI().ScaleY(34)));
                    casper2 = new Casper(Content_Manager.getInstance().Textures["Player1"], new Rectangle(Res.gI().ScaleX(9000), Res.gI().ScaleY(9000), Res.gI().ScaleX(31), Res.gI().ScaleY(50)));
                    controlsPlayer2 = new Controls(player2.Position, player2.Velocity, player2.Speed, Keys.Up, Keys.Left, Keys.Right, Keys.Down);
                    controlsWorld2 = new Controls(casper2.Position, casper2.Velocity, casper2.Speed, Keys.W, Keys.A, Keys.D, Keys.S);

                    shots = new Shots();
                    shots2 = new Shots();
                    shots3 = new Shots();

                    AI_w1l1 = new AI_W1L1();
                    AI_w1l2 = new AI_W1L2();
                    AI_w2l1 = new AI_W2L1();
                    AI_w2l2 = new AI_W2L2();
                    AI_w2l2_2 = new AI_W2L2_2();
                    AI_w2l3 = new AI_W2L3();

                    casper.healthpoint.healthpoint = 15;
                    casper2.healthpoint.healthpoint = 13;
                    //player2.healthpoint.healthpoint = 13;
                    break;
                case GameType.Menu_Play_Type:
                    menuplay.update(gametime, ref gametype, ref previousgametype);
                    previousgametype = GameType.Menu_Base_Type;
                    break;
                case GameType.Menu_Play_Solo_Type:
                    menuSolo.update(gametime, ref gametype, ref previousgametype);
                    previousgametype = GameType.Menu_Play_Type;
                    break;
                case GameType.Menu_Play_Solo_World1_Type:
                    menusolo1.update(gametime, ref gametype, ref previousgametype);
                    previousgametype = GameType.Menu_Play_Solo_Type;
                    break;
                case GameType.Menu_Play_Solo_World2_Type:
                    menusolo2.update(gametime, ref gametype, ref previousgametype);
                    previousgametype = GameType.Menu_Play_Solo_Type;
                    break;
                case GameType.Menu_Play_Multi_Type:
                    // menuMulti.update(gametime, ref gametype, ref previousgametype);
                    previousgametype = GameType.Menu_Play_Solo_World1_Type;
                    if (previousgametype == GameType.Menu_Play_Solo_World1_Type && respawn == true)
                    {
                        controls.Position = new Vector2(Res.gI().ScaleX(200), Res.gI().ScaleY(924));
                        respawn = false;
                    }
                    if (casper.Position.X > Res.gI().ScaleX(840))
                        camera.update(gametime, casper.Position);
                    if (casper.Position.X > Res.gI().ScaleX(4200))
                        camera.update(gametime, new Vector2(Res.gI().ScaleX(4200), 0));
                    casper.update(gametime, controls, gametype, w1l1.getList(), spikes.getList());
                    player2.update(gametime, controlsPlayer2, gametype, w1l1.getList(), spikes.getList());

                    Game1.GetGame().IsMouseVisible = false;
                    if (keyboardstate.IsKeyDown(Keys.Escape) && previouskeyboardstate.IsKeyUp(Keys.Escape))
                    {
                        previousgametype = GameType.Menu_Play_Multi_Type;
                        casper.update(gametime, controls, gametype, w1l1.getList(), spikes.getList());
                        player2.update(gametime, controlsPlayer2, gametype, w1l1.getList(), spikes.getList());

                        Game1.GetGame().IsMouseVisible = true;
                        MediaPlayer.Stop();
                        MediaPlayer.Play(SoundManager.pause);
                        gametype = GameType.Menu_Pause;

                    }
                    previouskeyboardstate = keyboardstate;
                    break;
                case GameType.Menu_Option_Type:
                    menuoptions.update(gametime, ref gametype, ref previousgametype);
                    previousgametype = GameType.Menu_Base_Type;
                    break;
                case GameType.Menu_Play_Solo_world1_lvl1:
                    previousgametype = GameType.Menu_Play_Solo_World1_Type;
                    if (respawn == true || casper.healthpoint.respawn == true)
                    {
                        controls.Position = new Vector2(Res.gI().ScaleX(200), Res.gI().ScaleY(924));
                        respawn = false;
                        casper.healthpoint.respawn = false;
                    }
                    if (casper.Position.X > Res.gI().ScaleX(840))
                        camera.update(gametime, casper.Position);
                    if (casper.Position.X > Res.gI().ScaleX(4200))
                        camera.update(gametime, new Vector2(Res.gI().ScaleX(4200), 0));

                    Game1.GetGame().casperr = casper;
                    AI_w1l1.update(gametime);
                    casper.update(gametime, controls, gametype, w1l1.getList(), spikes.getList().Concat<Rectangle>(AI_w1l1.getListRectangle()));
                    Game1.GetGame().IsMouseVisible = false;
                    if (keyboardstate.IsKeyDown(Keys.Escape) && previouskeyboardstate.IsKeyUp(Keys.Escape))
                    {
                        Game1.GetGame().IsMouseVisible = true;
                        MediaPlayer.Stop();
                        MediaPlayer.Play(SoundManager.pause);
                        gametype = GameType.Menu_Pause;
                        previousgametype = GameType.Menu_Play_Solo_world1_lvl1;
                    }
                    previouskeyboardstate = keyboardstate;
                    break;
                case GameType.Menu_Play_Solo_world1_lvl2:
                    previousgametype = GameType.Menu_Play_Solo_World1_Type;
                    if (respawn == true || casper.healthpoint.respawn == true)
                    {
                        controls.Position = new Vector2(Res.gI().ScaleX(200), Res.gI().ScaleY(244));
                        respawn = false;
                        casper.healthpoint.respawn = false;
                    }
                    if (casper.Position.X > Res.gI().ScaleX(840))
                        camera.update(gametime, casper.Position);
                    if (casper.Position.X > Res.gI().ScaleX(4200))
                        camera.update(gametime, new Vector2(Res.gI().ScaleX(4200), 0));

                    Game1.GetGame().casperr = casper;
                    AI_w1l2.update(gametime);
                    tp1.EmitterLocation = new Vector2(Res.gI().ScaleX(1280), Res.gI().ScaleY(450));
                    tp1.Update();
                    tp2.EmitterLocation = new Vector2(Res.gI().ScaleX(3490), Res.gI().ScaleY(530));
                    tp2.Update();
                    tp3.EmitterLocation = new Vector2(Res.gI().ScaleX(3490), Res.gI().ScaleY(630));
                    tp3.Update();
                    tp4.EmitterLocation = new Vector2(Res.gI().ScaleX(3490), Res.gI().ScaleY(730));
                    tp4.Update();
                    casper.update(gametime, controls, gametype, w1l2.getList(), sw1l2.getList().Concat<Rectangle>(AI_w1l2.getListRectangle()));
                    Game1.GetGame().IsMouseVisible = false;
                    if (casper.Hitbox.Intersects(teleport1))
                        controls.Position = new Vector2(Res.gI().ScaleX(500), Res.gI().ScaleY(726));
                    if (casper.Hitbox.Intersects(teleport2))
                        controls.Position = new Vector2(Res.gI().ScaleX(3025), Res.gI().ScaleY(366));
                    if (casper.Hitbox.X > 1320 && isThere == false)
                    {
                        BigMonster = new AI_basic(Content_Manager.getInstance().Textures["Wall"], Content_Manager.getInstance().Textures["enemy2"], new Rectangle(Res.gI().ScaleX(500), Res.gI().ScaleY(0), Res.gI().ScaleX(160), Res.gI().ScaleY(1050)), new Vector2(4, 0), 30000);
                        isThere = true;
                    }
                    if (BigMonster != null)
                        BigMonster.update(gametime);
                    if (keyboardstate.IsKeyDown(Keys.Escape) && previouskeyboardstate.IsKeyUp(Keys.Escape))
                    {
                        Game1.GetGame().IsMouseVisible = true;
                        MediaPlayer.Stop();
                        MediaPlayer.Play(SoundManager.pause);
                        gametype = GameType.Menu_Pause;
                        previousgametype = GameType.Menu_Play_Solo_world1_lvl2;
                    }
                    previouskeyboardstate = keyboardstate;
                    break;
                case GameType.Menu_Play_Solo_world1_lvl3:
                    previousgametype = GameType.Menu_Play_Solo_World1_Type;
                    if (respawn == true || casper.healthpoint.respawn == true)
                    {
                        controls.Position = new Vector2(Res.gI().ScaleX(80), Res.gI().ScaleY(644));//spawn position
                        respawn = false;
                        casper.healthpoint.respawn = false;
                    }
                    if (casper.Position.X > Res.gI().ScaleX(840))
                        camera.update(gametime, casper.Position);
                    if (casper.Position.X > Res.gI().ScaleX(1400))
                        camera.update(gametime, new Vector2(Res.gI().ScaleX(1400), 0));

                    Game1.GetGame().casperr = casper;
                    casper.update(gametime, controls, gametype, w1l3.getList(), sw1l3.getList());

                    Game1.GetGame().IsMouseVisible = false;
                    // IA
                    if (keyboardstate.IsKeyDown(Keys.Escape) && previouskeyboardstate.IsKeyUp(Keys.Escape))
                    {
                        Game1.GetGame().IsMouseVisible = true;
                        MediaPlayer.Stop();
                        MediaPlayer.Play(SoundManager.pause);
                        gametype = GameType.Menu_Pause;
                        previousgametype = GameType.Menu_Play_Solo_world1_lvl3;
                    }
                    previouskeyboardstate = keyboardstate;
                    break;
                case GameType.Menu_Play_Solo_world2_lvl1:
                    previousgametype = GameType.Menu_Play_Solo_World1_Type;
                    if (respawn == true || casper2.healthpoint.respawn == true)
                    {
                        controlsWorld2.Position = new Vector2(Res.gI().ScaleX(55), Res.gI().ScaleY(924));
                        respawn = false;
                        casper2.healthpoint.respawn = false;
                    }
                    if (casper2.Position.X > Res.gI().ScaleX(840))
                        camera.update(gametime, casper2.Position);
                    if (casper2.Position.X > Res.gI().ScaleX(1680))
                        camera.update(gametime, new Vector2(Res.gI().ScaleX(1680), 0));
                    AI_w2l1.update(gametime, casper2);
                    Game1.GetGame().casperr = casper2;
                    casper2.update(gametime, controlsWorld2, gametype, w2l1.getList(), AI_w2l1.getListRectangle());
                    Game1.GetGame().IsMouseVisible = true;
                    shots.update(gametime, casper2.Position, AI_w2l1.AI_w2l1);
                    if (keyboardstate.IsKeyDown(Keys.Escape) && previouskeyboardstate.IsKeyUp(Keys.Escape))
                    {
                        Game1.GetGame().IsMouseVisible = true;
                        MediaPlayer.Stop();
                        MediaPlayer.Play(SoundManager.pause);
                        gametype = GameType.Menu_Pause;
                        previousgametype = GameType.Menu_Play_Solo_world2_lvl1;
                    }
                    previouskeyboardstate = keyboardstate;

                    break;
                case GameType.Menu_Play_Solo_world2_lvl2:
                    previousgametype = GameType.Menu_Play_Solo_World2_Type;
                    if (respawn == true || casper2.healthpoint.respawn == true)
                    {
                        controlsWorld2.Position = new Vector2(Res.gI().ScaleX(200), Res.gI().ScaleY(924));
                        respawn = false;
                        casper2.healthpoint.respawn = false;
                    }
                    if (casper2.Position.X > Res.gI().ScaleX(840))
                        camera.update(gametime, casper2.Position);
                    if (casper2.Position.X > Res.gI().ScaleX(1680))
                        camera.update(gametime, new Vector2(Res.gI().ScaleX(1680), 0));
                    AI_w2l2.update(gametime,casper2);
                    AI_w2l2_2.update(gametime);
                    Game1.GetGame().casperr = casper2;
                    Game1.GetGame().IsMouseVisible = true;
                    shots2.update(gametime, casper2.Position, AI_w2l2.AI_w2l2);
                    casper2.update(gametime, controlsWorld2, gametype, w2l2.getList(), AI_w2l2_2.getListRectangle().Concat<Rectangle>(AI_w2l2.getListRectangle()));
                    if (keyboardstate.IsKeyDown(Keys.Escape) && previouskeyboardstate.IsKeyUp(Keys.Escape))
                    {
                        //casper.update(gametime);
                        Game1.GetGame().IsMouseVisible = true;
                        MediaPlayer.Stop();
                        MediaPlayer.Play(SoundManager.pause);
                        gametype = GameType.Menu_Pause;
                        previousgametype = GameType.Menu_Play_Solo_world2_lvl2;
                    }
                    previouskeyboardstate = keyboardstate;
                    break;
                case GameType.Menu_Play_Solo_world2_lvl3:
                    previousgametype = GameType.Menu_Play_Solo_World2_Type;
                    if (respawn == true || casper2.healthpoint.respawn == true)
                    {
                        controlsWorld2.Position = new Vector2(Res.gI().ScaleX(200), Res.gI().ScaleY(924));
                        respawn = false;
                        casper2.healthpoint.respawn = false;
                    }
                    if (casper2.Position.X > Res.gI().ScaleX(840))
                        camera.update(gametime, casper2.Position);
                    if (casper2.Position.X > Res.gI().ScaleX(1680))
                        camera.update(gametime, new Vector2(Res.gI().ScaleX(1680), 0));
                    AI_w2l3.update(gametime, casper2);
                    Game1.GetGame().casperr = casper2;

                    casper2.update(gametime, controlsWorld2, gametype, w2l3.getList(), AI_w2l3.getListRectangle());
                    Game1.GetGame().IsMouseVisible = true;
                    shots3.update(gametime, casper2.Position, AI_w2l3.AI_w2l3);
                    if (keyboardstate.IsKeyDown(Keys.Escape) && previouskeyboardstate.IsKeyUp(Keys.Escape))
                    {
                        Game1.GetGame().IsMouseVisible = true;
                        MediaPlayer.Stop();
                        MediaPlayer.Play(SoundManager.pause);
                        gametype = GameType.Menu_Pause;
                        previousgametype = GameType.Menu_Play_Solo_world2_lvl3;
                    }
                    previouskeyboardstate = keyboardstate;
                    break;
                case GameType.Exit:
                    Game1.GetGame().Exit();
                    break;
                case GameType.Menu_Pause:
                    if (previousgametype == GameType.Menu_Play_Solo_world2_lvl1 || previousgametype == GameType.Menu_Play_Solo_world2_lvl2 || previousgametype == GameType.Menu_Play_Solo_world2_lvl3)
                    {
                        if (casper2.Position.X > Res.gI().ScaleX(840))
                            camera.update(gametime, casper2.Position);
                        if (casper2.Position.X > Res.gI().ScaleX(1680))
                            camera.update(gametime, new Vector2(Res.gI().ScaleX(1680), 0));
                    }
                    if (previousgametype == GameType.Menu_Play_Solo_world1_lvl3)
                    {
                        if (casper.Position.X > Res.gI().ScaleX(840))
                            camera.update(gametime, casper.Position);
                        if (casper.Position.X > Res.gI().ScaleX(1400))
                            camera.update(gametime, new Vector2(Res.gI().ScaleX(1400), 0));
                    }
                    if (previousgametype == GameType.Menu_Play_Solo_world1_lvl1 || previousgametype == GameType.Menu_Play_Solo_world1_lvl2)
                    {
                        if (casper.Position.X > Res.gI().ScaleX(840))
                            camera.update(gametime, casper.Position);
                        if (casper.Position.X > Res.gI().ScaleX(4200))
                            camera.update(gametime, new Vector2(Res.gI().ScaleX(4200), 0));
                    }

                    //camera.update(gametime, casper.Position);
                    if (keyboardstate.IsKeyDown(Keys.Escape) && previouskeyboardstate.IsKeyUp(Keys.Escape))
                    {
                        Game1.GetGame().IsMouseVisible = false;
                        gametype = previousgametype;
                        MediaPlayer.Stop();
                        MediaPlayer.Play(SoundManager.ingame);

                    }
                    menupause.update(gametime, ref gametype, ref previousgametype, camera.centre);
                    previouskeyboardstate = keyboardstate;
                    break;
                case GameType.Menu_Pause_Option:
                    //camera.update(gametime, casper.Position);
                    if (previousgametype == GameType.Menu_Play_Solo_world2_lvl1 || previousgametype == GameType.Menu_Play_Solo_world2_lvl2 || previousgametype == GameType.Menu_Play_Solo_world2_lvl3)
                    {
                        if (casper2.Position.X > Res.gI().ScaleX(840))
                            camera.update(gametime, casper2.Position);
                        if (casper2.Position.X > Res.gI().ScaleX(1680))
                            camera.update(gametime, new Vector2(Res.gI().ScaleX(1680), 0));
                    }
                    if (previousgametype == GameType.Menu_Play_Solo_world1_lvl3)
                    {
                        if (casper.Position.X > Res.gI().ScaleX(840))
                            camera.update(gametime, casper.Position);
                        if (casper.Position.X > Res.gI().ScaleX(1400))
                            camera.update(gametime, new Vector2(Res.gI().ScaleX(1400), 0));
                    }
                    if (previousgametype == GameType.Menu_Play_Solo_world1_lvl1 || previousgametype == GameType.Menu_Play_Solo_world1_lvl2)
                    {
                        if (casper.Position.X > Res.gI().ScaleX(840))
                            camera.update(gametime, casper.Position);
                        if (casper.Position.X > Res.gI().ScaleX(4200))
                            camera.update(gametime, new Vector2(Res.gI().ScaleX(4200), 0));
                    }
                    menupauseoption.update(gametime, ref gametype, ref previousgametype, camera.centre);
                    break;
                default:
                    menubase.update(gametime, ref gametype, ref previousgametype);
                    break;
            }
        }
Exemplo n.º 10
0
        public ScreenManager(GameType gametype, Game1 game)
        {
            menubase = new Menu_Base(Content_Manager.getInstance().Textures["menubase"]);
            menuoptions = new Menu_Options(Content_Manager.getInstance().Textures["menuoptions"]);
            menuplay = new Menu_Play(Content_Manager.getInstance().Textures["menuplay"]);
            menuSolo = new Menu_Play_Solo(Content_Manager.getInstance().Textures["menusolo"]);
            menusolo1 = new Menu_Play_Solo_World1(Content_Manager.getInstance().Textures["solo1"]);
            menusolo2 = new Menu_Play_Solo_World2(Content_Manager.getInstance().Textures["solo2"]);
            menuMulti = new Menu_Play_Multi(Content_Manager.getInstance().Textures["menumulti"]);
            menupauseoption = new Menu_Pause_Options(Content_Manager.getInstance().Textures["menupauseoption"]);
            casper = new Casper(Content_Manager.getInstance().Textures["Casper"], new Rectangle(0, 0, Res.gI().ScaleX(16), Res.gI().ScaleY(34)));
            player2 = new Casper(Content_Manager.getInstance().Textures["Casper"], new Rectangle(Res.gI().ScaleX(50), Res.gI().ScaleY(50), Res.gI().ScaleX(16), Res.gI().ScaleY(34)));
            casper2 = new Casper(Content_Manager.getInstance().Textures["Player1"], new Rectangle(Res.gI().ScaleX(9000), Res.gI().ScaleY(9000), Res.gI().ScaleX(31), Res.gI().ScaleY(50)));
            controls = new Controls(casper.Position, casper.Velocity, casper.Speed, Keys.W, Keys.A, Keys.D, Keys.S);
            controlsPlayer2 = new Controls(player2.Position, player2.Velocity, player2.Speed, Keys.Up, Keys.Left, Keys.Right, Keys.Down);
            controlsWorld2 = new Controls(casper2.Position, casper2.Velocity, casper2.Speed, Keys.W, Keys.A, Keys.D, Keys.S);

            camera = new Camera(Game1.GetGame().GraphicsDevice.Viewport);
            respawn = true;
            isThere = false;

            d_w1l1_1 = new Decors(Content_Manager.getInstance().Textures["W1L1_1"], new Rectangle(0, 0, Res.gI().ScaleX(2520), Res.gI().ScaleY(1050)));
            d_w1l1_2 = new Decors(Content_Manager.getInstance().Textures["W1L1_2"], new Rectangle(Res.gI().ScaleX(2520), 0, Res.gI().ScaleX(2520), Res.gI().ScaleY(1050)));
            d_w1l2_1 = new Decors(Content_Manager.getInstance().Textures["W1L2_1"], new Rectangle(0, 0, Res.gI().ScaleX(2520), Res.gI().ScaleY(1050)));
            d_w1l2_2 = new Decors(Content_Manager.getInstance().Textures["W1L2_2"], new Rectangle(Res.gI().ScaleX(2520), 0, Res.gI().ScaleX(2520), Res.gI().ScaleY(1050)));
            d_w1l3 = new Decors(Content_Manager.getInstance().Textures["W1L3"], new Rectangle(0, 0, Res.gI().ScaleX(2240), Res.gI().ScaleY(1050)));

            teleport1 = new Rectangle(1240, 400, 80, 80);
            teleport2 = new Rectangle(3480, 480, 80, 280);
            List<Texture2D> textures = new List<Texture2D>();
            textures.Add(Content_Manager.getInstance().Textures["tp"]);
            tp1 = tp2 = tp3=tp4 = new ParticleEngine(textures, new Vector2(0, 0));

            shots = new Shots();
            shots2 = new Shots();
            shots3 = new Shots();

            Game1.GetGame().casperr = casper;
            d_w2l1 = new Decors(Content_Manager.getInstance().Textures["W2L1"], new Rectangle(0, 0, Res.gI().ScaleX(2520), Res.gI().ScaleY(1050)));
            d_w2l2 = new Decors(Content_Manager.getInstance().Textures["W2L2"], new Rectangle(0, 0, Res.gI().ScaleX(2520), Res.gI().ScaleY(1050)));
            d_w2l3 = new Decors(Content_Manager.getInstance().Textures["W2L3"], new Rectangle(0, 0, Res.gI().ScaleX(2520), Res.gI().ScaleY(1050)));
            menupause = new Menu_Pause(Content_Manager.getInstance().Textures["menupause"]);
            w1l1 = new W1L1();
            w1l2 = new W1L2();
            w1l3 = new W1L3();
            w2l1 = new W2L1();
            w2l2 = new W2L2();
            w2l3 = new W2L3();
            spikes = new Spikes();
            sw1l2 = new Sw1l2();
            sw1l3 = new Sw1l3();
            previousgametype = GameType.Exit;
            //AI1 = new AI_basic(Content_Manager.getInstance().Textures["enemy1"], Content_Manager.getInstance().Textures["enemy2"], new Rectangle(Res.gI().ScaleX(960), Res.gI().ScaleY(500), Res.gI().ScaleX(40), Res.gI().ScaleY(40)), new Vector2(3,0),300);
            AI_w1l1 = new AI_W1L1();
            AI_w1l2 = new AI_W1L2();
            AI_w2l1 = new AI_W2L1();
            AI_w2l2 = new AI_W2L2();
            AI_w2l2_2 = new AI_W2L2_2();
            AI_w2l3 = new AI_W2L3();
            AI2 = new AI_moderate(Content_Manager.getInstance().Textures["enemy1"], new Rectangle(Res.gI().ScaleX(100), Res.gI().ScaleY(100), Res.gI().ScaleX(50), Res.gI().ScaleY(50)));
            this.gametype = gametype;
            //List<Rectangle> enemies = spikes.getList().Concat<Rectangle>(AI_w1l1.getListRectangle()).ToList<Rectangle>;
        }
Exemplo n.º 11
0
        public void update(Casper casper, IEnumerable<Rectangle> enemies, GameType gametype)
        {
            if (gametype == GameType.Menu_Play_Solo_world1_lvl1 || gametype == GameType.Menu_Play_Solo_world1_lvl2 || gametype == GameType.Menu_Play_Solo_world1_lvl3 || gametype == GameType.Menu_Play_Multi_Type)
                world1 = true;
            else
                world1 = false;

            foreach (Rectangle rect in enemies)
            {
                if (casper.Hitbox.Intersects(rect))
                {
                    //Game1.GetGame().Exit();
                    respawn = true;
                    healthpoint += -1;
                    SoundManager.hp.Play();
                }
                if (healthpoint <= 0)
                {
                    Game1.GetGame().screenmanager.gametype = GameType.Dead;
                }
            }
        }
Exemplo n.º 12
0
        public ScreenManager(GameType gametype, Game1 game)
        {
            menubase = new Menu_Base(Content_Manager.getInstance().Textures["menubase"]);
            menuoptions = new Menu_Options(Content_Manager.getInstance().Textures["menuoptions"]);
            menuplay = new Menu_Play(Content_Manager.getInstance().Textures["menuplay"]);
            menuSolo = new Menu_Play_Solo(Content_Manager.getInstance().Textures["menusolo"]);
            menusolo1 = new Menu_Play_Solo_World1(Content_Manager.getInstance().Textures["solo1"]);
            menusolo2 = new Menu_Play_Solo_World2(Content_Manager.getInstance().Textures["solo2"]);
            menuMulti = new Menu_Play_Multi(Content_Manager.getInstance().Textures["menumulti"]);
            menupauseoption = new Menu_Pause_Options(Content_Manager.getInstance().Textures["menupauseoption"]);
            casper = new Casper(Content_Manager.getInstance().Textures["Casper"], new Rectangle(0, 0, Res.gI().ScaleX(16), Res.gI().ScaleY(34)));
            player2 = new Casper(Content_Manager.getInstance().Textures["Casper"], new Rectangle(Res.gI().ScaleX(50), Res.gI().ScaleY(50), Res.gI().ScaleX(16), Res.gI().ScaleY(34)));
            casper2 = new Casper(Content_Manager.getInstance().Textures["Player1"], new Rectangle(Res.gI().ScaleX(50), Res.gI().ScaleY(50), Res.gI().ScaleX(31), Res.gI().ScaleY(50)));
            controls = new Controls(casper.Position, casper.Velocity, casper.Speed, Keys.W, Keys.A, Keys.D, Keys.S);
            controlsPlayer2 = new Controls(player2.Position, player2.Velocity, player2.Speed, Keys.Up, Keys.Left, Keys.Right, Keys.Down);
            controlsWorld2 = new Controls(casper2.Position, casper2.Velocity, casper2.Speed, Keys.W, Keys.A, Keys.D, Keys.S);

            camera = new Camera(Game1.GetGame().GraphicsDevice.Viewport);
            respawn = true;

            d_w1l1_1 = new Decors(Content_Manager.getInstance().Textures["W1L1_1"], new Rectangle(0, 0, Res.gI().ScaleX(2520), Res.gI().ScaleY(1050)));
            d_w1l1_2 = new Decors(Content_Manager.getInstance().Textures["W1L1_2"], new Rectangle(Res.gI().ScaleX(2520), 0, Res.gI().ScaleX(2520), Res.gI().ScaleY(1050)));
            d_w1l2_1 = new Decors(Content_Manager.getInstance().Textures["W1L2_1"], new Rectangle(0, 0, Res.gI().ScaleX(2520), Res.gI().ScaleY(1050)));
            d_w1l2_2 = new Decors(Content_Manager.getInstance().Textures["W1L2_2"], new Rectangle(Res.gI().ScaleX(2520), 0, Res.gI().ScaleX(2520), Res.gI().ScaleY(1050)));
            d_w1l3 = new Decors(Content_Manager.getInstance().Textures["W1L3"], new Rectangle(0, 0, Res.gI().ScaleX(2240), Res.gI().ScaleY(1050)));

            Game1.GetGame().casperr = casper;
            d_w2l1 = new Decors(Content_Manager.getInstance().Textures["W2L1"], new Rectangle(0, 0, Res.gI().ScaleX(2520), Res.gI().ScaleY(1050)));
            d_w2l2 = new Decors(Content_Manager.getInstance().Textures["W2L2"], new Rectangle(0, 0, Res.gI().ScaleX(2520), Res.gI().ScaleY(1050)));
            d_w2l3 = new Decors(Content_Manager.getInstance().Textures["W2L3"], new Rectangle(0, 0, Res.gI().ScaleX(2520), Res.gI().ScaleY(1050)));
            menupause = new Menu_Pause(Content_Manager.getInstance().Textures["menupause"]);
            w1l1 = new W1L1();
            w1l2 = new W1L2();
            w1l3 = new W1L3();
            w2l1 = new W2L1();
            w2l2 = new W2L2();
            w2l3 = new W2L3();
            spikes = new Spikes();
            sw1l2 = new Sw1l2();
            sw1l3 = new Sw1l3();
            previousgametype = GameType.Exit;
            AI1 = new AI_basic(Content_Manager.getInstance().Textures["enemy1"], Content_Manager.getInstance().Textures["enemy2"], new Rectangle(0, 0, Res.gI().ScaleX(20), Res.gI().ScaleY(20)));
            AI2 = new AI_moderate(Content_Manager.getInstance().Textures["enemy1"], new Rectangle(Res.gI().ScaleX(100), Res.gI().ScaleY(100), Res.gI().ScaleX(50), Res.gI().ScaleY(50)));
            this.gametype = gametype;
        }
Exemplo n.º 13
0
        public void update(GameTime gametime)
        {
            camera.update(gametime, new Vector2(Res.gI().ScaleX(840), 0));
            keyboardstate = Keyboard.GetState();

            switch (gametype)
            {

                case GameType.Menu_Base_Type:

                    menubase.update(gametime, ref gametype, ref previousgametype);
                    previousgametype = GameType.Exit;

                    casper = new Casper(Content_Manager.getInstance().Textures["Casper"], new Rectangle(0, 0, Res.gI().ScaleX(16), Res.gI().ScaleY(34)));
                    controls = new Controls(casper.Position, casper.Velocity, casper.Speed, Keys.W, Keys.A, Keys.D, Keys.S);
                    respawn = true;
                    player2 = new Casper(Content_Manager.getInstance().Textures["Casper"], new Rectangle(Res.gI().ScaleX(50), Res.gI().ScaleY(50), Res.gI().ScaleX(16), Res.gI().ScaleY(34)));
                    casper2 = new Casper(Content_Manager.getInstance().Textures["Player1"], new Rectangle(Res.gI().ScaleX(9000), Res.gI().ScaleY(9000), Res.gI().ScaleX(31), Res.gI().ScaleY(50)));
                    controlsPlayer2 = new Controls(player2.Position, player2.Velocity, player2.Speed, Keys.Up, Keys.Left, Keys.Right, Keys.Down);
                    controlsWorld2 = new Controls(casper2.Position, casper2.Velocity, casper2.Speed, Keys.W, Keys.A, Keys.D, Keys.S);

                    shots = new Shots();
                    shots2 = new Shots();
                    shots3 = new Shots();

                    deltaboss = 0;

                    bigM = true;

                    finLvl1 = new Rectangle(Res.gI().ScaleX(4620),Res.gI().ScaleY(270),Res.gI().ScaleX(200),Res.gI().ScaleY(50));
                    finLvl2 = new Rectangle(Res.gI().ScaleX(4600),Res.gI().ScaleY(700),Res.gI().ScaleX(200),Res.gI().ScaleY(60));
                    finLvl6 = new Rectangle(Res.gI().ScaleX(40), Res.gI().ScaleY(700), Res.gI().ScaleX(70), Res.gI().ScaleY(90));
                    finLvl4 = new Rectangle(Res.gI().ScaleX(2410),Res.gI().ScaleY(60),Res.gI().ScaleX(70),Res.gI().ScaleY(90));
                    finLvl5 = new Rectangle(Res.gI().ScaleX(40),Res.gI().ScaleY(900),Res.gI().ScaleX(70),Res.gI().ScaleY(90));
                    //finLvl3 = new Rectangle(Res.gI().ScaleX(1838), Res.gI().ScaleY(259), Res.gI().ScaleX(23), Res.gI().ScaleY(24));

                    AI_w1l1 = new AI_W1L1();
                    AI_w1l2 = new AI_W1L2();
                    AI_w2l1 = new AI_W2L1();
                    AI_w2l2 = new AI_W2L2();
                    AI_w2l2_2 = new AI_W2L2_2();
                    AI_w2l3 = new AI_W2L3();
                    Boss = new AI_basic(Content_Manager.getInstance().Textures["PlayerDroite1"], Content_Manager.getInstance().Textures["PlayerGauche1"], new Rectangle(Res.gI().ScaleX(820), Res.gI().ScaleY(150), Res.gI().ScaleX(30), Res.gI().ScaleY(50)), new Vector2(4, 0), Res.gI().ScaleX(610));
                    // 820x y150 x1430 y150 30 50
                    Game1.GetGame().IsMouseVisible = true;

                    casper.healthpoint.healthpoint = 15;
                    casper2.healthpoint.healthpoint = 5;
                    //player2.healthpoint.healthpoint = 13;
                    break;
                case GameType.Menu_Play_Type:
                    menuplay.update(gametime, ref gametype, ref previousgametype);
                    previousgametype = GameType.Menu_Base_Type;
                    break;
                case GameType.Menu_Play_Solo_Type:
                    menuSolo.update(gametime, ref gametype, ref previousgametype);
                    previousgametype = GameType.Menu_Play_Type;
                    break;
                case GameType.Menu_Play_Solo_World1_Type:
                    menusolo1.update(gametime, ref gametype, ref previousgametype);
                    previousgametype = GameType.Menu_Play_Solo_Type;
                    break;
                case GameType.Menu_Play_Solo_World2_Type:
                    menusolo2.update(gametime, ref gametype, ref previousgametype);
                    previousgametype = GameType.Menu_Play_Solo_Type;
                    break;
                case GameType.Menu_Play_Multi_Type:
                    // menuMulti.update(gametime, ref gametype, ref previousgametype);
                    previousgametype = GameType.Menu_Play_Solo_World1_Type;
                    if (respawn)
                    {
                        controls.Position = new Vector2(Res.gI().ScaleX(200), Res.gI().ScaleY(924));
                        respawn = false;
                    }
                    if (casper.healthpoint.respawn)
                    {
                        controls.Position = controlsPlayer2.Position;
                        casper.healthpoint.respawn = false;
                    }
                    if (player2.healthpoint.respawn)
                    {
                        controlsPlayer2.Position = controls.Position;
                        player2.healthpoint.respawn = false;
                    }
                    if (casper.Position.X > Res.gI().ScaleX(840))
                        camera.update(gametime, casper.Position);
                    if (casper.Position.X > Res.gI().ScaleX(4200))
                        camera.update(gametime, new Vector2(Res.gI().ScaleX(4200), 0));
                    AI_w1l1.update(gametime);
                    casper.update(gametime, controls, gametype, w1l1.getList(), spikes.getList().Concat<Rectangle>(AI_w1l1.getListRectangle()));
                    player2.update(gametime, controlsPlayer2, gametype, w1l1.getList(), spikes.getList().Concat<Rectangle>(AI_w1l1.getListRectangle()));

                    Game1.GetGame().IsMouseVisible = false;
                    if (keyboardstate.IsKeyDown(Keys.Escape) && previouskeyboardstate.IsKeyUp(Keys.Escape))
                    {
                        previousgametype = GameType.Menu_Play_Multi_Type;
                        casper.update(gametime, controls, gametype, w1l1.getList(), spikes.getList().Concat<Rectangle>(AI_w1l1.getListRectangle()));
                        player2.update(gametime, controlsPlayer2, gametype, w1l1.getList(), spikes.getList().Concat<Rectangle>(AI_w1l1.getListRectangle()));

                        Game1.GetGame().IsMouseVisible = true;
                        MediaPlayer.Stop();
                        MediaPlayer.Play(SoundManager.pause);
                        gametype = GameType.Menu_Pause;

                    }
                    previouskeyboardstate = keyboardstate;
                    break;
                case GameType.Menu_Option_Type:
                    menuoptions.update(gametime, ref gametype, ref previousgametype);
                    previousgametype = GameType.Menu_Base_Type;
                    break;
                case GameType.Menu_Play_Solo_world1_lvl1:
                    Game1.GetGame().IsMouseVisible = false;
                    previousgametype = GameType.Menu_Play_Solo_World1_Type;
                    if (respawn || casper.healthpoint.respawn)
                    {
                        controls.Position = new Vector2(Res.gI().ScaleX(200), Res.gI().ScaleY(924));
                        respawn = false;
                        casper.healthpoint.respawn = false;
                    }
                    if (casper.Position.X > Res.gI().ScaleX(840))
                        camera.update(gametime, casper.Position);
                    if (casper.Position.X > Res.gI().ScaleX(4200))
                        camera.update(gametime, new Vector2(Res.gI().ScaleX(4200), 0));

                    Game1.GetGame().casperr = casper;
                    AI_w1l1.update(gametime);
                    casper.update(gametime, controls, gametype, w1l1.getList(), spikes.getList().Concat<Rectangle>(AI_w1l1.getListRectangle()));
                    if (keyboardstate.IsKeyDown(Keys.Escape) && previouskeyboardstate.IsKeyUp(Keys.Escape))
                    {
                        Game1.GetGame().IsMouseVisible = true;
                        MediaPlayer.Stop();
                        MediaPlayer.Play(SoundManager.pause);
                        gametype = GameType.Menu_Pause;
                        previousgametype = GameType.Menu_Play_Solo_world1_lvl1;
                    }
                    previouskeyboardstate = keyboardstate;

                    /// fin du lvl
                    if (casper.Hitbox.Intersects(finLvl1))
                    {
                        controls.Position = new Vector2(Res.gI().ScaleX(200), Res.gI().ScaleY(244));
                        bigM = true;
                        gametype = GameType.Menu_Play_Solo_world1_lvl2;
                    }
                    ///
                    break;
                case GameType.Menu_Play_Solo_world1_lvl2:
                    previousgametype = GameType.Menu_Play_Solo_World1_Type;
                    if (respawn || casper.healthpoint.respawn)
                    {
                        controls.Position = new Vector2(Res.gI().ScaleX(200), Res.gI().ScaleY(244));
                        respawn = false;
                        casper.healthpoint.respawn = false;
                        bigM = true;
                    }
                    if (casper.Position.X > Res.gI().ScaleX(840))
                        camera.update(gametime, casper.Position);
                    if (casper.Position.X > Res.gI().ScaleX(4200))
                        camera.update(gametime, new Vector2(Res.gI().ScaleX(4200), 0));

                    Game1.GetGame().casperr = casper;
                    AI_w1l2.update(gametime);
                    tp1.EmitterLocation = new Vector2(Res.gI().ScaleX(1280), Res.gI().ScaleY(450));
                    tp1.Update();
                    tp2.EmitterLocation = new Vector2(Res.gI().ScaleX(3490), Res.gI().ScaleY(530));
                    tp2.Update();
                    tp3.EmitterLocation = new Vector2(Res.gI().ScaleX(3490), Res.gI().ScaleY(630));
                    tp3.Update();
                    tp4.EmitterLocation = new Vector2(Res.gI().ScaleX(3490), Res.gI().ScaleY(730));
                    tp4.Update();
                    casper.update(gametime, controls, gametype, w1l2.getList(), sw1l2.getList().Concat<Rectangle>(AI_w1l2.getListRectangle()));
                    Game1.GetGame().IsMouseVisible = false;
                    if (casper.Hitbox.Intersects(teleport1))
                        controls.Position = new Vector2(Res.gI().ScaleX(500), Res.gI().ScaleY(726));
                    if (casper.Hitbox.Intersects(teleport2))
                        controls.Position = new Vector2(Res.gI().ScaleX(3025), Res.gI().ScaleY(366));
                    if (controls.Position.X > 1320 && bigM)
                    {
                        BigMonster = new AI_basic(Content_Manager.getInstance().Textures["Wall"], Content_Manager.getInstance().Textures["enemy2"], new Rectangle(Res.gI().ScaleX(500), Res.gI().ScaleY(0), Res.gI().ScaleX(160), Res.gI().ScaleY(1050)), new Vector2(6, 0), 30000);
                        bigM = false;
                    }
                    if (BigMonster != null)
                    {
                        BigMonster.update(gametime);
                        if (casper.Hitbox.Intersects(BigMonster.Hitbox))
                        {
                            respawn = true;
                            casper.healthpoint.healthpoint -= 1;
                            SoundManager.hp.Play();
                        }
                    }
                    if (keyboardstate.IsKeyDown(Keys.Escape) && previouskeyboardstate.IsKeyUp(Keys.Escape))
                    {
                        Game1.GetGame().IsMouseVisible = true;
                        MediaPlayer.Stop();
                        MediaPlayer.Play(SoundManager.pause);
                        gametype = GameType.Menu_Pause;
                        previousgametype = GameType.Menu_Play_Solo_world1_lvl2;
                    }
                    previouskeyboardstate = keyboardstate;

                    // fin lvl
                    if (casper.Hitbox.Intersects(finLvl2))
                    {
                        controls.Position = new Vector2(Res.gI().ScaleX(80), Res.gI().ScaleY(644));
                        gametype = GameType.Menu_Play_Solo_world1_lvl3;
                    }
                    break;
                case GameType.Menu_Play_Solo_world1_lvl3:
                    previousgametype = GameType.Menu_Play_Solo_World1_Type;
                    if (respawn || casper.healthpoint.respawn)
                    {
                        controls.Position = new Vector2(Res.gI().ScaleX(80), Res.gI().ScaleY(644));//spawn position
                        respawn = false;
                        casper.healthpoint.respawn = false;
                    }
                    if (casper.Position.X > Res.gI().ScaleX(840))
                        camera.update(gametime, casper.Position);
                    if (casper.Position.X > Res.gI().ScaleX(1400))
                        camera.update(gametime, new Vector2(Res.gI().ScaleX(1400), 0));
                    deltaboss++;
                    if (deltaboss > 60)
                        deltaboss = 0;

                    Game1.GetGame().casperr = casper;
                    Boss.update(gametime);
                    casper.update(gametime, controls, gametype, w1l3.getList(), sw1l3.getList());

                    Game1.GetGame().IsMouseVisible = false;
                    // IA
                    if (keyboardstate.IsKeyDown(Keys.Escape) && previouskeyboardstate.IsKeyUp(Keys.Escape))
                    {
                        Game1.GetGame().IsMouseVisible = true;
                        MediaPlayer.Stop();
                        MediaPlayer.Play(SoundManager.pause);
                        gametype = GameType.Menu_Pause;
                        previousgametype = GameType.Menu_Play_Solo_world1_lvl3;
                    }
                    previouskeyboardstate = keyboardstate;

                    if (casper.Hitbox.Intersects(finLvl3))
                    {
                        gametype = GameType.Trans1;
                        controlsWorld2.Position = new Vector2(Res.gI().ScaleX(55), Res.gI().ScaleY(924));
                    }
                    break;
                case GameType.Menu_Play_Solo_world2_lvl1:
                    previousgametype = GameType.Menu_Play_Solo_World1_Type;
                    if (respawn || casper2.healthpoint.respawn)
                    {
                        controlsWorld2.Position = new Vector2(Res.gI().ScaleX(55), Res.gI().ScaleY(924));
                        respawn = false;
                        casper2.healthpoint.respawn = false;
                        AI_w2l1 = new AI_W2L1();
                    }
                    if (casper2.Position.X > Res.gI().ScaleX(840))
                        camera.update(gametime, casper2.Position);
                    if (casper2.Position.X > Res.gI().ScaleX(1680))
                        camera.update(gametime, new Vector2(Res.gI().ScaleX(1680), 0));
                    AI_w2l1.update(gametime, casper2);
                    Game1.GetGame().casperr = casper2;
                    casper2.update(gametime, controlsWorld2, gametype, w2l1.getList(), AI_w2l1.getListRectangle());
                    Game1.GetGame().IsMouseVisible = true;
                    shots.update(gametime, casper2.Position, AI_w2l1.AI_w2l1);
                    if (keyboardstate.IsKeyDown(Keys.Escape) && previouskeyboardstate.IsKeyUp(Keys.Escape))
                    {
                        Game1.GetGame().IsMouseVisible = true;
                        MediaPlayer.Stop();
                        MediaPlayer.Play(SoundManager.pause);
                        //MediaPlayer.Volume = 0.7f;
                        gametype = GameType.Menu_Pause;
                        previousgametype = GameType.Menu_Play_Solo_world2_lvl1;
                    }
                    previouskeyboardstate = keyboardstate;

                    //fin lvl
                    if (casper2.Hitbox.Intersects(finLvl4))
                    {
                        gametype = GameType.Menu_Play_Solo_world2_lvl2;
                        controlsWorld2.Position = new Vector2(Res.gI().ScaleX(2420), Res.gI().ScaleY(80));
                    }
                    break;
                case GameType.Menu_Play_Solo_world2_lvl2:
                    previousgametype = GameType.Menu_Play_Solo_World2_Type;
                    if (respawn || casper2.healthpoint.respawn)
                    {
                        controlsWorld2.Position = new Vector2(Res.gI().ScaleX(2420), Res.gI().ScaleY(80));
                        respawn = false;
                        casper2.healthpoint.respawn = false;
                        AI_w2l2 = new AI_W2L2();
                    }
                    if (casper2.Position.X > Res.gI().ScaleX(840))
                        camera.update(gametime, casper2.Position);
                    if (casper2.Position.X > Res.gI().ScaleX(1680))
                        camera.update(gametime, new Vector2(Res.gI().ScaleX(1680), 0));
                    AI_w2l2.update(gametime, casper2);
                    AI_w2l2_2.update(gametime);
                    Game1.GetGame().casperr = casper2;
                    Game1.GetGame().IsMouseVisible = true;
                    shots2.update(gametime, casper2.Position, AI_w2l2.AI_w2l2);
                    casper2.update(gametime, controlsWorld2, gametype, w2l2.getList(), AI_w2l2_2.getListRectangle().Concat<Rectangle>(AI_w2l2.getListRectangle()));
                    if (keyboardstate.IsKeyDown(Keys.Escape) && previouskeyboardstate.IsKeyUp(Keys.Escape))
                    {
                        //casper.update(gametime);
                        Game1.GetGame().IsMouseVisible = true;
                        MediaPlayer.Stop();
                        MediaPlayer.Play(SoundManager.pause);
                        gametype = GameType.Menu_Pause;
                        previousgametype = GameType.Menu_Play_Solo_world2_lvl2;
                    }
                    previouskeyboardstate = keyboardstate;

                    //fin lvl

                    if (casper2.Hitbox.Intersects(finLvl5))
                    {
                        gametype = GameType.Menu_Play_Solo_world2_lvl3;
                        controlsWorld2.Position = new Vector2(Res.gI().ScaleX(55), Res.gI().ScaleY(924));
                    }

                    break;
                case GameType.Menu_Play_Solo_world2_lvl3:
                    previousgametype = GameType.Menu_Play_Solo_World2_Type;
                    if (respawn || casper2.healthpoint.respawn)
                    {
                        controlsWorld2.Position = new Vector2(Res.gI().ScaleX(55), Res.gI().ScaleY(924));
                        respawn = false;
                        casper2.healthpoint.respawn = false;
                        AI_w2l3 = new AI_W2L3();
                    }
                    if (casper2.Position.X > Res.gI().ScaleX(840))
                        camera.update(gametime, casper2.Position);
                    if (casper2.Position.X > Res.gI().ScaleX(1680))
                        camera.update(gametime, new Vector2(Res.gI().ScaleX(1680), 0));
                    AI_w2l3.update(gametime, casper2);
                    Game1.GetGame().casperr = casper2;

                    casper2.update(gametime, controlsWorld2, gametype, w2l3.getList(), AI_w2l3.getListRectangle());
                    Game1.GetGame().IsMouseVisible = true;
                    shots3.update(gametime, casper2.Position, AI_w2l3.AI_w2l3);
                    if (keyboardstate.IsKeyDown(Keys.Escape) && previouskeyboardstate.IsKeyUp(Keys.Escape))
                    {
                        Game1.GetGame().IsMouseVisible = true;
                        MediaPlayer.Stop();
                        MediaPlayer.Play(SoundManager.pause);
                        gametype = GameType.Menu_Pause;
                        previousgametype = GameType.Menu_Play_Solo_world2_lvl3;
                    }
                    previouskeyboardstate = keyboardstate;
                    if (AI_w2l3.getListRectangle().Count==0)
                    {
                        gametype = GameType.End1;
                    }

                    break;
                case GameType.Exit:
                    Game1.GetGame().Exit();
                    break;
                case GameType.Menu_Pause:
                    if (previousgametype == GameType.Menu_Play_Solo_world2_lvl1 || previousgametype == GameType.Menu_Play_Solo_world2_lvl2 || previousgametype == GameType.Menu_Play_Solo_world2_lvl3)
                    {
                        if (casper2.Position.X > Res.gI().ScaleX(840))
                            camera.update(gametime, casper2.Position);
                        if (casper2.Position.X > Res.gI().ScaleX(1680))
                            camera.update(gametime, new Vector2(Res.gI().ScaleX(1680), 0));
                    }
                    if (previousgametype == GameType.Menu_Play_Solo_world1_lvl3)
                    {
                        if (casper.Position.X > Res.gI().ScaleX(840))
                            camera.update(gametime, casper.Position);
                        if (casper.Position.X > Res.gI().ScaleX(1400))
                            camera.update(gametime, new Vector2(Res.gI().ScaleX(1400), 0));
                    }
                    if (previousgametype == GameType.Menu_Play_Solo_world1_lvl1 || previousgametype == GameType.Menu_Play_Solo_world1_lvl2)
                    {
                        if (casper.Position.X > Res.gI().ScaleX(840))
                            camera.update(gametime, casper.Position);
                        if (casper.Position.X > Res.gI().ScaleX(4200))
                            camera.update(gametime, new Vector2(Res.gI().ScaleX(4200), 0));
                    }

                    //camera.update(gametime, casper.Position);
                    if (keyboardstate.IsKeyDown(Keys.Escape) && previouskeyboardstate.IsKeyUp(Keys.Escape))
                    {

                        ////////// test avec previous game stqt
                        Game1.GetGame().IsMouseVisible = false;
                        MediaPlayer.Stop();
                        gametype = previousgametype;
                        if (previousgametype == GameType.Menu_Play_Solo_world1_lvl2)
                        {
                            MediaPlayer.Play(SoundManager.ingame2);
                        }
                        if (previousgametype == GameType.Menu_Play_Solo_world1_lvl3)
                        {
                            MediaPlayer.Play(SoundManager.ingame3);
                        }
                        if (previousgametype == GameType.Menu_Play_Solo_world2_lvl3)
                        {
                            MediaPlayer.Play(SoundManager.ingame4);
                        }
                        if (previousgametype == GameType.Menu_Play_Solo_world2_lvl1)
                        {
                            MediaPlayer.Play(SoundManager.ingame6);
                        }
                        if (previousgametype == GameType.Menu_Play_Solo_world2_lvl2)
                        {
                            MediaPlayer.Play(SoundManager.ingame5);
                        }

                    }
                    menupause.update(gametime, ref gametype, ref previousgametype, camera.centre);
                    previouskeyboardstate = keyboardstate;
                    break;
                case GameType.Menu_Pause_Option:
                    //camera.update(gametime, casper.Position);
                    if (previousgametype == GameType.Menu_Play_Solo_world2_lvl1 || previousgametype == GameType.Menu_Play_Solo_world2_lvl2 || previousgametype == GameType.Menu_Play_Solo_world2_lvl3)
                    {
                        if (casper2.Position.X > Res.gI().ScaleX(840))
                            camera.update(gametime, casper2.Position);
                        if (casper2.Position.X > Res.gI().ScaleX(1680))
                            camera.update(gametime, new Vector2(Res.gI().ScaleX(1680), 0));
                    }
                    if (previousgametype == GameType.Menu_Play_Solo_world1_lvl3)
                    {
                        if (casper.Position.X > Res.gI().ScaleX(840))
                            camera.update(gametime, casper.Position);
                        if (casper.Position.X > Res.gI().ScaleX(1400))
                            camera.update(gametime, new Vector2(Res.gI().ScaleX(1400), 0));
                    }
                    if (previousgametype == GameType.Menu_Play_Solo_world1_lvl1 || previousgametype == GameType.Menu_Play_Solo_world1_lvl2)
                    {
                        if (casper.Position.X > Res.gI().ScaleX(840))
                            camera.update(gametime, casper.Position);
                        if (casper.Position.X > Res.gI().ScaleX(4200))
                            camera.update(gametime, new Vector2(Res.gI().ScaleX(4200), 0));
                    }
                    menupauseoption.update(gametime, ref gametype, ref previousgametype, camera.centre);
                    break;
                case GameType.Intro1:
                    cinematic.update(GameType.Intro2);
                    break;
                case GameType.Intro2:
                    cinematic.update(GameType.Intro3);
                    break;
                case GameType.Intro3:
                    cinematic.update(GameType.Menu_Play_Solo_world1_lvl1);
                    break;
                case GameType.Trans1:
                    cinematic.update(GameType.Trans2);
                    break;
                case GameType.Trans2:
                    cinematic.update(GameType.Trans3);
                    break;
                case GameType.Trans3:
                    cinematic.update(GameType.Menu_Play_Solo_world2_lvl1);
                    break;
                case GameType.End1:
                    cinematic.update(GameType.End2);
                    break;
                case GameType.End2:
                    cinematic.update(GameType.End3);
                    break;
                case GameType.End3:
                    cinematic.update(GameType.Menu_Base_Type);
                    break;
                case GameType.Dead:
                    cinematic.update(GameType.Menu_Base_Type);
                    break;
                case GameType.Menu_Play_Multi_Type2:
                    menumulti2.update(gametime, ref gametype, ref previousgametype);
                    previousgametype = GameType.Menu_Play_Multi_Type;
                    break;
                default:
                    menubase.update(gametime, ref gametype, ref previousgametype);
                    break;
            }
        }