/// <summary>Обнуление текущих очков.</summary> public void ResetScores() { BaseScores = 0; Frags.Clear(); PlaceTypes.Clear(); Turns = 0; Places.Clear(); }
public Scores Restore(ISchemeService schemeService) { var scores = new Scores(); scores.Achievements = Achievements; scores.BaseScores = BaseScores; scores.Frags = Frags.ToDictionary(x => schemeService.GetScheme <IMonsterScheme>(x.Sid), x => x.Value); scores.PlaceTypes = PlaceTypes.ToDictionary(x => schemeService.GetScheme <ILocationScheme>(x.Sid), x => x.Value); scores.TurnCounter = TurnCounter; scores.Turns = Turns; return(scores); }
/// <summary>Засчитать убийство монстра.</summary> /// <param name="monster">Монстр, убитый игроком.</param> public void CountMonsterDefeat(MonsterPerson monster) { var monsterScheme = monster.Scheme; var score = monsterScheme.BaseScore; if (score == 0) { score = MONSTER_DEFAULT_BASE_SCORE; } BaseScores += score; if (!Frags.ContainsKey(monsterScheme)) { Frags.Add(monsterScheme, 0); } Frags[monsterScheme]++; }