private void UpdateWords(GameTime gameTime) { if ((gridRenderer.grid.validWords.Count > 0)&& (wordUpdateTrigger > new TimeSpan(0,0,0,0,500))) { if (Shorewood.gameplayTimer.IsStarted) { Shorewood.gameplayTimer.Stop(); } WordBuilder wordCheck = gridRenderer.grid.validWords.Dequeue();//gridRenderer.grid.validWords[gridRenderer.grid.validWords.Count - 1]; levelManager.CheckIfWordMeetsGoal(wordCheck, true); WordBuilder word = wordCheck; word = gridRenderer.grid.ScoreValidWord(word); Shorewood.foundWordAnimator.Add(word, TimeSpan.Zero); garbageLetters.AddRange(word.letters); Shorewood.goalRenderer.ForceUpdateOnce(); gridRenderer.StartRipple(Vector2.Zero, Vector2.Zero, (float)gameTime.TotalGameTime.TotalMilliseconds, 250); wordUpdateTrigger = new TimeSpan(); } else if (gridRenderer.grid.validWords.Count == 0) { gameplayState = NormalGameplayState.NoMoreWords; } }
protected virtual void ChangeCurrentLetterToRandom(GameTime now) { Letter letter = new Letter(); letter = nextLetter; letter.gridPosition.X = (float)Math.Round(gridRenderer.grid.width / 2); letter.gridPosition.Y = 0; gridRenderer.grid.PositionLetter((int)letter.gridPosition.X, (int)letter.gridPosition.Y, letter); currentLetter = letter; gridRenderer.currentLetter = currentLetter; if (now != null) { lastLetterUpdate = (float)now.ElapsedGameTime.TotalMilliseconds; } nextLetter = letterSet.GetRandomLetter(); gridRenderer.nextLetter = nextLetter; gameplayState = NormalGameplayState.CurrentLetterActive; }
private void HandleLetterDrop(Letter letter, GameTime gameTime) { gridRenderer.grid.ResetGlowers(); gridRenderer.grid.SetLetter(letter.gridPosition.X, letter.gridPosition.Y, letter); previousCurrentLetterPosition = gridRenderer.grid.GetLetter(letter.gridPosition.X, letter.gridPosition.Y).position; gameplayState = NormalGameplayState.WordSearch; Shorewood.clink.Play(); //ChangeCurrentLetterToRandom(gameTime); }
public void UpdateGoals(GameTime gameTime) { gameplayState = NormalGameplayState.CurrentLetterActive; Shorewood.goalRenderer.ForceUpdateOnce(); //gridRenderer.grid.CheckForChanges(); }
public void Reset(GameTime gameTime) { Shorewood.freeSpellMode.Hide(); PredictiveTextAnalyzer.Stop(); PredictiveTextAnalyzer.ClearSuggestedLetters(); letterSet.Reset(); Shorewood.levelManager.Reset(); Shorewood.scoreBox.Reset(); Shorewood.recentWords.Reset(); Shorewood.gameplayTimer.Reset(); Shorewood.goalRenderer.ForceUpdateOnce(); gridRenderer.grid.ClearGrid(); isGameOver = false; Shorewood.gameState = GameState.ResettingNormalGameplay; gameplayState = NormalGameplayState.GameOver; currentLetter = Letter.EmptyLetter; lastLetterUpdate = 0; Shorewood.Is1337Compliant = false; }
public void OnTrigger(object sender, ButtonFireEventArgs args) { if (!args.previouslyDown && gameplayState == NormalGameplayState.CurrentLetterActive && !Shorewood.dialogManager.IsActive) { if (gridRenderer.grid.validWords.Count > 0) { gameplayState = NormalGameplayState.FindingWords; } } }
public void Hide() { this.Enabled = false; this.gridRenderer.Visible = false; this.gridRenderer.Enabled = false; Shorewood.scoreBox.Visible = false; Shorewood.scoreBox.Enabled = false; Shorewood.recentWords.Enabled = false; Shorewood.recentWords.Visible = false; Shorewood.timerRenderer.Visible = false; Shorewood.timerRenderer.Enabled = false; Shorewood.goalRenderer.Visible = false; Shorewood.goalRenderer.Enabled = false; Shorewood.freeSpellMode.Hide(); PredictiveTextAnalyzer.Stop(); gameplayState = NormalGameplayState.GameOver; }
public void GameOver(GameTime gameTime, object nothing) { isGameOver = true; Shorewood.gameState = GameState.GameOver; int score = gridRenderer.grid.currentScore; TimeSpan duration = Shorewood.gameplayTimer.ElapsedTime; ScoreEntry highScore = new ScoreEntry(); highScore.Difficulty = Shorewood.Difficulty; highScore.Duration = duration; highScore.Score = Shorewood.scoreBox.CurrentScore; #if XBOX if ((Gamer.SignedInGamers.Count > 0) && Gamer.SignedInGamers[Shorewood.mainPlayer] != null) { highScore.GamerTag = Gamer.SignedInGamers[Shorewood.mainPlayer].Gamertag; GamerEntry gamer = new GamerEntry(); gamer.GamerPicture = Gamer.SignedInGamers[Shorewood.mainPlayer].GetProfile().GamerPicture; gamer.gamerTag = highScore.GamerTag; if (!Shorewood.storage.HighScores.Gamers.Contains(gamer)) { Shorewood.storage.HighScores.Gamers.Add(gamer); } } #else highScore.GamerTag = "Zikomo"; #endif List<ScoreEntry> scores = Shorewood.storage.HighScores.GetList(Shorewood.Difficulty); scores.Add(highScore); scores.Sort(); if (scores.Count > 10) { scores.RemoveRange(10, scores.Count - 10); } Shorewood.storage.SaveHighScoresToDevice(); gameplayState = NormalGameplayState.GameOver; }