enum SignType
{
	INFORMATION = 0,
	ATTENTION = 1,
	WARNING = 2,
}

enum SignShape
{
	RECTANGLE = 0,
	ARROWLEFT = 1,
	ARROWRIGHT = 2,
	SQUARE = 3,
}

class InteractiveSign extends Device
{
	default m_controllerTypeName = 'InteractiveSignController';
	private editable var m_signShape : SignShape;
	hint m_signShape = "Choose what shape signs should have";
	private instanceeditable var m_type : SignType;
	hint m_type = "Information - Blue/White, Attention - Yellow/Black, Warning - Red/Black";
	private instanceeditable var m_message : String;
	hint m_message = "What sign should say - shouldn't be too long";

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

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

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

}

