private void AddCharGuess(CharGuess guess) { AllGuesses.Add(guess); if (guess.IsGoodGuess) { GoodGuesses.Add(guess); CreateEncodeWord(); if (EvaluateWord(EncodedWord)) { FinishGame(true); } } else { BadGuesses.Add(guess); EndGameIfLost(); } UpdateReadOnlyProperties(); }
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) { JObject jo = JObject.Load(reader); bool? isLetterGuess = (bool?)jo["IsLetter"]; bool? isLetterGuess2 = (bool?)jo["isLetter"]; Guess item; if (isLetterGuess.GetValueOrDefault() || isLetterGuess2.GetValueOrDefault()) { item = new CharGuess(); } else { item = new WordGuess(); } serializer.Populate(jo.CreateReader(), item); return(item); }