void CFlashUIActionNode::OnEnd( IUIAction* pAction, const SUIArguments& args  )
{
	if ( m_pAction != NULL && pAction == m_pAction )
	{
		UI_STACK_PUSH( m_endStack, std::make_pair( pAction, args ), "OnEnd UIAction %s (%s)", pAction->GetName(), args.GetAsString() );
		if ( m_bWasStarted )
		{
			m_bWasStarted = false;
			UI_STACK_PUSH( m_selfEndStack, std::make_pair( pAction, args ), "OnEnd (self) UIAction %s (%s)", pAction->GetName(), args.GetAsString() );
		}
	}
}
void CFlashUIEventNode::OnUIEvent( IUIElement* pSender, const SUIEventDesc &event, const SUIArguments &args )
{
	if (m_eventDesc == event)
	{
		UI_STACK_PUSH(m_events, std::make_pair(args, pSender->GetInstanceID()), "OnFlashEvent %s@%i %s (%s)", pSender->GetName(), pSender->GetInstanceID(), event.sDisplayName, args.GetAsString());
	}
}
void CFlashUIActionNode::OnStart( IUIAction* pAction, const SUIArguments& args  )
{
	if ( m_pAction != NULL && pAction == m_pAction )
	{
		UI_STACK_PUSH(m_startStack, std::make_pair( pAction, args ), "OnStart UIAction %s (%s)", pAction->GetName(), args.GetAsString() );
	}
}
void CFlashUIElementInstanceNode::OnInstanceDestroyed( IUIElement* pSender, IUIElement* pDeletedInstance )
{
	UI_STACK_PUSH(m_events, std::make_pair(eO_OnInstanceDestroyed, pDeletedInstance->GetInstanceID()), "OnInstanceDestroyed %s@%i", pSender->GetName(), pDeletedInstance->GetInstanceID());
}
void CFlashUIElementInstanceNode::OnInstanceCreated( IUIElement* pSender, IUIElement* pNewInstance )
{
	pNewInstance->AddEventListener(this, "CFlashUIElementInstanceNode");
	UI_STACK_PUSH(m_events, std::make_pair(eO_OnNewInstance, pNewInstance->GetInstanceID()), "OnInstanceCreated %s@%i", pSender->GetName(), pNewInstance->GetInstanceID());
}
void CFlashUIElementListenerNode::OnSetVisible( IUIElement* pSender, bool bVisible )
{
	EOutputs port = bVisible ? eO_OnShow : eO_OnHide;
	UI_STACK_PUSH(m_events, std::make_pair(port, pSender->GetInstanceID()), "OnSetVisible %s@%i %s", pSender->GetName(), pSender->GetInstanceID(), bVisible ? "visible" : "hide");
}
void CFlashUIElementListenerNode::OnUnload( IUIElement* pSender )
{
	UI_STACK_PUSH(m_events, std::make_pair(eO_OnUnload, pSender->GetInstanceID()), "OnUnload %s@%i", pSender->GetName(), pSender->GetInstanceID());
}
void CFlashUIElementListenerNode::OnInit( IUIElement* pSender, IFlashPlayer* pFlashPlayer )
{
	UI_STACK_PUSH(m_events, std::make_pair(eO_OnInit, pSender->GetInstanceID()), "OnInit %s@%i", pSender->GetName(), pSender->GetInstanceID());
}