/// <summary> /// LoadContent will be called once per game and is the place to load /// all of your content. /// </summary> protected override void LoadContent() { // Create a new SpriteBatch, which can be used to draw textures. spriteBatch = new SpriteBatch(GraphicsDevice); // TODO: use this.Content to load your game content here // Don't forget to initialize your sprite font! DialogFont = Content.Load<SpriteFont>("dialog"); // Build a new dialog box and give it some text _dialogBox = new DialogBox { Text = "Hello World! Press Enter or Button A to proceed.\n" + "I will be on the next pane! " + "And wordwrap will occur, especially if there are some longer words!\n" + "Monospace fonts work best but you might not want Courier New.\n" + "In this code sample, after this dialog box finishes, you can press the O key to open a new one." }; // Initialize the dialog box (this also calls the Show() method) _dialogBox.Initialize(); }
/// <summary> /// Allows the game to run logic such as updating the world, /// checking for collisions, gathering input, and playing audio. /// </summary> /// <param name="gameTime">Provides a snapshot of timing values.</param> protected override void Update(GameTime gameTime) { if (GamePadState.Buttons.Back == ButtonState.Pressed || KeyState.IsKeyDown(Keys.Escape)) Exit(); // TODO: Add your update logic here // NOTE: You may want to disable player movement and other standard actions while the dialog box is displayed // or maybe not if you want it to just show up as the player is going along // Update the dialog box (essentially, process key/button input) _dialogBox.Update(); // Debug key to show opening a new dialog box on demand if (Program.Game.KeyState.IsKeyDown(Keys.O)) { if (!_dialogBox.Active) { _dialogBox = new DialogBox {Text = "New dialog box!"}; _dialogBox.Initialize(); } } // Update input states PreviousKeyState = KeyState; KeyState = Keyboard.GetState(); GamePadState = GamePad.GetState(PlayerIndex.One); base.Update(gameTime); }