예제 #1
0
        protected override void LoadContent()
        {
            #region Global Items
            // creates a new sprite drawer
            spriteBatch    = new SpriteBatch(GraphicsDevice);
            Global.font    = Content.Load <SpriteFont>("UI\\Arial"); // loads font for text
            Global.bigFont = Content.Load <SpriteFont>("UI\\Arial Big");
            debug          = new Debug();                            // creates a new debug object
            Global.grid    = Content.Load <Texture2D>("UI\\Grid");   // saves the grid texture into global
            #endregion
            #region Main Menu Items
            txCreareTitle = Content.Load <Texture2D>("UI\\CreareTitle"); // texture for the main title picutre
            // texture and hover textures for buttons used on the main menu
            Texture2D txBtnNew       = Content.Load <Texture2D>("Temp Buttons\\BtnNew");
            Texture2D txBtnNewHover  = Content.Load <Texture2D>("Temp Buttons\\BtnNewHover");
            Texture2D txBtnLoad      = Content.Load <Texture2D>("Temp Buttons\\BtnLoad");
            Texture2D txBtnLoadHover = Content.Load <Texture2D>("Temp Buttons\\BtnLoadHover");
            Texture2D txBtnExit      = Content.Load <Texture2D>("Temp Buttons\\BtnExit");
            Texture2D txBtnExitHover = Content.Load <Texture2D>("Temp Buttons\\BtnExitHover");
            // create the 3 menu buttons and position them
            Button btnNew  = new Button(txBtnNew, txBtnNewHover, txBtnNew, new Vector2(350, 400));
            Button btnLoad = new Button(txBtnLoad, txBtnLoadHover, txBtnLoad, new Vector2(350, 450));
            Button btnExit = new Button(txBtnExit, txBtnExitHover, txBtnExit, new Vector2(350, 500));
            // add the button event for when it is clicked
            btnNew.OnPress  += new EventHandler(btnNew_OnPress);
            btnLoad.OnPress += new EventHandler(btnLoad_OnPress);
            btnExit.OnPress += new EventHandler(btnExit_OnPress);
            // add the buttons to a list of main menu buttons
            mainMenuButtons.Add(btnNew);
            mainMenuButtons.Add(btnLoad);
            mainMenuButtons.Add(btnExit);
            #endregion
            #region World Select Items

            txDeleteAlert = Content.Load <Texture2D>("UI\\Delete");

            Texture2D txBtnWorld1      = Content.Load <Texture2D>("Temp Buttons\\BtnWorld1");
            Texture2D txBtnWorld1Hover = Content.Load <Texture2D>("Temp Buttons\\BtnWorld1Hover");
            Texture2D txBtnWorld2      = Content.Load <Texture2D>("Temp Buttons\\BtnWorld2");
            Texture2D txBtnWorld2Hover = Content.Load <Texture2D>("Temp Buttons\\BtnWorld2Hover");
            Texture2D txBtnWorld3      = Content.Load <Texture2D>("Temp Buttons\\BtnWorld3");
            Texture2D txBtnWorld3Hover = Content.Load <Texture2D>("Temp Buttons\\BtnWorld3Hover");
            Texture2D txBtnWorld4      = Content.Load <Texture2D>("Temp Buttons\\BtnWorld4");
            Texture2D txBtnWorld4Hover = Content.Load <Texture2D>("Temp Buttons\\BtnWorld4Hover");
            Texture2D txBtnWorld5      = Content.Load <Texture2D>("Temp Buttons\\BtnWorld5");
            Texture2D txBtnWorld5Hover = Content.Load <Texture2D>("Temp Buttons\\BtnWorld5Hover");

            Texture2D txBtnBack        = Content.Load <Texture2D>("Temp Buttons\\BtnBack");
            Texture2D txBtnBackHover   = Content.Load <Texture2D>("Temp Buttons\\BtnBackHover");
            Texture2D txBtnDelete      = Content.Load <Texture2D>("Temp Buttons\\BtnDelete");
            Texture2D txBtnDeleteHover = Content.Load <Texture2D>("Temp Buttons\\BtnDeleteHover");
            Texture2D txBtnGO          = Content.Load <Texture2D>("Temp Buttons\\BtnGO");
            Texture2D txBtnGOHover     = Content.Load <Texture2D>("Temp Buttons\\BtnGOHover");


            Button btnWorld1 = new Button(txBtnWorld1, txBtnWorld1Hover, txBtnWorld1, new Vector2(130, 300));
            Button btnWorld2 = new Button(txBtnWorld2, txBtnWorld2Hover, txBtnWorld2, new Vector2(240, 300));
            Button btnWorld3 = new Button(txBtnWorld3, txBtnWorld3Hover, txBtnWorld3, new Vector2(350, 300));
            Button btnWorld4 = new Button(txBtnWorld4, txBtnWorld4Hover, txBtnWorld4, new Vector2(460, 300));
            Button btnWorld5 = new Button(txBtnWorld5, txBtnWorld5Hover, txBtnWorld5, new Vector2(570, 300));

            Button btnDelete = new Button(txBtnDelete, txBtnDeleteHover, txBtnDelete, new Vector2(240, 500));
            Button btnBack   = new Button(txBtnBack, txBtnBackHover, txBtnBack, new Vector2(460, 500));
            Button btnGO     = new Button(txBtnGO, txBtnGOHover, txBtnGO, new Vector2(350, 500));


            btnWorld1.OnPress += new EventHandler(btnWorld1_OnPress);
            btnWorld2.OnPress += new EventHandler(btnWorld2_OnPress);
            btnWorld3.OnPress += new EventHandler(btnWorld3_OnPress);
            btnWorld4.OnPress += new EventHandler(btnWorld4_OnPress);
            btnWorld5.OnPress += new EventHandler(btnWorld5_OnPress);

            btnBack.OnPress   += new EventHandler(btnBack_OnPress);
            btnDelete.OnPress += new EventHandler(btnDelete_OnPress);
            btnGO.OnPress     += new EventHandler(btnGO_OnPress);

            worldSelectButtons.Add(btnWorld1);
            worldSelectButtons.Add(btnWorld2);
            worldSelectButtons.Add(btnWorld3);
            worldSelectButtons.Add(btnWorld4);
            worldSelectButtons.Add(btnWorld5);
            worldSelectButtons.Add(btnBack);
            worldSelectButtons.Add(btnDelete);
            worldSelectButtons.Add(btnGO);
            #endregion
            #region Play Items
            // sequence of textures to play when the player is walking on the ground
            Texture2D[] txPlayer = new Texture2D[6]
            {
                Content.Load <Texture2D>("Player\\Image10000"),
                Content.Load <Texture2D>("Player\\Image10001"),
                Content.Load <Texture2D>("Player\\Image10002"),
                Content.Load <Texture2D>("Player\\Image10003"),
                Content.Load <Texture2D>("Player\\Image10004"),
                Content.Load <Texture2D>("Player\\Image10005"),
            };
            Texture2D blank      = Content.Load <Texture2D>("Terrain\\Void");          // blank texture for display if the world is null or out of boudns
            Texture2D PlayerFall = Content.Load <Texture2D>("Player\\player falling"); // playertexture when in the air

            // sequence of textures to play when the player digs a block
            List <Texture2D> digTextures = new List <Texture2D>()
            {
                Content.Load <Texture2D>("UI\\Dig1"),
                Content.Load <Texture2D>("UI\\Dig2"),
                Content.Load <Texture2D>("UI\\Dig3"),
                Content.Load <Texture2D>("UI\\Dig4"),
            };
            area = new Area(blank, digTextures); // stores the indexes and information related to movement and block modification
            // array of textures for the player's health status
            Texture2D[] healthPotion = new Texture2D[3]
            {
                Content.Load <Texture2D>("UI\\HealthPotion Empty"),
                Content.Load <Texture2D>("UI\\HealthPotion Half"),
                Content.Load <Texture2D>("UI\\HealthPotion Full")
            };
            // overlay for the crafting book
            Texture2D craftingBook = Content.Load <Texture2D>("UI\\Book");
            // overlay for the inventory
            Texture2D inventoryBackground = Content.Load <Texture2D>("UI\\Invitory Screen");


            Texture2D miniBook           = Content.Load <Texture2D>("UI\\MiniBook");                // texture of the book
            Texture2D miniBookHover      = Content.Load <Texture2D>("UI\\MiniBookHover");           // texture of the book when you over over it
            Texture2D miniInv            = Content.Load <Texture2D>("UI\\MiniInv");                 // texture for inventory when it's not on the overlay mode
            Texture2D txBtnSaveAndExit   = Content.Load <Texture2D>("UI\\BtnSaveAndExit");
            Texture2D btnCreate          = Content.Load <Texture2D>("Temp Buttons\\Create Button"); // texture of the book when you over over it
            Texture2D btnCreate2         = Content.Load <Texture2D>("Temp Buttons\\Create Button"); // texture of the book when you over over it
            Texture2D txBtnBookExit      = Content.Load <Texture2D>("Temp Buttons\\BookExit");
            Texture2D txBtnBookExitHover = Content.Load <Texture2D>("Temp Buttons\\BookExitHover");
            Texture2D btnCreateHover     = Content.Load <Texture2D>("Temp Buttons\\Create Button Hover"); // texture for inventory when it's not on the overlay mode
            Texture2D txBtnArrowLeft     = Content.Load <Texture2D>("UI\\BookArrow");
            Texture2D txBtnArrowRight    = Content.Load <Texture2D>("UI\\BookArrowRight");

            Button btnBook = new Button(miniBook, miniBookHover, miniBook, new Vector2(135, 5)); // crafting book button
            btnBookCreate  = new Button(btnCreate, btnCreateHover, btnCreate, new Vector2(45, 515));
            btnBookCreate2 = new Button(btnCreate2, btnCreateHover, btnCreate, new Vector2(470, 515));
            btnBookExit    = new Button(txBtnBookExit, txBtnBookExitHover, txBtnBookExit, new Vector2(765, 10));
            Button btnMiniInv = new Button(miniInv, miniInv, miniInv, new Vector2(0, 5)); // inventory button
            btnSaveAndExit = new Button(txBtnSaveAndExit, txBtnSaveAndExit, txBtnSaveAndExit, new Vector2(675, 550));
            btnArrowLeft   = new Button(txBtnArrowLeft, txBtnArrowLeft, txBtnArrowLeft, new Vector2(20, 275));
            btnArrowRight  = new Button(txBtnArrowRight, txBtnArrowRight, txBtnArrowRight, new Vector2(675, 275));

            btnBook.OnPress        += new EventHandler(btnBook_OnPress); // event handlers for buttons
            btnMiniInv.OnPress     += new EventHandler(btnMiniInv_OnPress);
            btnSaveAndExit.OnPress += new EventHandler(btnSaveAndExit_OnPress);
            btnBookCreate.OnPress  += new EventHandler(btnBookCreate_OnPress);  // event handlers for buttons
            btnBookCreate2.OnPress += new EventHandler(btnBookCreate2_OnPress); // event handlers for buttons
            btnBookExit.OnPress    += new EventHandler(btnBookExit_OnPress);
            btnArrowLeft.OnPress   += new EventHandler(btnArrowLeft_OnPress);
            btnArrowRight.OnPress  += new EventHandler(btnArrowRight_OnPress);
            playButtons.Add(btnBook);    // added to the list of play screen buttons
            playButtons.Add(btnMiniInv); // added to the list of play screen buttons
            //playButtons.Add(btnSaveAndExit); // not to be added to play nuttons because it has special features

            Texture2D verticalGrass   = Content.Load <Texture2D>("Terrain\\HorsGrass"); // horizontal grass
            Texture2D horizontalGrass = Content.Load <Texture2D>("Terrain\\Grass");     // vertical grass

            // add the loaded textures to the list of grass textures
            area.AddGrassVariety(verticalGrass);
            area.AddGrassVariety(horizontalGrass);

            Texture2D sky       = Content.Load <Texture2D>("Terrain\\Sky");   // blue sky
            Texture2D dirt1     = Content.Load <Texture2D>("Terrain\\Dirt1"); // dirt varieties
            Texture2D dirt2     = Content.Load <Texture2D>("Terrain\\Dirt2");
            Texture2D dirt3     = Content.Load <Texture2D>("Terrain\\Dirt3");
            Texture2D stone1    = Content.Load <Texture2D>("Terrain\\Stone1"); // stone varieties
            Texture2D stone2    = Content.Load <Texture2D>("Terrain\\Stone2");
            Texture2D stone3    = Content.Load <Texture2D>("Terrain\\Stone3");
            Texture2D CopperOre = Content.Load <Texture2D>("Terrain\\CopperOre"); // copper ore
            Texture2D IronOre   = Content.Load <Texture2D>("Terrain\\IronOre");   // iron ore
            Texture2D SilverOre = Content.Load <Texture2D>("Terrain\\SilverOre"); // silver ore
            Texture2D GoldOre   = Content.Load <Texture2D>("Terrain\\GoldOre");   // gold ore
            Texture2D Trunk     = Content.Load <Texture2D>("Terrain\\Trunk");     // tree trunk wood
            Texture2D Leaves    = Content.Load <Texture2D>("Terrain\\Leaves");    // leaves
            // add loaded textures to the list saved in area
            area.AddTexture(sky);                                                 // 0
            area.AddTexture(dirt1);                                               // 1
            area.AddTexture(dirt2);                                               // 2
            area.AddTexture(dirt3);                                               // 3
            area.AddTexture(stone1);                                              // 4
            area.AddTexture(stone2);                                              // 5
            area.AddTexture(stone3);                                              // 6
            area.AddTexture(CopperOre);                                           // 7
            area.AddTexture(IronOre);                                             // 8
            area.AddTexture(SilverOre);                                           //9
            area.AddTexture(GoldOre);                                             //10
            area.AddTexture(Trunk);                                               //11
            area.AddTexture(Leaves);                                              //12

            Texture2D CaveBackGround = Content.Load <Texture2D>("Terrain\\CaveBackground");
            area.AddBackground(sky);            // 0
            area.AddBackground(CaveBackGround); // 1

            // player equipment
            List <Texture2D> equipment = new List <Texture2D>()
            {
                Content.Load <Texture2D>("Equipment\\Copper Pickaxe"), // 0
                Content.Load <Texture2D>("Equipment\\Copper Axe"),     // 1
                Content.Load <Texture2D>("Equipment\\Iron Pickaxe"),   // 2
                Content.Load <Texture2D>("Equipment\\Iron Axe"),       // 3
                Content.Load <Texture2D>("Equipment\\Steel Pickaxe"),  // 4
                Content.Load <Texture2D>("Equipment\\Steel Axe"),      // 5
                Content.Load <Texture2D>("Equipment\\Silver Pickaxe"), // 6
                Content.Load <Texture2D>("Equipment\\Silver Axe"),     // 7
                Content.Load <Texture2D>("Equipment\\Gold Pickaxe"),   // 8
                Content.Load <Texture2D>("Equipment\\Gold Axe"),       // 9
            };
            // stores the information used to display and utilize the user interface when playing
            ui     = new UI(healthPotion, inventoryBackground, equipment);
            player = new Player(txPlayer, PlayerFall, equipment);

            List <Texture2D> items = new List <Texture2D>();

            items.Add(Content.Load <Texture2D>("UI\\Items\\BTDirt"));   // 0 not used
            items.Add(Content.Load <Texture2D>("UI\\Items\\BTDirt"));   // 1
            items.Add(Content.Load <Texture2D>("UI\\Items\\BTDirt"));   // 2 not used
            items.Add(Content.Load <Texture2D>("UI\\Items\\BTDirt"));   // 3 not used
            items.Add(Content.Load <Texture2D>("UI\\Items\\BTStone"));  // 4
            items.Add(Content.Load <Texture2D>("UI\\Items\\BTStone"));  // 5 not used
            items.Add(Content.Load <Texture2D>("UI\\Items\\BTStone"));  // 6 not used
            items.Add(Content.Load <Texture2D>("UI\\Items\\BTCopper")); // 7
            items.Add(Content.Load <Texture2D>("UI\\Items\\BTIron"));   // 8
            items.Add(Content.Load <Texture2D>("UI\\Items\\BTSilver")); // 9
            items.Add(Content.Load <Texture2D>("UI\\Items\\BTGold"));   // 10
            items.Add(Content.Load <Texture2D>("UI\\Items\\BTWood"));   // 11
            items.Add(Content.Load <Texture2D>("UI\\Items\\BTSteel"));  // 12

            List <Texture2D> itemsGray = new List <Texture2D>();

            items.Add(Content.Load <Texture2D>("UI\\Items\\BTDirt"));              // 0 not used
            items.Add(Content.Load <Texture2D>("UI\\Items\\BTDirt"));              // 1
            items.Add(Content.Load <Texture2D>("UI\\Items\\BTDirt"));              // 2 not used
            items.Add(Content.Load <Texture2D>("UI\\Items\\BTDirt"));              // 3 not used
            items.Add(Content.Load <Texture2D>("UI\\Items Gray\\BTStone-Grayed")); // 4
            items.Add(Content.Load <Texture2D>("UI\\Items\\BTStone"));             // 5 not used
            items.Add(Content.Load <Texture2D>("UI\\Items\\BTStone"));             // 6 not used
            items.Add(Content.Load <Texture2D>("UI\\Items Gray\\BTCopperGray"));   // 7
            items.Add(Content.Load <Texture2D>("UI\\Items Gray\\BTIronGray"));     // 8
            items.Add(Content.Load <Texture2D>("UI\\Items Gray\\BTSilver Gray"));  // 9
            items.Add(Content.Load <Texture2D>("UI\\Items Gray\\BTGold Gray"));    // 10
            items.Add(Content.Load <Texture2D>("UI\\Items Gray\\BTSteel Gray"));   // 11

            // add items to the user interface
            ui.AddItemTextures(items);
            // add grayed items to the user interface
            ui.AddItemGrayTextures(itemsGray);
            #endregion
            // stores the world creation, saving, and loading systems
            world = new World(player, area);
            // list of selected slot textures based on which slot is selected
            List <Texture2D> miniInvSlots = new List <Texture2D>()
            {
                Content.Load <Texture2D>("MiniInvTop"),
                Content.Load <Texture2D>("MiniInvRight"),
                Content.Load <Texture2D>("MiniInvBot"),
                Content.Load <Texture2D>("MiniInvLeftt"),
            };
            // send the array to the player
            player.AddMiniInv(miniInvSlots);

            crafting = new Crafting(craftingBook, items, itemsGray, equipment);
        }
