class NumericDisplay extends InteractiveDevice
{
	default m_controllerTypeName = 'NumericDisplayController';

	protected event OnRequestComponents( ri : EntityRequestComponentsInterface )
	{
		super.OnRequestComponents( ri );
		EntityRequestComponentsInterface.RequestComponent( ri, 'ui', 'worlduiWidgetComponent', true );
	}

	protected event OnTakeControl( ri : EntityResolveComponentsInterface )
	{
		super.OnTakeControl( ri );
		m_uiComponent = ( ( worlduiWidgetComponent )( EntityResolveComponentsInterface.GetComponent( ri, 'ui' ) ) );
		m_controller = ( ( NumericDisplayController )( EntityResolveComponentsInterface.GetComponent( ri, 'controller' ) ) );
	}

	protected const override function GetController() : NumericDisplayController
	{
		return ( ( NumericDisplayController )( m_controller ) );
	}

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

	protected override function CreateBlackboard()
	{
		m_blackboard = IBlackboard.Create( GetAllBlackboardDefs().NumericDisplay );
	}

	public const override function GetBlackboardDef() : NumericDisplayBlackboardDef
	{
		return GetDevicePS().GetBlackboardDef();
	}

}

