Exemple #1
0
        protected override void LoadContent()
        {
            startButton = Content.Load<Texture2D>(@"start");
            exitButton = Content.Load<Texture2D>(@"exit");

            width = GraphicsDevice.PresentationParameters.Bounds.Width;
            height = GraphicsDevice.PresentationParameters.Bounds.Height;
            screenWidth = GraphicsAdapter.DefaultAdapter.CurrentDisplayMode.Height;
            screenHeight = GraphicsAdapter.DefaultAdapter.CurrentDisplayMode.Width;
            // Create a new SpriteBatch, which can be used to draw textures.
            spriteBatch = new SpriteBatch(GraphicsDevice);

            //Associate names in the dictionary with the graphics
            for (int x = 0; x < Textures.graphicNames.Length; x++)
            {
                Textures.textures.Add(Textures.graphicNames[x], Content.Load<Texture2D>(Textures.graphicNames[x]));
            }

            for (int x = 0; x < Textures.tileNames.Length; x++)
            {
                Textures.textures.Add(Textures.tileNames[x], Content.Load<Texture2D>("Tile/" + Textures.tileNames[x]));
            }
            screenDisplayed = Textures.textures["titleScreen3"];
            for (int x = 0; x < Textures.spritefonts.Length; x++)
            {
                Textures.fonts.Add(Textures.spritefonts[x], Content.Load<SpriteFont>(Textures.spritefonts[x]));
            }

            for (int x = 0; x < Textures.soundsNames.Length; x++)
            {
                Textures.sounds.Add(Textures.soundsNames[x], Content.Load<SoundEffect>(Textures.soundsNames[x]).CreateInstance());
            }

            levels.Add(tutorialLevel = new TutorialLevel());
            levels.Add(hubLevel = new HubLevel());
            levels.Add(houseLevel = new HouseLevel());
            levels.Add(schoolLevel = new SchoolLevel());
            levels.Add(gateLevel = new GateLevel());
            levels.Add(gate1Level = new Gate1Level());
            levels.Add(gate2Level = new Gate2Level());
            levels.Add(complex1Level = new Complex1());
            levels.Add(ghostTestLevel = new GhostTestLevel());
            levels.Add(laserTestLevel = new LaserTestLevel());
            levels.Add(laserIntroLevel = new LaserIntro());
            levels.Add(marshEnterLevel = new MarshEnterLevel());
            levels.Add(marsh1Level = new Marsh1Level());
            levels.Add(marsh2Level = new Marsh2Level());
            levels.Add(marshFinalLevel = new MarshFinalLevel());

            //normal is hubLevel, change only to test
            currentLevel = hubLevel;

            stringToLevel.Add("hubLevel", hubLevel);
            stringToLevel.Add("houseLevel", houseLevel);
            stringToLevel.Add("schoolLevel", schoolLevel);
            stringToLevel.Add("gateLevel", gateLevel);
            stringToLevel.Add("gate1Level", gate1Level);
            stringToLevel.Add("gate2Level", gate2Level);
            stringToLevel.Add("complex1Level", complex1Level);
            stringToLevel.Add("ghostTestLevel", ghostTestLevel);
            stringToLevel.Add("laserTestLevel", laserTestLevel);
            stringToLevel.Add("laserIntroLevel", laserIntroLevel);
            stringToLevel.Add("marshEnterLevel", marshEnterLevel);
            stringToLevel.Add("marsh1Level", marsh1Level);
            stringToLevel.Add("marsh2Level", marsh2Level);
            stringToLevel.Add("marshFinalLevel", marshFinalLevel);
            stringToLevel.Add("tutorialLevel", tutorialLevel);

            levelToString.Add(hubLevel, "hubLevel");
            levelToString.Add(houseLevel, "houseLevel");
            levelToString.Add(schoolLevel, "schoolLevel");
            levelToString.Add(gateLevel, "gateLevel");
            levelToString.Add(gate1Level, "gate1Level");
            levelToString.Add(gate2Level, "gate2Level");
            levelToString.Add(complex1Level, "complex1Level");
            levelToString.Add(ghostTestLevel, "ghostTestLevel");
            levelToString.Add(laserTestLevel, "laserTestLevel");
            levelToString.Add(laserIntroLevel, "laserIntroLevel");
            levelToString.Add(marshEnterLevel, "marshEnterLevel");
            levelToString.Add(marsh1Level, "marsh1Level");
            levelToString.Add(marsh2Level, "marsh2Level");
            levelToString.Add(marshFinalLevel, "marshFinalLevel");
            levelToString.Add(tutorialLevel, "tutorialLevel");
            //normal is hubLevel, change only to test
            // currentLevel = marshFinalLevel;
            currentLevel = hubLevel;
            inventory = new Inventory(this);
            //13 x 25 for hub level start
            //beep = Content.Load<SoundEffect>("beep").CreateInstance();
            //player = new Player(5 * 32, 32 * 5, inventory, this);
            //hub start
            player = new Player(13 * 32, 25 * 32, inventory, this);

            playerGhost = new PlayerGhost(0, 0);

            roseExpositionScreen = new RoseExpositionScreen(this);
            openingExpositionScreen = new OpeningExpositionScreen(this);
            knifeExpositionScreen = new KnifeExpositionScreen(this);
            diaryExpositionScreen = new DiaryExpositionScreen(this);
            platformScreen = new PlatformScreen(this);
            shiftLockScreen = new ShiftLockScreen(this);
            inventoryScreen = new InventoryScreen(this);
            startScreen = new StartScreen(this);
            aboutScreen = new AboutScreen(this);
            danceScreen = new DanceScreen(this, player);
            pauseScreen = new PauseScreen(this);
            deadScreen = new DeadScreen(this);
            //player = new Player(15*32, 2*32, inventory, this);
            //player = new Player(30 * 32, 9 * 32, inventory, this);
            cam = new Camera(player, width, height);
            creatures.Add(player);
            cam.update();

            //song = Content.Load<Song>("banditKing2");

            //SoundEffect banditKing_s = Content.Load<SoundEffect>("banditKing2");
            //banditKing = banditKing_s.CreateInstance();

            zone1good = Content.Load<SoundEffect>("zone4good").CreateInstance();
            zone1bad = Content.Load<SoundEffect>("zone4bad").CreateInstance();

            //banditKing.Pitch = -1;

            //song2 = Content.Load<Song>("climbing_up_the_walls");

            currentLevel.loadLevel();
            //add level transfer tiles from current level to the array list of tiles
            tiles.AddRange(currentLevel.getLevelTiles());
            levelTiles.AddRange(currentLevel.getLevelTiles());
            cam.setBounds(currentLevel.getMapSizeX(), currentLevel.getMapSizeY());

            //MediaPlayer.Play(song);
            //banditKing.Play();

            gameState = "start";
            //Check whether there is a continue point
            continueButtonActive = saveFileExists();
            //MediaPlayer.IsRepeating = true;
            zone1good.Volume = .7f;
            zone1bad.Volume = 0;

            backUpInventory = inventory.getItemsCopy();
            backUpItems = (ArrayList)(currentLevel.getLevelItems()).Clone();
            backUpPlatformFilled = new bool[2];
            if (currentLevel.Equals(hubLevel))
                loadBackupPlatforms();
        }
