public Player(Game_Mode game_Mode, Vector2 position, string outfit_Set)
        {
            this.game_Mode = game_Mode;

            Change_Outfit(outfit_Set);
            LoadContent();

            Reset(position);
        }
 public Elements(Game_Mode game_Mode, ContentManager content, int XPos, int YPos, int element_reference)
 {
     this.XPos = XPos * Tiles.Width;
     this.YPos = YPos * Tiles.Height;
     this.content = content;
     this.element_reference = element_reference;
     LoadElement(element_reference);
     global_variables.level_progress = 0;
 }
 private void close_text(Game_Mode game_Mode)
 {
     disp_Text = false;
     game_Mode.halt_Movement(false);
 }
        //---------------------------------------------------------------------------------------------------------------------------------------
        //--------------------------------------------------------Update-------------------------------------------------------------------
        //---------------------------------------------------------------------------------------------------------------------------------------
        public void Update(Game_Mode game_Mode, GameTime gameTime, KeyPress keyPress, Rectangle player_BoundingBox, Vector2 player_Position)
        {
            Update_Interaction_Symbol();
            this.player_Position = player_Position;

            // ---------------------------------------------------------99-------------------------------------------------------
            if (element_reference == 99)
            {
                interact_display = false;
                if (boundingBox_Outer.Intersects(player_BoundingBox) == true)
                {
                    interact_display = false;
                    Vector2 Depth = Base_Components.RectangleExtensions.GetIntersectionDepth(boundingBox_Outer, player_BoundingBox);

                    if (Depth.X >= 0)
                    {
                        sprite_Opacity = 1 - (Depth.X / 100);
                        if (Depth.X >= 75)
                        {
                            secondary_Opacity = 1 - ((Depth.X - 75) / 25);
                        }
                        else
                        {
                            secondary_Opacity = 1;
                        }
                    }
                    else if (Depth.X < 0)
                    {
                        sprite_Opacity = 1 + (Depth.X / 100);
                        if (Depth.X < -75)
                        {
                            secondary_Opacity = 1 + ((Depth.X + 75) / 25);
                        }
                        else
                        {
                            secondary_Opacity = 1;
                        }
                    }

                }
                else
                {
                    sprite_Opacity = 1;
                    secondary_Opacity = 1;
                }
            }
            // ---------------------------------------------------------100-------------------------------------------------------
            if (element_reference == 100)
            {
                if (boundingBox_Inner.Intersects(player_BoundingBox) == true)
                {
                    if (interact_Stage == 0)
                    {
                        interact_display = true;
                        if (keyPress.key_X == 1)
                        {
                            sprite.PlayAnimation(animation_1);
                            interact_Stage += 1;
                        }
                    }
                    else if (interact_Stage == 1)
                    {
                        interact_display = false;
                        if (sprite.FrameIndex == 7)
                        {
                            sprite.PlayAnimation(animation_2);
                            interact_Stage += 1;
                        }
                    }
                    else if (interact_Stage == 2)
                    {
                        interact_display = true;
                        if (keyPress.key_X == 1)
                        {
                            interact_Stage += 1;
                        }
                    }
                    // Change Level
                    else if (interact_Stage == 3)
                    {
                        interact_display = false;
                        game_Mode.next_Level = 17;
                        game_Mode.change_level_bool = true;
                    }
                }
                else
                {
                    interact_display = false;
                }
            }

            // ---------------------------------------------------------101-------------------------------------------------------
            if (element_reference == 101)
            {
                if (boundingBox_Inner.Intersects(player_BoundingBox) == true)
                {
                    if (interact_Stage == 0)
                    {
                        interact_display = true;
                        if (keyPress.key_X == 1)
                        {
                            sprite.PlayAnimation(animation_1);
                            interact_Stage += 1;
                        }
                    }
                    else if (interact_Stage == 1)
                    {
                        interact_display = false;
                        if (sprite.FrameIndex == 7)
                        {
                            interact_Stage += 1;
                        }
                    }
                    else if (interact_Stage == 2)
                    {
                        interact_display = true;
                        if (keyPress.key_X == 1)
                        {
                            sprite.PlayAnimation(animation_2);
                            interact_Stage += 1;
                        }
                    }
                    else if (interact_Stage == 3)
                    {
                        interact_display = false;
                        if (sprite.FrameIndex == 7)
                        {
                            interact_Stage += 1;
                        }
                    }
                    else if (interact_Stage == 4)
                    {
                        interact_display = true;
                        if (keyPress.key_X == 1)
                        {
                            interact_Stage += 1;
                        }
                    }
                        // Change Level
                    else if (interact_Stage == 5)
                    {
                        interact_display = false;
                        game_Mode.next_Level = 15;
                        game_Mode.change_level_bool = true;
                    }
                }
                else
                {
                    interact_display = false;
                }
            }
            // ---------------------------------------------------------102-------------------------------------------------------
            if (element_reference == 102)
            {
                if (boundingBox_Inner.Intersects(player_BoundingBox) == true)
                {
                    if (interact_Stage == 0)
                    {
                        interact_display = true;
                        if (keyPress.key_X == 1)
                        {

                            sprite.PlayAnimation(animation_1);
                            game_Mode.Change_Outfit("a10");
                            interact_Stage += 1;
                        }
                    }
                    else if (interact_Stage == 1)
                    {
                        interact_display = false;
                    }
                }
                else
                {
                    interact_display = false;
                }
            }

            // ---------------------------------------------------------103-------------------------------------------------------
            if (element_reference == 103)
            {
                if (boundingBox_Inner.Intersects(player_BoundingBox) == true)
                {
                    if (interact_Stage == 0)
                    {
                        interact_display = true;
                        if (keyPress.key_X == 1)
                        {
                            sprite.PlayAnimation(animation_1);
                            if (game_Mode.Outfit_Check() == "a10")
                            {
                                game_Mode.Change_Outfit("a11");
                            }
                            else
                            {
                                game_Mode.Change_Outfit("a01");
                            }
                            interact_Stage += 1;
                        }
                    }
                    else if (interact_Stage == 1)
                    {
                        interact_display = false;
                    }
                }
                else
                {
                    interact_display = false;
                }
            }

            // ---------------------------------------------------------104-------------------------------------------------------
            if (element_reference == 104)
            {
                if (boundingBox_Inner.Intersects(player_BoundingBox) == true)
                {
                    if (interact_Stage == 0)
                    {
                        interact_display = true;
                        if (keyPress.key_X == 1)
                        {
                            sprite.PlayAnimation(animation_1);
                            interact_Stage += 1;
                        }
                    }
                    else if (interact_Stage == 1)
                    {
                        interact_display = false;
                        if (sprite.FrameIndex == 8)
                        {
                            interact_Stage += 1;
                        }
                    }
                    else if (interact_Stage == 2)
                    {
                        interact_display = true;
                        if (keyPress.key_X == 1)
                        {
                            interact_Stage += 1;
                        }
                    }
                    // Change Level
                    else if (interact_Stage == 3)
                    {
                        interact_display = false;
                        game_Mode.next_Level = 11;
                        game_Mode.change_level_bool = true;
                    }
                }
                else
                {
                    interact_display = false;
                }
            }

            // ---------------------------------------------------------105-------------------------------------------------------
            if (element_reference == 105)
            {
                if (boundingBox_Inner.Intersects(player_BoundingBox) == true)
                {
                    if (interact_Stage == 0)
                    {
                        interact_display = true;
                        if (keyPress.key_X == 1)
                        {
                            sprite.PlayAnimation(animation_1);
                            if (game_Mode.Outfit_Check() == "a01")
                            {
                                game_Mode.Change_Outfit("g01");
                            }
                            else if (game_Mode.Outfit_Check() == "a10")
                            {
                                game_Mode.Change_Outfit("g10");
                            }
                            else if (game_Mode.Outfit_Check() == "a11")
                            {
                                game_Mode.Change_Outfit("g11");
                            }
                            else
                            {
                                game_Mode.Change_Outfit("g00");
                            }
                            interact_Stage += 1;
                        }
                    }
                    else if (interact_Stage == 1)
                    {
                        interact_display = false;
                    }
                }
                else
                {
                    interact_display = false;
                }
            }

            // ---------------------------------------------------------106-------------------------------------------------------
            if (element_reference == 106)
            {
                //Self_Animating
                if (sprite.Animation == animation_0 && sprite.FrameIndex == 5)
                {
                    sprite.PlayAnimation(animation_1);
                }
                if (sprite.Animation == animation_1 && sprite.FrameIndex == 5)
                {
                    sprite.PlayAnimation(animation_2);
                }
                if (sprite.Animation == animation_2 && sprite.FrameIndex == 5)
                {
                    sprite.PlayAnimation(animation_0);
                }
            }

            // ---------------------------------------------------------107-------------------------------------------------------
            if (element_reference == 107)
            {
                //Self_Animating
                on_top_animation = true;
            }

            // ---------------------------------------------------------108-------------------------------------------------------
            if (element_reference == 108)
            {
            }

            // ---------------------------------------------------------109-------------------------------------------------------
            if (element_reference == 109)
            {
                if (interact_Stage == 0 && boundingBox_Outer.Intersects(player_BoundingBox) == true)
                {
                    sprite.PlayAnimation(animation_1);
                }
                if (interact_Stage == 0 && boundingBox_Inner.Intersects(player_BoundingBox) == true)
                {
                    interact_Stage = 1;
                }
                if (interact_Stage == 1 && sprite.Animation == animation_1 && sprite.FrameIndex == 4)
                {
                    game_Mode.halt_Movement(true);
                    sprite.PlayAnimation(animation_2);
                    interact_Stage = 3;
                }
                if (interact_Stage == 3)
                {
                    game_Mode.halt_Movement(true);
                    if (game_Mode.Outfit_Check() == "g00" || game_Mode.Outfit_Check() == "g01" ||
                        game_Mode.Outfit_Check() == "g10" || game_Mode.Outfit_Check() == "g11")
                    {
                        write_text("You have a gun");
                        if (keyPress.key_X == 1)
                        {
                            close_text(game_Mode);
                            interact_Stage = 6;
                            game_Mode.halt_Movement(false);
                        }
                    }
                    else
                    {
                        write_text("You have no gun");
                        game_Mode.halt_Movement(true);

                        if (keyPress.key_X == 1)
                        {
                            close_text(game_Mode);
                            interact_Stage = 5;
                            game_Mode.halt_Movement(false);
                        }
                    }

                }
                if (interact_Stage == 5)
                {
                    game_Mode.next_Level = 22;
                    game_Mode.change_level_bool = true;

                }

            }

            // ---------------------------------------------------------110-------------------------------------------------------
            if (element_reference == 110)
            {
                //Self_Animating
            }
        }
        protected override void Initialize()
        {
            audio = new Base_Components.Audio();
            audio.Initialize();

            splash_Screen = new Splash_Screen.Splash_Screen(this, graphics);
            main_Menu = new Main_Menu.Main_Menu(this, graphics);
            game_Mode = new Game_Components.Game_Mode(graphics);
            limbo = new Limbo.Limbo(graphics);
            credit_Menu = new Credits.Credit_Menu(graphics);

            // Secrets
            konami = new Secrets.Konami(graphics);

            base.Initialize();
        }