Esempio n. 1
0
    public bool AddNadeFrame(DemoParser parser, WeaponFiredEventArgs eventArgs)
    {
        if (eventArgs.Weapon.Class != EquipmentClass.Grenade)
        {
            return(false);
        }

        var nadeThrow = new NadeThrow()
        {
            NadeType  = eventArgs.Weapon.Weapon,
            Thrower   = eventArgs.Shooter.SteamID.ToString(),
            Position  = new Vector3(-eventArgs.Shooter.Position.X, eventArgs.Shooter.Position.Z, -eventArgs.Shooter.Position.Y),
            Direction = DemoInfoHelper.ViewAnglesToVector3(eventArgs.Shooter.ViewDirectionX, eventArgs.Shooter.ViewDirectionY)
        };

        NadeThrowFrame frame = null;

        if (NadeThrowFrames.Count != 0)
        {
            frame = NadeThrowFrames.Last();
        }
        if (frame == null || frame.Tick != parser.CurrentTick)
        {
            frame = new NadeThrowFrame()
            {
                Tick       = parser.CurrentTick,
                Round      = MatchInfoManager.Instance.Rounds.Last().Number,
                NadeThrows = new List <NadeThrow>()
                {
                    nadeThrow
                }
            };
            NadeThrowFrames.Add(frame);
        }
        else
        {
            frame.NadeThrows.Add(nadeThrow);
        }

        return(true);
    }
    public WeaponFireGraphics CreateWeaponFireGraphics(WeaponFire weaponFire, Vector3 position, PlaybackMode playbackMode)
    {
        var weaponFireClone = Instantiate(WeaponFirePrefab);

        var weaponGraphics = weaponFireClone.GetComponent <WeaponFireGraphics>();

        weaponGraphics.Direction = playbackMode == PlaybackMode.ThreeD
            ? DemoInfoHelper.ViewAnglesToVector3(weaponFire.ViewX, weaponFire.ViewY)
            : DemoInfoHelper.ViewAnglesToVector3(weaponFire.ViewX, 0);

        weaponGraphics.HasEndPoint = false;

        position += PlayersManager.HeadOffset;

        if (playbackMode == PlaybackMode.TwoD)
        {
            position.y = 0.3f;
        }

        weaponFireClone.transform.position = weaponGraphics.StartPoint = position;

        return(weaponGraphics);
    }
 public void UpdateViewAngle(float viewX, float viewY)
 {
     TargetViewDirection = DemoInfoHelper.ViewAnglesToVector3(viewX, viewY);
 }