class SceneScreenGameController extends inkGameController
{
	private var m_onQuestAnimChangeListener : CallbackHandle;

	protected event OnInitialize()
	{
		RegisterBlackboardCallbacks( GetBlackboard() );
	}

	protected function RegisterBlackboardCallbacks( blackboard : IBlackboard )
	{
		if( blackboard )
		{
			m_onQuestAnimChangeListener = blackboard.RegisterListenerName( GetAllBlackboardDefs().UI_SceneScreen.AnimName, this, 'OnQuestAnimChange' );
		}
	}

	private function UnRegisterBlackboardCallbacks( blackboard : IBlackboard )
	{
		if( blackboard )
		{
			blackboard.UnregisterListenerName( GetAllBlackboardDefs().UI_SceneScreen.AnimName, m_onQuestAnimChangeListener );
		}
	}

	protected event OnQuestAnimChange( value : CName )
	{
		PlayLibraryAnimation( value );
	}

	protected function GetOwner() : SceneScreen
	{
		return ( ( SceneScreen )( GetOwnerEntity() ) );
	}

	protected function GetBlackboard() : IBlackboard
	{
		var device : SceneScreen;
		device = GetOwner();
		if( device )
		{
			return device.GetBlackboard();
		}
		else
		{
			return NULL;
		}
	}

}

