private float GetRecordedGuessChance(SaveData.Heroine heroine, int questionId, int answerId) { var key = new HeroineQuestionKey(heroine, questionId); var result = key == _lastGuessKey && _lastGuessChance.TryGetValue(answerId, out var tmp) ? tmp : float.Epsilon; return(result); }
private void RecordGuessChance(SaveData.Heroine heroine, int questionId, int answerId, float chance, float guess) { var key = new HeroineQuestionKey(heroine, questionId); if (key != _lastGuessKey) { _lastGuessChance.Clear(); _lastGuessKey = key; } var guessChance = Mathf.Clamp(Mathf.Min(chance, MaxBlendChance) - guess, float.Epsilon, 1f); _lastGuessChance[answerId] = guessChance; }