import class gameuiMenuGameController extends inkGameController
{
	public import function RefreshInputIcons();
	public import function IsAnyActionWithoutAssignedKey() : Bool;
	public import function PushNotification( notificationTitle : CName, noticationDescription : CName );
	protected import function GetTelemetrySystem() : ITelemetrySystem;

	private var m_baseEventDispatcher : weak< inkMenuEventDispatcher >;

	protected event OnInitialize() {}

	protected event OnUninitialize()
	{
		m_baseEventDispatcher.UnregisterFromEvent( 'OnBack', this, 'OnBack' );
	}

	protected event OnSetMenuEventDispatcher( menuEventDispatcher : weak< inkMenuEventDispatcher > )
	{
		m_baseEventDispatcher = menuEventDispatcher;
		m_baseEventDispatcher.RegisterToEvent( 'OnBack', this, 'OnBack' );
	}

	protected event OnBack( userData : IScriptable )
	{
		var evt : BackActionCallback;
		evt = new BackActionCallback;
		QueueEvent( evt );
	}

	protected function ForceResetCursorType()
	{
		var cursorEvt : inkMenuLayer_SetCursorType;
		cursorEvt = new inkMenuLayer_SetCursorType;
		cursorEvt.Init( 'default', true );
		QueueEvent( cursorEvt );
	}

}

