swb_base/Weapon.Scoping.cs
namespace SWB.Base;
public partial class Weapon
{
public async virtual void OnScopeStart()
{
SetScopeLensCenter( DefaultScopeLensCenter );
await GameTask.DelaySeconds( ScopeInfo.ScopeInDelay );
if ( !this.IsValid() || !IsAiming || IsScoping || IsReloading ) return;
IsScoping = true;
ViewModelHandler.ShouldDraw = false;
if ( ScopeInfo.ScopeInSound is not null )
PlaySound( ScopeInfo.ScopeInSound );
}
public virtual void OnScopeEnd()
{
SetScopeLensCenter( DefaultScopeLensCenter );
if ( !IsScoping ) return;
IsScoping = false;
ViewModelHandler.ShouldDraw = true;
if ( ScopeInfo.ScopeOutSound is not null )
PlaySound( ScopeInfo.ScopeOutSound );
}
}