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 }); }