Exemple #2
0
        public void buttonCommand(string command)
        {
            if (command.Equals("play"))
            {
                //make sure level is back to start
                currentLevel = hubLevel;
                currentLevelString = "hubLevel";
                inventory.clearInventory();
                setLevel(hubLevelTile);
                reloadLevel();
                setState("start", "");
                titleScreenPhase = 1;
                screenDisplayed = Textures.textures["controls1"];
            }
            if (command.Equals("help"))
            {
                setState("start", "");
                titleScreenPhase = 1;
                screenDisplayed = Textures.textures["controls1"];
            }
            if (command.Equals("continue"))
            {
                //Do a try catch block to return to start screen if it fails
                if (continueButtonPressable())
                {
                    if(inventory!= null)
                    inventory.clearInventory();
                    if (currentLevel!=null)
                    currentLevel.reloadLevelItems();
                    continueGame();
                }

            }
            if (command.Equals("exit"))
            {
                Exit();
            }
            if (command.Equals("reload"))
            {
                reloadLevel();
                gameState = "play";
            }
            if (command.Equals("startscreen"))
            {
                refreshAllItems();
                //reloadLevel();
                gameState = "start";
                titleScreenPhase = 0;
                screenDisplayed = Textures.textures["titleScreen3"];
                continueButtonActive = saveFileExists();
            }
        }
Exemple #3
0
        public void setLevel(LevelTile level)
        {
            player.setLocked(false);
            backUpInventory = inventory.getItemsCopy();

            lastEnteredLevelTile = level;
            Console.WriteLine(level.getLevel());
            currentLevelString = level.getLevel();
            //Eventually turn level strings into global constants
            if (currentLevel != null)
            {
                currentLevel.unloadLevel();
            }

            if (currentLevelString.Equals("hubLevel"))
            {
                currentLevel = hubLevel;
            }
            else if (currentLevelString.Equals("houseLevel"))
            {
                currentLevel = houseLevel;
            }
            else if (currentLevelString.Equals("schoolLevel"))
            {
                currentLevel = schoolLevel;
            }
            else if (currentLevelString.Equals("gate1Level"))
            {
                currentLevel = gate1Level;
            }
            else if (currentLevelString.Equals("gate2Level"))
            {
                currentLevel = gate2Level;
            }
            else if (currentLevelString.Equals("complex1Level"))
            {
                currentLevel = complex1Level;
            }
            else if (currentLevelString.Equals("ghostTestLevel"))
            {
                currentLevel = ghostTestLevel;
            }
            else if (currentLevelString.Equals("laserTestLevel"))
            {
                currentLevel = laserTestLevel;
            }
            else if (currentLevelString.Equals("laserIntroLevel"))
            {
                currentLevel = laserIntroLevel;
            }
            else if (currentLevelString.Equals("marshEnterLevel"))
            {
                currentLevel = marshEnterLevel;
            }
            else if (currentLevelString.Equals("marsh1Level"))
            {
                currentLevel = marsh1Level;
            }
            else if (currentLevelString.Equals("marsh2Level"))
            {
                currentLevel = marsh2Level;
            }
            else if (currentLevelString.Equals("marshFinalLevel"))
            {
                currentLevel = marshFinalLevel;
            }
            creatures.Add(player);
            currentLevel.loadLevel();

            backUpItems = (ArrayList)(currentLevel.getLevelItems()).Clone();

            currentLevel.setPlayerStart(level.getPlayerStart());
            //add level transfer tiles from current level to the array list of tiles
            levelTiles.Clear();
            tiles.AddRange(currentLevel.getLevelTiles());
            levelTiles.AddRange(currentLevel.getLevelTiles());
            player.setX(currentLevel.getPlayerStartingX());
            player.setY(currentLevel.getPlayerStartingY());
            //set flag for dirt particles
            if (!currentLevel.getIndoors())
            {
                player.setTracks(true);
            }
            else
            {
                player.setTracks(false);
            }

            cam.setBounds(currentLevel.getMapSizeX(), currentLevel.getMapSizeY());
            cam.changeRoom();
            cam.update();
            if (level.getLevel().Equals("hubLevel"))
                loadBackupPlatforms();
            saveGame(level);
            syncStates();
        }