public static bool UpdateScore(SubmitWordLogEntry dbEntry) { // firebase logging SubmitWordLogEntry.SubmitWordPayload payload = new SubmitWordLogEntry.SubmitWordPayload(); payload.word = currentWord; payload.letters = GetLetterPayloadsFromCurrentWord(); dbEntry.payload = payload; if (IsValidWord(currentWord)) { // Update the score based on the word long submittedScore = GetScore(currentWord, payload); score += submittedScore; if (scoreText != null) { scoreText.text = "Points: " + score; } payload.success = true; payload.scoreTotal = submittedScore; // update the highest scoring word if necessary if (submittedScore > GameManagerScript.myHighestScoringWordScore) { GameManagerScript.myHighestScoringWord = currentWord; GameManagerScript.myHighestScoringWordScore = (int)submittedScore; } if (score > GameManagerScript.myHighScore) { GameManagerScript.myHighScore = score; GameManagerScript.myHighScoreUpdated = true; } // Do something celebratory! highlight in green briefly before removing from screen // and also display a congratulatory message depending on how rare the word was instance.StartCoroutine(instance.AnimateSelectedTiles(GetWordFreq(currentWord), submittedScore)); // Update the high score, if applicable // TODO: debug this //DBManager.instance.LogScore(score); return(true); } else { // firebase logging payload.success = false; payload.rarity = -1; payload.scoreBase = -1; payload.scoreTotal = -1; ClearAllSelectedTiles(); return(false); } }