protected void HandleDecoyNadeStarted(object sender, DecoyEventArgs e) { if (!AnalyzePlayersPosition && !AnalyzeHeatmapPoint || !IsMatchStarted) return; DecoyStartedEvent decoyStartedEvent = new DecoyStartedEvent(Parser.IngameTick) { Thrower = Demo.Players.FirstOrDefault(player => player.SteamId == e.ThrownBy.SteamID) }; if (AnalyzeHeatmapPoint && decoyStartedEvent.Thrower != null) { decoyStartedEvent.Point = new HeatmapPoint { X = e.Position.X, Y = e.Position.Y, Player = decoyStartedEvent.Thrower, Team = e.ThrownBy.Team, Round = CurrentRound }; Demo.DecoyStarted.Add(decoyStartedEvent); } if (AnalyzePlayersPosition && decoyStartedEvent.Thrower != null) { PositionPoint positionPoint = new PositionPoint { X = e.Position.X, Y = e.Position.Y, Player = Demo.Players.First(p => p.SteamId == e.ThrownBy.SteamID), Team = e.ThrownBy.Team, Event = decoyStartedEvent, Round = CurrentRound }; Demo.PositionsPoint.Add(positionPoint); } }
protected void HandleDecoyNadeStarted(object sender, DecoyEventArgs e) { if (!AnalyzePlayersPosition && !AnalyzeHeatmapPoint || !IsMatchStarted) return; PlayerExtended thrower = Demo.Players.FirstOrDefault(player => player.SteamId == e.ThrownBy.SteamID); DecoyStartedEvent decoyStartedEvent = new DecoyStartedEvent(Parser.IngameTick, Parser.CurrentTime) { ThrowerSteamId = thrower?.SteamId ?? 0, ThrowerName = thrower == null ? string.Empty : thrower.Name }; if (AnalyzeHeatmapPoint && thrower != null) { decoyStartedEvent.Point = new HeatmapPoint { X = e.Position.X, Y = e.Position.Y, Player = thrower, Team = e.ThrownBy.Team, Round = CurrentRound }; Demo.DecoyStarted.Add(decoyStartedEvent); } 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 = decoyStartedEvent, RoundNumber = CurrentRound.Number }; Demo.PositionsPoint.Add(positionPoint); } }