public void AddSmokeNadeEffect(DemoParser parser, SmokeEventArgs eventArgs) { if (!NadeEffectFrames.Any(n => n.Tick == parser.CurrentTick)) { NadeEffectFrames.Add(new NadeEffectFrame() { Tick = parser.CurrentTick, Round = MatchInfoManager.Instance.Rounds.Last().Number, NadeEffects = new List <NadeEffect>() }); } if (eventArgs.ThrownBy == null) { return; } var nadeEffect = new NadeEffect() { Guid = Guid.NewGuid(), Duration = 18, Thrower = eventArgs.ThrownBy.SteamID.ToString(), NadeType = EquipmentElement.Smoke, Position = (DemoInfoHelper.SourceToUnityVector(eventArgs.Position.Copy()) / GraphicsManager.PlaybackScale) - GraphicsManager.Instance.Map.Offset }; NadeEffectFrames.Last().NadeEffects.Add(nadeEffect); }
private void AddNadeEffect(NadeEffect nade, int tick) { var offset = Vector3.zero; var nadeEffectClone = Instantiate(NadeEffectPrefab); nadeEffectClone.name = $"NadeEffect {nade.Guid}"; nadeEffectClone.transform.position = nade.Position; var nadeGraphics = nadeEffectClone.GetComponent <NadeEffectGraphics>(); nadeGraphics.NadeType = nade.NadeType; nadeGraphics.Duration = nade.Duration; nadeGraphics.StartTick = tick; _nadeEffects.Add(nade.Guid, nadeGraphics); }