Beispiel #1
0
 /// <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);
        }
Beispiel #3
0
        /// <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]++;
        }