예제 #2
0
        protected override void LoadContent()
        {
            #region Global Items
            // creates a new sprite drawer
            spriteBatch = new SpriteBatch(GraphicsDevice);
            Global.font = Content.Load<SpriteFont>("UI\\Arial"); // loads font for text
            Global.bigFont = Content.Load<SpriteFont>("UI\\Arial Big");
            debug = new Debug(); // creates a new debug object
            Global.grid = Content.Load<Texture2D>("UI\\Grid"); // saves the grid texture into global
            #endregion
            #region Main Menu Items
            txCreareTitle = Content.Load<Texture2D>("UI\\CreareTitle"); // texture for the main title picutre
            // texture and hover textures for buttons used on the main menu
            Texture2D txBtnNew = Content.Load<Texture2D>("Temp Buttons\\BtnNew");
            Texture2D txBtnNewHover = Content.Load<Texture2D>("Temp Buttons\\BtnNewHover");
            Texture2D txBtnLoad = Content.Load<Texture2D>("Temp Buttons\\BtnLoad");
            Texture2D txBtnLoadHover = Content.Load<Texture2D>("Temp Buttons\\BtnLoadHover");
            Texture2D txBtnExit = Content.Load<Texture2D>("Temp Buttons\\BtnExit");
            Texture2D txBtnExitHover = Content.Load<Texture2D>("Temp Buttons\\BtnExitHover");
            // create the 3 menu buttons and position them
            Button btnNew = new Button(txBtnNew, txBtnNewHover, txBtnNew, new Vector2(350, 400));
            Button btnLoad = new Button(txBtnLoad, txBtnLoadHover, txBtnLoad, new Vector2(350, 450));
            Button btnExit = new Button(txBtnExit, txBtnExitHover, txBtnExit, new Vector2(350, 500));
            // add the button event for when it is clicked
            btnNew.OnPress += new EventHandler(btnNew_OnPress);
            btnLoad.OnPress += new EventHandler(btnLoad_OnPress);
            btnExit.OnPress += new EventHandler(btnExit_OnPress);
            // add the buttons to a list of main menu buttons
            mainMenuButtons.Add(btnNew);
            mainMenuButtons.Add(btnLoad);
            mainMenuButtons.Add(btnExit);
            #endregion
            #region World Select Items

            txDeleteAlert = Content.Load<Texture2D>("UI\\Delete");

            Texture2D txBtnWorld1 = Content.Load<Texture2D>("Temp Buttons\\BtnWorld1");
            Texture2D txBtnWorld1Hover = Content.Load<Texture2D>("Temp Buttons\\BtnWorld1Hover");
            Texture2D txBtnWorld2 = Content.Load<Texture2D>("Temp Buttons\\BtnWorld2");
            Texture2D txBtnWorld2Hover = Content.Load<Texture2D>("Temp Buttons\\BtnWorld2Hover");
            Texture2D txBtnWorld3 = Content.Load<Texture2D>("Temp Buttons\\BtnWorld3");
            Texture2D txBtnWorld3Hover = Content.Load<Texture2D>("Temp Buttons\\BtnWorld3Hover");
            Texture2D txBtnWorld4 = Content.Load<Texture2D>("Temp Buttons\\BtnWorld4");
            Texture2D txBtnWorld4Hover = Content.Load<Texture2D>("Temp Buttons\\BtnWorld4Hover");
            Texture2D txBtnWorld5 = Content.Load<Texture2D>("Temp Buttons\\BtnWorld5");
            Texture2D txBtnWorld5Hover = Content.Load<Texture2D>("Temp Buttons\\BtnWorld5Hover");

            Texture2D txBtnBack = Content.Load<Texture2D>("Temp Buttons\\BtnBack");
            Texture2D txBtnBackHover = Content.Load<Texture2D>("Temp Buttons\\BtnBackHover");
            Texture2D txBtnDelete = Content.Load<Texture2D>("Temp Buttons\\BtnDelete");
            Texture2D txBtnDeleteHover = Content.Load<Texture2D>("Temp Buttons\\BtnDeleteHover");
            Texture2D txBtnGO = Content.Load<Texture2D>("Temp Buttons\\BtnGO");
            Texture2D txBtnGOHover = Content.Load<Texture2D>("Temp Buttons\\BtnGOHover");

            Button btnWorld1 = new Button(txBtnWorld1, txBtnWorld1Hover, txBtnWorld1, new Vector2(130, 300));
            Button btnWorld2 = new Button(txBtnWorld2, txBtnWorld2Hover, txBtnWorld2, new Vector2(240, 300));
            Button btnWorld3 = new Button(txBtnWorld3, txBtnWorld3Hover, txBtnWorld3, new Vector2(350, 300));
            Button btnWorld4 = new Button(txBtnWorld4, txBtnWorld4Hover, txBtnWorld4, new Vector2(460, 300));
            Button btnWorld5 = new Button(txBtnWorld5, txBtnWorld5Hover, txBtnWorld5, new Vector2(570, 300));

            Button btnDelete = new Button(txBtnDelete, txBtnDeleteHover, txBtnDelete, new Vector2(240, 500));
            Button btnBack = new Button(txBtnBack, txBtnBackHover, txBtnBack, new Vector2(460, 500));
            Button btnGO = new Button(txBtnGO, txBtnGOHover, txBtnGO, new Vector2(350, 500));

            btnWorld1.OnPress += new EventHandler(btnWorld1_OnPress);
            btnWorld2.OnPress += new EventHandler(btnWorld2_OnPress);
            btnWorld3.OnPress += new EventHandler(btnWorld3_OnPress);
            btnWorld4.OnPress += new EventHandler(btnWorld4_OnPress);
            btnWorld5.OnPress += new EventHandler(btnWorld5_OnPress);

            btnBack.OnPress += new EventHandler(btnBack_OnPress);
            btnDelete.OnPress += new EventHandler(btnDelete_OnPress);
            btnGO.OnPress += new EventHandler(btnGO_OnPress);

            worldSelectButtons.Add(btnWorld1);
            worldSelectButtons.Add(btnWorld2);
            worldSelectButtons.Add(btnWorld3);
            worldSelectButtons.Add(btnWorld4);
            worldSelectButtons.Add(btnWorld5);
            worldSelectButtons.Add(btnBack);
            worldSelectButtons.Add(btnDelete);
            worldSelectButtons.Add(btnGO);
            #endregion
            #region Play Items
            // sequence of textures to play when the player is walking on the ground
            Texture2D[] txPlayer = new Texture2D[6]
            {
                Content.Load<Texture2D>("Player\\Image10000"),
                Content.Load<Texture2D>("Player\\Image10001"),
                Content.Load<Texture2D>("Player\\Image10002"),
                Content.Load<Texture2D>("Player\\Image10003"),
                Content.Load<Texture2D>("Player\\Image10004"),
                Content.Load<Texture2D>("Player\\Image10005"),
            };
            Texture2D blank = Content.Load<Texture2D>("Terrain\\Void"); // blank texture for display if the world is null or out of boudns
            Texture2D PlayerFall = Content.Load<Texture2D>("Player\\player falling"); // playertexture when in the air

            // sequence of textures to play when the player digs a block
            List<Texture2D> digTextures = new List<Texture2D>()
            {
                Content.Load<Texture2D>("UI\\Dig1"),
                Content.Load<Texture2D>("UI\\Dig2"),
                Content.Load<Texture2D>("UI\\Dig3"),
                Content.Load<Texture2D>("UI\\Dig4"),
            };
            area = new Area(blank, digTextures); // stores the indexes and information related to movement and block modification
            // array of textures for the player's health status
            Texture2D[] healthPotion = new Texture2D[3]
            {
                Content.Load<Texture2D>("UI\\HealthPotion Empty"),
                Content.Load<Texture2D>("UI\\HealthPotion Half"),
                Content.Load<Texture2D>("UI\\HealthPotion Full")
            };
            // overlay for the crafting book
            Texture2D craftingBook = Content.Load<Texture2D>("UI\\Book");
            // overlay for the inventory
            Texture2D inventoryBackground = Content.Load<Texture2D>("UI\\Invitory Screen");

            Texture2D miniBook = Content.Load<Texture2D>("UI\\MiniBook"); // texture of the book
            Texture2D miniBookHover = Content.Load<Texture2D>("UI\\MiniBookHover"); // texture of the book when you over over it
            Texture2D miniInv = Content.Load<Texture2D>("UI\\MiniInv"); // texture for inventory when it's not on the overlay mode
            Texture2D txBtnSaveAndExit = Content.Load<Texture2D>("UI\\BtnSaveAndExit");
            Texture2D btnCreate = Content.Load<Texture2D>("Temp Buttons\\Create Button"); // texture of the book when you over over it
            Texture2D btnCreate2 = Content.Load<Texture2D>("Temp Buttons\\Create Button"); // texture of the book when you over over it
            Texture2D txBtnBookExit = Content.Load<Texture2D>("Temp Buttons\\BookExit");
            Texture2D txBtnBookExitHover = Content.Load<Texture2D>("Temp Buttons\\BookExitHover");
            Texture2D btnCreateHover = Content.Load<Texture2D>("Temp Buttons\\Create Button Hover"); // texture for inventory when it's not on the overlay mode
            Texture2D txBtnArrowLeft = Content.Load<Texture2D>("UI\\BookArrow");
            Texture2D txBtnArrowRight = Content.Load<Texture2D>("UI\\BookArrowRight");

            Button btnBook = new Button(miniBook, miniBookHover, miniBook, new Vector2(135, 5)); // crafting book button
            btnBookCreate = new Button(btnCreate,btnCreateHover,btnCreate, new Vector2(45,515));
            btnBookCreate2 = new Button(btnCreate2, btnCreateHover, btnCreate, new Vector2(470, 515));
            btnBookExit = new Button(txBtnBookExit, txBtnBookExitHover, txBtnBookExit, new Vector2(765, 10));
            Button btnMiniInv = new Button(miniInv, miniInv, miniInv, new Vector2(0, 5)); // inventory button
            btnSaveAndExit = new Button(txBtnSaveAndExit, txBtnSaveAndExit, txBtnSaveAndExit, new Vector2(675, 550));
            btnArrowLeft = new Button(txBtnArrowLeft,txBtnArrowLeft,txBtnArrowLeft,new Vector2(20,275));
            btnArrowRight = new Button(txBtnArrowRight,txBtnArrowRight,txBtnArrowRight,new Vector2(675,275));

            btnBook.OnPress += new EventHandler(btnBook_OnPress); // event handlers for buttons
            btnMiniInv.OnPress += new EventHandler(btnMiniInv_OnPress);
            btnSaveAndExit.OnPress +=new EventHandler(btnSaveAndExit_OnPress);
            btnBookCreate.OnPress += new EventHandler(btnBookCreate_OnPress); // event handlers for buttons
            btnBookCreate2.OnPress += new EventHandler(btnBookCreate2_OnPress); // event handlers for buttons
            btnBookExit.OnPress += new EventHandler(btnBookExit_OnPress);
            btnArrowLeft.OnPress +=new EventHandler(btnArrowLeft_OnPress);
            btnArrowRight.OnPress +=new EventHandler(btnArrowRight_OnPress);
            playButtons.Add(btnBook); // added to the list of play screen buttons
            playButtons.Add(btnMiniInv); // added to the list of play screen buttons
            //playButtons.Add(btnSaveAndExit); // not to be added to play nuttons because it has special features

            Texture2D verticalGrass = Content.Load<Texture2D>("Terrain\\HorsGrass"); // horizontal grass
            Texture2D horizontalGrass = Content.Load<Texture2D>("Terrain\\Grass"); // vertical grass

            // add the loaded textures to the list of grass textures
            area.AddGrassVariety(verticalGrass);
            area.AddGrassVariety(horizontalGrass);

            Texture2D sky = Content.Load<Texture2D>("Terrain\\Sky"); // blue sky
            Texture2D dirt1 = Content.Load<Texture2D>("Terrain\\Dirt1"); // dirt varieties
            Texture2D dirt2 = Content.Load<Texture2D>("Terrain\\Dirt2");
            Texture2D dirt3 = Content.Load<Texture2D>("Terrain\\Dirt3");
            Texture2D stone1 = Content.Load<Texture2D>("Terrain\\Stone1"); // stone varieties
            Texture2D stone2 = Content.Load<Texture2D>("Terrain\\Stone2");
            Texture2D stone3 = Content.Load<Texture2D>("Terrain\\Stone3");
            Texture2D CopperOre = Content.Load<Texture2D>("Terrain\\CopperOre"); // copper ore
            Texture2D IronOre = Content.Load<Texture2D>("Terrain\\IronOre"); // iron ore
            Texture2D SilverOre = Content.Load<Texture2D>("Terrain\\SilverOre"); // silver ore
            Texture2D GoldOre = Content.Load<Texture2D>("Terrain\\GoldOre"); // gold ore
            Texture2D Trunk = Content.Load<Texture2D>("Terrain\\Trunk"); // tree trunk wood
            Texture2D Leaves = Content.Load<Texture2D>("Terrain\\Leaves"); // leaves
            // add loaded textures to the list saved in area
            area.AddTexture(sky); // 0
            area.AddTexture(dirt1); // 1
            area.AddTexture(dirt2); // 2
            area.AddTexture(dirt3); // 3
            area.AddTexture(stone1); // 4
            area.AddTexture(stone2); // 5
            area.AddTexture(stone3); // 6
            area.AddTexture(CopperOre); // 7
            area.AddTexture(IronOre); // 8
            area.AddTexture(SilverOre); //9
            area.AddTexture(GoldOre); //10
            area.AddTexture(Trunk); //11
            area.AddTexture(Leaves); //12

            Texture2D CaveBackGround = Content.Load<Texture2D>("Terrain\\CaveBackground");
            area.AddBackground(sky); // 0
            area.AddBackground(CaveBackGround); // 1

            // player equipment
            List<Texture2D> equipment = new List<Texture2D>()
            {
                Content.Load<Texture2D>("Equipment\\Copper Pickaxe"), // 0
                Content.Load<Texture2D>("Equipment\\Copper Axe"), // 1
                Content.Load<Texture2D>("Equipment\\Iron Pickaxe"), // 2
                Content.Load<Texture2D>("Equipment\\Iron Axe"), // 3
                Content.Load<Texture2D>("Equipment\\Steel Pickaxe"), // 4
                Content.Load<Texture2D>("Equipment\\Steel Axe"), // 5
                Content.Load<Texture2D>("Equipment\\Silver Pickaxe"), // 6
                Content.Load<Texture2D>("Equipment\\Silver Axe"), // 7
                Content.Load<Texture2D>("Equipment\\Gold Pickaxe"), // 8
                Content.Load<Texture2D>("Equipment\\Gold Axe"), // 9
            };
            // stores the information used to display and utilize the user interface when playing
            ui = new UI(healthPotion, inventoryBackground, equipment);
            player = new Player(txPlayer, PlayerFall, equipment);

            List<Texture2D> items = new List<Texture2D>();

            items.Add(Content.Load<Texture2D>("UI\\Items\\BTDirt")); // 0 not used
            items.Add(Content.Load<Texture2D>("UI\\Items\\BTDirt")); // 1
            items.Add(Content.Load<Texture2D>("UI\\Items\\BTDirt")); // 2 not used
            items.Add(Content.Load<Texture2D>("UI\\Items\\BTDirt")); // 3 not used
            items.Add(Content.Load<Texture2D>("UI\\Items\\BTStone")); // 4
            items.Add(Content.Load<Texture2D>("UI\\Items\\BTStone")); // 5 not used
            items.Add(Content.Load<Texture2D>("UI\\Items\\BTStone")); // 6 not used
            items.Add(Content.Load<Texture2D>("UI\\Items\\BTCopper")); // 7
            items.Add(Content.Load<Texture2D>("UI\\Items\\BTIron")); // 8
            items.Add(Content.Load<Texture2D>("UI\\Items\\BTSilver")); // 9
            items.Add(Content.Load<Texture2D>("UI\\Items\\BTGold")); // 10
            items.Add(Content.Load<Texture2D>("UI\\Items\\BTWood")); // 11
            items.Add(Content.Load<Texture2D>("UI\\Items\\BTSteel")); // 12

            List<Texture2D> itemsGray = new List<Texture2D>();

            items.Add(Content.Load<Texture2D>("UI\\Items\\BTDirt")); // 0 not used
            items.Add(Content.Load<Texture2D>("UI\\Items\\BTDirt")); // 1
            items.Add(Content.Load<Texture2D>("UI\\Items\\BTDirt")); // 2 not used
            items.Add(Content.Load<Texture2D>("UI\\Items\\BTDirt")); // 3 not used
            items.Add(Content.Load<Texture2D>("UI\\Items Gray\\BTStone-Grayed")); // 4
            items.Add(Content.Load<Texture2D>("UI\\Items\\BTStone")); // 5 not used
            items.Add(Content.Load<Texture2D>("UI\\Items\\BTStone")); // 6 not used
            items.Add(Content.Load<Texture2D>("UI\\Items Gray\\BTCopperGray")); // 7
            items.Add(Content.Load<Texture2D>("UI\\Items Gray\\BTIronGray")); // 8
            items.Add(Content.Load<Texture2D>("UI\\Items Gray\\BTSilver Gray")); // 9
            items.Add(Content.Load<Texture2D>("UI\\Items Gray\\BTGold Gray")); // 10
            items.Add(Content.Load<Texture2D>("UI\\Items Gray\\BTSteel Gray")); // 11

            // add items to the user interface
            ui.AddItemTextures(items);
            // add grayed items to the user interface
            ui.AddItemGrayTextures(itemsGray);
            #endregion
            // stores the world creation, saving, and loading systems
            world = new World(player, area);
            // list of selected slot textures based on which slot is selected
            List<Texture2D> miniInvSlots = new List<Texture2D>()
            {
                Content.Load<Texture2D>("MiniInvTop"),
                Content.Load<Texture2D>("MiniInvRight"),
                Content.Load<Texture2D>("MiniInvBot"),
                Content.Load<Texture2D>("MiniInvLeftt"),
            };
            // send the array to the player
            player.AddMiniInv(miniInvSlots);

            crafting = new Crafting(craftingBook, items, itemsGray, equipment);
        }