class Reflector extends BlindingLight
{
	default m_controllerTypeName = 'ReflectorController';

	protected event OnRequestComponents( ri : EntityRequestComponentsInterface )
	{
		super.OnRequestComponents( ri );
	}

	protected event OnTakeControl( ri : EntityResolveComponentsInterface )
	{
		super.OnTakeControl( ri );
		m_controller = ( ( ReflectorController )( EntityResolveComponentsInterface.GetComponent( ri, 'controller' ) ) );
	}

	public const override function GetDevicePS() : ReflectorControllerPS
	{
		return GetController().GetPS();
	}

	private const override function GetController() : ReflectorController
	{
		return ( ( ReflectorController )( m_controller ) );
	}

	protected event OnDistraction( evt : Distraction )
	{
		if( evt.IsStarted() )
		{
			StartDistraction( true );
		}
		else
		{
			StopDistraction();
		}
		RefreshInteraction( gamedeviceRequestType.Direct, GetPlayer( GetGame() ) );
	}

}

