protected void HandleSmokeNadeStarted(object sender, SmokeEventArgs e) { if (!AnalyzePlayersPosition && !AnalyzeHeatmapPoint || !IsMatchStarted || e.ThrownBy == null) return; SmokeNadeStartedEvent smokeEvent = new SmokeNadeStartedEvent(Parser.IngameTick) { Thrower = Demo.Players.FirstOrDefault(player => player.SteamId == e.ThrownBy.SteamID) }; if (AnalyzeHeatmapPoint && smokeEvent.Thrower != null) { smokeEvent.Point = new HeatmapPoint { X = e.Position.X, Y = e.Position.Y, Player = smokeEvent.Thrower, Team = e.ThrownBy.Team, Round = CurrentRound }; } CurrentRound.SmokesStarted.Add(smokeEvent); if (AnalyzePlayersPosition && smokeEvent.Thrower != null) { PositionPoint positionPoint = new PositionPoint { X = e.Position.X, Y = e.Position.Y, Player = smokeEvent.Thrower, Team = e.ThrownBy.Team, Event = smokeEvent, Round = CurrentRound }; Demo.PositionsPoint.Add(positionPoint); } }
protected void HandleSmokeNadeStarted(object sender, SmokeEventArgs e) { if (!AnalyzePlayersPosition && !AnalyzeHeatmapPoint || !IsMatchStarted || e.ThrownBy == null) return; PlayerExtended thrower = Demo.Players.FirstOrDefault(player => player.SteamId == e.ThrownBy.SteamID); SmokeNadeStartedEvent smokeEvent = new SmokeNadeStartedEvent(Parser.IngameTick, Parser.CurrentTime) { ThrowerSteamId = thrower?.SteamId ?? 0, ThrowerName = thrower == null ? string.Empty : thrower.Name }; if (AnalyzeHeatmapPoint && thrower != null) { smokeEvent.Point = new HeatmapPoint { X = e.Position.X, Y = e.Position.Y, Player = thrower, Team = e.ThrownBy.Team, Round = CurrentRound }; } CurrentRound.SmokesStarted.Add(smokeEvent); if (AnalyzePlayersPosition && thrower != null) { PositionPoint positionPoint = new PositionPoint { X = e.Position.X, Y = e.Position.Y, PlayerSteamId = e.ThrownBy.SteamID, PlayerName = e.ThrownBy.Name, Team = e.ThrownBy.Team, Event = smokeEvent, RoundNumber = CurrentRound.Number }; Demo.PositionsPoint.Add(positionPoint); } }