WorldModel component for a weapon's world representation. It triggers attack animation flags and spawns muzzle, brass eject, and tracer effects when the weapon fires and when no view model is present.
public sealed class WorldModel : WeaponModel
{
public override void OnAttack()
{
Renderer?.Set( "b_attack", true );
DoMuzzleEffect();
DoEjectBrass();
}
public override void CreateRangedEffects( BaseWeapon weapon, Vector3 hitPoint, Vector3? origin )
{
if ( weapon.ViewModel.IsValid() )
return;
DoTracerEffect( hitPoint, origin );
}
}