void handle_signal(int signal) 
{
	static int internal_state = 0;
	ScriptingCore* sc = ScriptingCore::getInstance();
	// should start everything back
	CCDirector* director = CCDirector::sharedDirector();
	if (director->getRunningScene()) 
	{
		director->popToRootScene();
	} 
	else
	{
		CCPoolManager::sharedPoolManager()->finalize();
		if (internal_state == 0) 
		{
			//sc->dumpRoot(NULL, 0, NULL);
			sc->start();
			internal_state = 1;
		} 
		else
		{
			sc->runScript("hello.js");
			internal_state = 0;
		}
	}
}
void ConfigView::onQuit(cocos2d::CCObject *obj, TouchEventType tt){
    
    switch (tt) {
        case cocos2d::ui::TOUCH_EVENT_BEGAN:
        {
            
        }
            break;
        case cocos2d::ui::TOUCH_EVENT_MOVED:
        {
            
        }
            break;
        //但是内部的 WorldCup Scene 也要抛弃掉
        case cocos2d::ui::TOUCH_EVENT_ENDED:
        {
            CCDirector* pDirector = CCDirector::sharedDirector();
            CCScene* pScene = LoginScene::scene();
            //pDirector->replaceScene(getTransScene(pScene));
            //pDirector->replaceRootScene(getTransScene(pScene));
            pDirector->popToRootScene();
            //pDirector->replaceScene(getTransScene(pScene));
            //Transition 场景存在 问题 一旦Transition 就会导致 touch无效 应该是 touch被关闭掉了 但是没有开启起来 TransitionScene 处理的代码问题
            pDirector->replaceScene(pScene);
            
            //退出登录清理状态
            
            Logic::getInstance()->clearState();
            
        }
            break;
        case cocos2d::ui::TOUCH_EVENT_CANCELED:
        {
            
        }
            break;
        default:
            break;
    }
}
void LUA_EXECUTE_COMMAND(int nCommand)
{
    if( nCommand == 12 )    //百度Android
    {
#if (AGENT_SDK_CODE == 12)
        JniMethodInfo methodInfo;
        if( JniHelper::getStaticMethodInfo(methodInfo, "com/haowan123/kof/bd/GameBox", "dkAccountManager", "()V") )
        {
            methodInfo.env->CallStaticVoidMethod(methodInfo.classID, methodInfo.methodID );
        }
        else
        {
            CCLOG("GameBox::openDKAccountManager method missed!");
        }
#endif
    }
    else if( nCommand == 2 ) //360Android
    {
#if (AGENT_SDK_CODE == 2)
        JniMethodInfo methodInfo;
        if( JniHelper::getStaticMethodInfo(methodInfo, "com/haowan123/kof/qh/GameBox", "doSdkAccountManager", "()V") )
        {
            methodInfo.env->CallStaticVoidMethod(methodInfo.classID, methodInfo.methodID );
        }
        else
        {
            CCLOG("GameBox::doSdkAccountManager method missed!");
        }
#endif
    }

    if( nCommand == 84 )
    {

        CCScriptEngineProtocol *pEngine = CCScriptEngineManager::sharedManager()->getScriptEngine();
        if( pEngine == NULL )
            return;
        CCLuaEngine *pLuaEngine = dynamic_cast<CCLuaEngine *>(pEngine);
        if( pLuaEngine == NULL )
            return;
        CCLuaStack *pLuaStack = pLuaEngine->getLuaStack();
        if( pLuaStack == NULL )
            return;

        lua_State *L = pLuaStack->getLuaState();

        lua_getglobal(L, "g_resetAll");
        lua_call(L, 0, 1);
        lua_pop(L, 1);
        CCLOG("LLLLLLLL");
        
//        CCScriptEngineManager::sharedManager()->removeScriptEngine();
//        CCLOG("84-2");
//        CCLuaEngine *pEngine = CCLuaEngine::defaultEngine();
//        CCLOG("84-3");
//        CCScriptEngineManager::sharedManager()->setScriptEngine(pEngine);
//        CCLOG("84-4");
//        ptola::script::CLuaClassSupport::initialize(pEngine);
        //        CCLOG("84-5");
        CCDirector *pDirector = CCDirector::sharedDirector();
        CCLOG("84-1");
        int nLevelLimit = CCUserDefault::sharedUserDefault()->getIntegerForKey("LevelResource", 0);

        CCLOG("84-6");

        pDirector->popToRootScene();

        CCLOG("84-7");
        CCScene *pUpdateScene = CGameUpdateScene::scene(nLevelLimit);
        CCLOG("84-8 %d", pUpdateScene);
        pDirector->pushScene(pUpdateScene);

        CCLOG("84-9");
        pDirector->setShowBundleVersion(true);
        CCLOG("84-10");
    }
    CCLOG("EXECUTE_LUA_COMMAND: %d", nCommand);
    
    return;
}