protected override void Update(GameTime gameTime) { Time.Update(gameTime); if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed || Keyboard.GetState().IsKeyDown(Keys.Escape)) { Exit(); } double deltaTime = gameTime.ElapsedGameTime.TotalSeconds; // No game inputs taken during transitions if (!isTransitionning) { inputs.Update(deltaTime); bottomMenu.Update(); if (currentHighScore > 0) { score.SetText(string.Format(PROGRESSION, Score.Total, currentHighScore)); } else { score.SetText(Score.Total); } if (isInLevelEditMode) { editor.Update(); } } else { delayToNextLevel -= deltaTime; if (delayToNextLevel <= 0) { EndTransition(); } } base.Update(gameTime); }
public void SetText(string newText) { if (Font != null) { Text = newText; if (_textSprite == null) { _textSprite = new TextSprite(newText, Font, new Rectangle(0, 0, 1000, 1000)); } _textSprite.SetBounds(new Rectangle( _textSprite.Bounds.X, _textSprite.Bounds.Y, 1000, 1000)); _textSprite.SetText(newText); _textSprite.SetBoundsToText(); SetBounds(_textSprite.Bounds); } }
private TextSprite GetSprite(StringBuilder text, bool cached, GraphicsDevice device) { int frameNumber = device.CurrentSpriteFrameNumber; // Find the TextSprite instance that goes with this StringBuilder for (int i = 0; i < sprites.Count; i++) { if (ReferenceEquals(sprites[i].key, text) && sprites[i].cached == cached && sprites[i].foundOnFrame != frameNumber) { return(UpdateStringBuilderInstance(text, frameNumber, i)); } } // No match found, create one: string renderedText = text.ToString(); TextSprite sprite = CreateSprite(text, renderedText, frameNumber, cached, device); sprite.SetText(renderedText); return(sprite); }
void LoadLevel() { int levelId = SaveGame.GetLevelId(currentLevel); playingLevel = loader.Load(levelId); instruction.SetText(playingLevel.Instruction); if (isInLevelEditMode) { playingLevel.OnDone += LoadLevel; } else { playingLevel.OnDone += ProgressToNextLevel; } player.Reset(); player.MoveTo(playingLevel.StartingPlayerPosition); player.CurrentLevel = playingLevel; editor.Target = playingLevel; editor.LevelId = levelId; progression.SetText(string.Format(PROGRESSION, currentLevel + 1, LevelLoader.LevelCount)); currentHighScore = SaveGame.GetScore(currentLevel); }
private TextSprite GetSprite(string text, bool cached, GraphicsDevice device) { int frameNumber = device.CurrentSpriteFrameNumber; // Strings are immutable, if an instance is matched: use it directly for (int i = 0; i < sprites.Count; i++) { if (ReferenceEquals(sprites[i].key, text) && sprites[i].cached == cached && sprites[i].foundOnFrame != frameNumber) { TextSpriteInstance instance = sprites[i]; instance.foundOnFrame = frameNumber; sprites[i] = instance; return(instance.value); } } // No match found, create one: TextSprite sprite = CreateSprite(text, null, frameNumber, cached, device); sprite.SetText(text); return(sprite); }