class ProximityDetectorController extends ScriptableDeviceComponent
{

	public const override function GetPS() : ProximityDetectorControllerPS
	{
		return ( ( ProximityDetectorControllerPS )( GetBasePS() ) );
	}

}

class ProximityDetectorControllerPS extends ScriptableDeviceComponentPS
{
	default m_deviceName = "Gameplay-Devices-DisplayNames-LaserDetector";

	protected override function PerformRestart() {}

	public override function GetActions( out outActions : array< DeviceAction >, context : GetActionsContext ) : Bool
	{
		if( ToggleON.IsDefaultConditionMet( this, context ) && ( context.requestType != gamedeviceRequestType.Direct && context.requestType != gamedeviceRequestType.Remote ) )
		{
			outActions.PushBack( ActionToggleON() );
		}
		return super.GetActions( outActions, context );
	}

	protected override function OnTargetAssessmentRequest( evt : TargetAssessmentRequest ) : EntityNotificationType
	{
		return EntityNotificationType.SendThisEventToEntity;
	}

	protected override function GetDeviceIconTweakDBID() : TweakDBID
	{
		return T"DeviceIcons.SecuritySystemDeviceIcon";
	}

	protected override function GetBackgroundTextureTweakDBID() : TweakDBID
	{
		return T"DeviceIcons.SecuritySystemDeviceBackground";
	}

}

