Ejemplo n.º 1
0
        public override void Update(GameTime gameTime)
        {
            switch (gameState)
            {
                case GameState.Playing:
                    PlayGame(gameTime);
                    break;
                case GameState.Paused:
                    SpoolBehaviour(gameTime);
                    break;
            }

            KeyboardState keyboardState = Keyboard.GetState();

            #if DEBUG
            //Load a debug level
            if (keyboardState.IsKeyDown(Keys.F))
            {
                level = levelBuilder.BuildLevel(Game.Content, @"Content\Levels\Level1.xml");
            }
            #endif
            if (keyboardState.IsKeyDown(Keys.F6))
            {
                levelBuilder.SaveLevel(@"C:\", this.level);
            }

            #if DEBUG
            //Do we want to show the debug timestamps?
            if(keyboardState.IsKeyUp(Keys.F4))
            {
                IsDebugModeKeyDown = false;
            }

            if(keyboardState.IsKeyDown(Keys.F4) && IsDebugModeKeyDown ==false)
            {
                this.drawTimeStamps = (drawTimeStamps == false) ? true : false;
                IsDebugModeKeyDown = true;
            }
            #endif

            if (keyboardState.IsKeyDown(Keys.Space) && Spacepressed == false)
            {
                if (this.gameState == GameState.Playing)
                {
                    gameState = GameState.Paused;
                    OnPauseEvent(this, new PausEventArgs(gameTime.TotalGameTime.TotalMilliseconds));
                }
                else
                {
                    gameState = GameState.Playing;
                    OnResumeEvent(this, new PausEventArgs(gameTime.TotalGameTime.TotalMilliseconds));
                }

                Spacepressed = true;
            }
            else if (keyboardState.IsKeyUp(Keys.Space))
            {
                Spacepressed = false;
            }

            if (buffer >= 100)
            {
                if (keyboardState.IsKeyDown(Keys.Enter))
                {
                    SwapMe = true;
                    buffer = 0;
                }
            }

            buffer += gameTime.ElapsedGameTime.Milliseconds;

            if(keyboardState.IsKeyDown(Keys.Up))
            {
                camera.Zoom -= 0.1f;
            }
            if(keyboardState.IsKeyDown(Keys.Down))
            {
                camera.Zoom += 0.1f;
            }

            camera.Update();
            base.Update(gameTime);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Starts loading a level from an xml into the level object
        /// </summary>
        /// <param name="path">the path to the xml</param>
        private void LoadFromFile(string path)
        {
            //Load from an XML file
            XmlDocument document = new XmlDocument();
            level = new Level();

            //Load the xml information into the current document
            document.Load(@path);

            XmlElement root = document.DocumentElement;

            ReadNodes(root);
        }
Ejemplo n.º 3
0
        public override void LoadContent()
        {
            level = levelBuilder.BuildLevel(Game.Content, @"Content\Levels\Level1.xml");
            gameStateManager.Level = level;

            font = Game.Content.Load<SpriteFont>(@"Fonts\TimeStampfont");

            Player = (Player)gameStateManager.CreateMovableObject("player", @"Graphics\shortMario", level.SpawnPosition, 1, 10, 10);

            //greenTurtle = (GreenTurtle)gameStateManager.CreateMovableObject("greenturtle", @"Graphics\defaultEnemy", level.SpawnPosition, 3, 3, new Point(0, 500));

            timeStampTexture = Game.Content.Load<Texture2D>(@"Graphics\TimeStamp");

            camera = new Camera();
            camera = new Camera(0.5f, Vector2.Zero, 0.0f, true);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Saves the level, given as a parameter, to a xml file
        /// </summary>
        /// <param name="pathToLevel">The path where the level needs to be saved to</param>
        /// <param name="level">the level that needs to be saved</param>
        public void SaveLevel(string pathToLevel, Level level)
        {
            //Read from an XML file
            this.level = level;
            XmlDocument document = new XmlDocument();

            //Create a new document
            document.CreateXmlDeclaration("1.0", "utf-8", "yes");

            //Create the root element
            XmlElement root = document.CreateElement("Level");

            //Save SpawnPosition
            XmlNode spawnPosition = WriteVector2(document, "SpawnPosition", level.SpawnPosition);
            root.AppendChild(spawnPosition);

            //Set LevelDefinitions
            XmlNode levelDefinition = WriteLevelDefinition(document);

            root.AppendChild(levelDefinition);

            root.AppendChild(WriteBackground(level.background, document));

            //Go through the level and save its elements to the root
            WriteNodes(root, document);

            //Add the root to the document
            document.AppendChild(root);

            //Save the document
            document.Save(@pathToLevel + "\\" + level.Name +".xml");
        }