Exemple #1
0
 void OnPlayerDie(PlayerBase player)
 {
     if (player.FunctionBases.ContainsKey("HitAttacker"))
     {
         HitAttacker hitAttacker = player.FunctionBases["HitAttacker"] as HitAttacker;
         if (hitAttacker.Attacker)
         {
             PlayerBase attacker = hitAttacker.Attacker;
             if (Scores.ContainsKey(attacker.ID))
             {
                 Scores[attacker.ID] += KillPoint;
             }
             else
             {
                 Scores.Add(attacker.ID, KillPoint);
             }
             GetScores?.Invoke(attacker);
         }
     }
 }
        public async Task <object> Get(GetScores request)
        {
            Expression <Func <Score, bool> > filter = x => (request.StudentId == null || x.StudentId == request.StudentId) &&
                                                      (request.SubjectId == null || x.SubjectId == request.SubjectId) &&
                                                      (request.Mark == null || x.Mark == request.Mark);

            var scoreEntities = await _scoreService.GetAll(filter : filter, includeProperties : "Student,Subject");

            var dtos = scoreEntities.ToList().ConvertAll(x =>
            {
                var dto         = x.ConvertTo <ScoreDto>();
                dto.StudentName = x.Student?.FirstName + x.Student?.LastName;
                dto.SubjectName = x.Subject?.Name;
                return(dto);
            });

            return(new
            {
                Success = true,
                StatusCode = (int)HttpStatusCode.OK,
                Results = dtos,
                ItemCount = dtos.Count
            });
        }