Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //=============================================================================
- // ShootBenchmark.
- // Time analysis tool for weapon fire.
- //=============================================================================
- class ShootBenchmark expands Actor;
- var float StartHitTime;
- var float LastHitTime;
- var int HitCount;
- var Pawn Shooter;
- var bool bJustHit;
- var float WeaponAnimFrame;
- event TakeDamage( int Damage, Pawn EventInstigator, vector HitLocation, vector Momentum, name DamageType)
- {
- if ( Shooter == None )
- Shooter = EventInstigator;
- else if ( Shooter != EventInstigator )
- return;
- if ( HitCount == 0 )
- StartHitTime = Level.TimeSeconds;
- LastHitTime = Level.TimeSeconds;
- HitCount++;
- //Record weapon animation state during hit
- /* bJustHit = true;
- WeaponAnimFrame = Shooter.Weapon.AnimFrame;
- if ( WeaponAnimFrame < 0 )
- WeaponAnimFrame += 1;
- Log("Shot at "$WeaponAnimFrame);*/
- }
- event Tick( float DeltaTime)
- {
- local float ShootAvg;
- /* if ( bJustHit && Shooter != None && Shooter.Weapon != None )
- {
- bJustHit = Shooter.Weapon.AnimFrame >= WeaponAnimFrame;
- WeaponAnimFrame = Shooter.Weapon.AnimFrame;
- Log( WeaponAnimFrame );
- }*/
- if ( (Shooter != None) && (Shooter.bFire + Shooter.bAltFire == 0) )
- {
- if ( HitCount > 1 )
- {
- ShootAvg = (LastHitTime - StartHitTime) / float(HitCount-1);
- Log("Shooter: "$Shooter.Name@"Hits="$HitCount@"Avg="$ShootAvg);
- }
- Shooter = None;
- HitCount = 0;
- LastHitTime = 0;
- StartHitTime = 0;
- }
- }
- defaultproperties
- {
- Texture=Texture'Engine.S_Weapon'
- bCollideActors=True
- bProjTarget=True
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement