class ExitLight extends ElectricLight
{
	default m_controllerTypeName = 'ExitLightController';

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

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

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

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

	protected event OnHitEvent( hit : gameHitEvent )
	{
		super.OnHitEvent( hit );
	}

	protected override function TurnOnDevice()
	{
		TurnGreen();
	}

	protected override function TurnOffDevice()
	{
		TurnRed();
	}

	protected override function ReactToHit( hit : gameHitEvent )
	{
		super.ReactToHit( hit );
	}

	private function TurnRed()
	{
		SetMeshAppearance( 'red' );
	}

	private function TurnGreen()
	{
		SetMeshAppearance( 'green' );
	}

}

