bool AppDelegate::applicationDidFinishLaunching() { // initialize director auto director = Director::getInstance(); director->setOpenGLView(EGLView::getInstance()); // turn on display FPS //director->setDisplayStats(true); // set FPS. the default value is 1.0/60 if you don't call this director->setAnimationInterval(1.0 / 60); ScriptingCore* sc = ScriptingCore::getInstance(); sc->addRegisterCallback(register_all_cocos2dx); sc->addRegisterCallback(register_cocos2dx_js_extensions); sc->start(); auto scene = Scene::create(); auto updateLayer = new UpdateLayer(); scene->addChild(updateLayer); updateLayer->release(); director->runWithScene(scene); return true; }
bool AppDelegate::applicationDidFinishLaunching() { // initialize director CCDirector *pDirector = CCDirector::sharedDirector(); pDirector->setOpenGLView(CCEGLView::sharedOpenGLView()); // enable High Resource Mode(2x, such as iphone4) and maintains low resource on other devices. // pDirector->enableRetinaDisplay(true); // turn on display FPS pDirector->setDisplayStats(true); // set FPS. the default value is 1.0/60 if you don't call this pDirector->setAnimationInterval(1.0 / 60); CCScene * pScene = CCScene::create(); ScriptingCore* sc = ScriptingCore::getInstance(); sc->addRegisterCallback(register_all_cocos2dx); sc->addRegisterCallback(register_cocos2dx_js_extensions); sc->addRegisterCallback(register_chipmunk_manual); sc->addRegisterCallback(register_CCPhysicsSprite); sc->start(); CCScriptEngineProtocol *pEngine = ScriptingCore::getInstance(); CCScriptEngineManager::sharedManager()->setScriptEngine(pEngine); ScriptingCore::getInstance()->runScript("js/main.js"); return true; }
bool AppDelegate::applicationDidFinishLaunching() { initGameView(); ScriptingCore* sc = ScriptingCore::getInstance(); sc->addRegisterCallback(register_all_cocos2dx); sc->addRegisterCallback(register_all_cocos2dx_extension); sc->addRegisterCallback(register_cocos2dx_js_extensions); sc->addRegisterCallback(register_all_cocos2dx_extension_manual); sc->addRegisterCallback(register_CCBuilderReader); sc->addRegisterCallback(jsb_register_system); sc->addRegisterCallback(jsb_register_chipmunk); sc->addRegisterCallback(JSB_register_opengl); sc->addRegisterCallback(register_CocosPlayer); sc->start(); CCScriptEngineProtocol *pEngine = ScriptingCore::getInstance(); CCScriptEngineManager::sharedManager()->setScriptEngine(pEngine); if(firstTime) { runMainScene(); firstTime = false; } else { handle_ccb_run(); } }
bool AppDelegate::applicationDidFinishLaunching() { // initialize director CCDirector *pDirector = CCDirector::sharedDirector(); pDirector->setOpenGLView(CCEGLView::sharedOpenGLView()); // turn on display FPS pDirector->setDisplayStats(true); // set FPS. the default value is 1.0/60 if you don't call this pDirector->setAnimationInterval(1.0 / 60); CCLOG("applicationDidFinishLaunching 01"); ScriptingCore* sc = ScriptingCore::getInstance(); sc->addRegisterCallback(register_all_cocos2dx); sc->addRegisterCallback(register_all_cocos2dx_extension); sc->addRegisterCallback(register_cocos2dx_js_extensions); sc->addRegisterCallback(jsb_register_chipmunk); sc->addRegisterCallback(jsb_register_system); sc->addRegisterCallback(JSB_register_opengl); sc->addRegisterCallback(register_all_pluginx_protocols); sc->addRegisterCallback(register_all_pluginx_umeng); sc->addRegisterCallback(register_all_pluginx_flurry); sc->addRegisterCallback(register_pluginx_js_extensions); sc->start(); CCLOG("applicationDidFinishLaunching 02"); CCScriptEngineProtocol *pEngine = ScriptingCore::getInstance(); CCScriptEngineManager::sharedManager()->setScriptEngine(pEngine); ScriptingCore::getInstance()->runScript("main.js"); CCLOG("applicationDidFinishLaunching 03"); return true; }
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; } } }
bool AppDelegate::applicationDidFinishLaunching() { // initialize director CCDirector *pDirector = CCDirector::sharedDirector(); pDirector->setOpenGLView(CCEGLView::sharedOpenGLView()); // Set the design resolution CCEGLView::sharedOpenGLView()->setDesignResolutionSize(320, 480, kResolutionShowAll); // turn on display FPS pDirector->setDisplayStats(true); // set FPS. the default value is 1.0/60 if you don't call this pDirector->setAnimationInterval(1.0 / 60); ScriptingCore* sc = ScriptingCore::getInstance(); sc->addRegisterCallback(register_all_cocos2dx); sc->addRegisterCallback(register_cocos2dx_js_extensions); sc->start(); CCScriptEngineProtocol *pEngine = ScriptingCore::getInstance(); CCScriptEngineManager::sharedManager()->setScriptEngine(pEngine); ScriptingCore::getInstance()->runScript("js/MoonWarriors-native.js"); return true; }
void CCMyKeypadDelegate::keyBackClicked() { CCLOG("keyBackClicked"); ScriptingCore* sc = ScriptingCore::getInstance(); jsval res; JS_CallFunctionName(sc->getGlobalContext(), sc->getGlobalObject(), "Key_onBackClicked", 0, NULL, &res); }
void TSScriptJS::Init() { ScriptingCore* sc = ScriptingCore::getInstance(); auto GC = sc->getGlobalContext(); auto GO = sc->getGlobalObject(); JS_DefineFunction(GC, GO, "TSLog", TSScriptJS::TS_JSOut, 0, JSPROP_READONLY | JSPROP_PERMANENT); JS_DefineFunction(GC, GO, "TSSendBuffer", TSScriptJS::TS_SendBuffer, 0, JSPROP_READONLY | JSPROP_PERMANENT); JS_DefineFunction(GC, GO, "TSLocalMsg", TSScriptJS::TS_LocalMsg, 0, JSPROP_READONLY | JSPROP_PERMANENT); }
bool AppDelegate::applicationDidFinishLaunching() { // initialize director CCDirector *pDirector = CCDirector::sharedDirector(); pDirector->setOpenGLView(CCEGLView::sharedOpenGLView()); // turn on display FPS pDirector->setDisplayStats(true); // set FPS. the default value is 1.0/60 if you don't call this pDirector->setAnimationInterval(1.0 / 60); CCEGLView::sharedOpenGLView()->setDesignResolutionSize(480, 320, kResolutionFixedHeight); ScriptingCore* sc = ScriptingCore::getInstance(); sc->addRegisterCallback(register_all_cocos2dx); sc->addRegisterCallback(register_all_cocos2dx_extension); sc->addRegisterCallback(register_all_cocos2dx_extension_manual); sc->addRegisterCallback(register_cocos2dx_js_extensions); sc->addRegisterCallback(jsb_register_chipmunk); sc->addRegisterCallback(register_CCBuilderReader); sc->addRegisterCallback(jsb_register_system); sc->addRegisterCallback(JSB_register_opengl); sc->start(); CCScriptEngineProtocol *pEngine = ScriptingCore::getInstance(); CCScriptEngineManager::sharedManager()->setScriptEngine(pEngine); ScriptingCore::getInstance()->runScript("boot-jsb.js"); return true; }
// this function will be called when the app is active again void AppDelegate::applicationWillEnterForeground() { CCDirector::sharedDirector()->startAnimation(); SimpleAudioEngine::sharedEngine()->resumeBackgroundMusic(); SimpleAudioEngine::sharedEngine()->resumeAllEffects(); ScriptingCore* sc = ScriptingCore::getInstance(); jsval nsval; JS_GetProperty(sc->getGlobalContext(), sc->getGlobalObject(), "plugin", &nsval); if (nsval != JSVAL_VOID) { sc->executeFunctionWithOwner(nsval, "onApplicationWillEnterForeground"); } }
bool AppDelegate::applicationDidFinishLaunching() { // initialize director auto pDirector = Director::getInstance(); pDirector->setOpenGLView(EGLView::getInstance()); pDirector->setProjection(Director::Projection::_2D); auto designSize = Size(960, 640); EGLView::getInstance()->setDesignResolutionSize(designSize.width, designSize.height, ResolutionPolicy::SHOW_ALL); // turn on display FPS pDirector->setDisplayStats(true); // set FPS. the default value is 1.0/60 if you don't call this pDirector->setAnimationInterval(1.0 / 60); ScriptingCore* sc = ScriptingCore::getInstance(); sc->addRegisterCallback(register_all_cocos2dx); sc->addRegisterCallback(register_all_cocos2dx_extension); sc->addRegisterCallback(register_cocos2dx_js_extensions); sc->addRegisterCallback(jsb_register_chipmunk); sc->addRegisterCallback(register_all_cocos2dx_extension_manual); sc->addRegisterCallback(jsb_register_system); sc->addRegisterCallback(JSB_register_opengl); sc->addRegisterCallback(register_all_pluginx_protocols); sc->addRegisterCallback(register_pluginx_js_extensions); sc->start(); ScriptEngineProtocol *pEngine = ScriptingCore::getInstance(); ScriptEngineManager::getInstance()->setScriptEngine(pEngine); ScriptingCore::getInstance()->runScript("main.js"); return true; }
bool AppDelegate::applicationDidFinishLaunching() { #if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS) sdkbox::init("68ba9af98d6f860b716fea6ef1a014a1", "4b488fa2d50b35af"); #elif (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID) sdkbox::init("32e4e540cd14b5d2a536ad99493873b6", "c80ea05e3d8d1917", "googleplay"); #endif // initialize director auto director = Director::getInstance(); // set FPS. the default value is 1.0/60 if you don't call this director->setAnimationInterval(1.0 / 60); #if (COCOS2D_DEBUG > 0) && (CC_CODE_IDE_DEBUG_SUPPORT > 0) #if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID) // for getIPAddress extern void setActivityPathForAndroid(const std::string &path); setActivityPathForAndroid("org/cocos2dx/javascript/AppActivity"); #endif auto runtimeEngine = RuntimeEngine::getInstance(); auto jsRuntime = RuntimeJsImpl::create(); runtimeEngine->addRuntime(jsRuntime, kRuntimeEngineJs); runtimeEngine->start(); // js need special debug port if (runtimeEngine->getProjectConfig().getDebuggerType() != kCCRuntimeDebuggerNone) { jsRuntime->startWithDebugger(); } #else js_module_register(); ScriptingCore* sc = ScriptingCore::getInstance(); #ifdef SDKBOX_ENABLED sc->addRegisterCallback(register_all_PluginIAPJS); sc->addRegisterCallback(register_all_PluginIAPJS_helper); #endif sc->start(); sc->runScript("script/jsb_boot.js"); ScriptEngineProtocol *engine = ScriptingCore::getInstance(); ScriptEngineManager::getInstance()->setScriptEngine(engine); ScriptingCore::getInstance()->runScript("main.js"); #endif return true; }
void c_addLogToCLI(int logType, const char * pszFormat, ...) { ScriptingCore* sc = ScriptingCore::getInstance(); if (sc) { char szBuf[kMaxLogLen+1] = {0}; va_list ap; va_start(ap, pszFormat); vsnprintf(szBuf, kMaxLogLen, pszFormat, ap); va_end(ap); jsval args[2]; args[0] = c_string_to_jsval(sc->getGlobalContext(), szBuf); args[1] = INT_TO_JSVAL(logType); sc->executeFunctionWithOwner(g_cliJSValue, "addLog", 2, args, NULL); } }
jsval CharacterNetwork::getNetworkObjectById(const char* id) { jsval networkObjects = CharacterNetwork::getNetworkObjects(); ScriptingCore *sc = ScriptingCore::getInstance(); JSContext *cx = sc->getGlobalContext(); if(networkObjects != JSVAL_VOID) { jsval jsCharacterNetwork; JS_GetProperty(cx, &networkObjects.toObject(), id, &jsCharacterNetwork); if (jsCharacterNetwork == JSVAL_VOID) printf("can't get property %s from ls.NetworkObjects\n", id); else return jsCharacterNetwork; } return JSVAL_VOID; }
bool AppDelegate::applicationDidFinishLaunching() { // initialize director Director *director = Director::getInstance(); director->setOpenGLView(EGLView::getInstance()); // turn on display FPS director->setDisplayStats(true); // set FPS. the default value is 1.0/60 if you don't call this director->setAnimationInterval(1.0 / 60); ScriptingCore* sc = ScriptingCore::getInstance(); sc->addRegisterCallback(register_all_cocos2dx); sc->addRegisterCallback(register_all_cocos2dx_extension); sc->addRegisterCallback(register_cocos2dx_js_extensions); sc->addRegisterCallback(register_all_cocos2dx_extension_manual); sc->addRegisterCallback(jsb_register_chipmunk); sc->addRegisterCallback(JSB_register_opengl); sc->addRegisterCallback(jsb_register_system); sc->start(); ScriptEngineProtocol *engine = ScriptingCore::getInstance(); ScriptEngineManager::getInstance()->setScriptEngine(engine); ScriptingCore::getInstance()->runScript("cocos2d-jsb.js"); return true; }
bool AppDelegate::applicationDidFinishLaunching() { // initialize director CCDirector *pDirector = CCDirector::sharedDirector(); pDirector->setOpenGLView(CCEGLView::sharedOpenGLView()); pDirector->setProjection(kCCDirectorProjection2D); CCSize screenSize = CCEGLView::sharedOpenGLView()->getFrameSize(); CCSize designSize = CCSizeMake(320, 480); CCSize resourceSize = CCSizeMake(320, 480); if (screenSize.height > 1024) { resourceSize = CCSizeMake(1536, 2048); CCFileUtils::sharedFileUtils()->setResourceDirectory("resources-ipadhd"); } else if (screenSize.height > 960) { resourceSize = CCSizeMake(768, 1536); CCFileUtils::sharedFileUtils()->setResourceDirectory("resources-ipad"); } else if (screenSize.height > 480) { resourceSize = CCSizeMake(640, 960); CCFileUtils::sharedFileUtils()->setResourceDirectory("resources-iphonehd"); } else { CCFileUtils::sharedFileUtils()->setResourceDirectory("resources-iphone"); } pDirector->setContentScaleFactor(resourceSize.height/designSize.height); CCEGLView::sharedOpenGLView()->setDesignResolutionSize(designSize.width, designSize.height, kResolutionNoBorder); // turn on display FPS pDirector->setDisplayStats(true); // set FPS. the default value is 1.0/60 if you don't call this pDirector->setAnimationInterval(1.0 / 60); ScriptingCore* sc = ScriptingCore::getInstance(); sc->addRegisterCallback(register_all_cocos2dx); sc->addRegisterCallback(register_cocos2dx_js_extensions); sc->addRegisterCallback(register_CCBuilderReader); sc->addRegisterCallback(jsb_register_chipmunk); sc->addRegisterCallback(jsb_register_system); sc->start(); js_log("RUNNING Main"); CCScriptEngineProtocol *pEngine = ScriptingCore::getInstance(); CCScriptEngineManager::sharedManager()->setScriptEngine(pEngine); ScriptingCore::getInstance()->runScript("main.js"); return true; }
bool AppDelegate::applicationDidFinishLaunching() { // initialize director auto director = Director::getInstance(); // set FPS. the default value is 1.0/60 if you don't call this director->setAnimationInterval(1.0 / 60); #if (COCOS2D_DEBUG > 0) && (CC_CODE_IDE_DEBUG_SUPPORT > 0) #if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID) // for getIPAddress extern void setActivityPathForAndroid(const std::string &path); setActivityPathForAndroid("org/cocos2dx/javascript/AppActivity"); #endif auto runtimeEngine = RuntimeEngine::getInstance(); auto jsRuntime = RuntimeJsImpl::create(); runtimeEngine->addRuntime(jsRuntime, kRuntimeEngineJs); runtimeEngine->start(); // js need special debug port if (runtimeEngine->getProjectConfig().getDebuggerType() != kCCRuntimeDebuggerNone) { jsRuntime->startWithDebugger(); } #else js_module_register(); ScriptingCore* sc = ScriptingCore::getInstance(); #ifdef SDKBOX_ENABLED sc->addRegisterCallback(register_all_PluginAgeCheqJS); sc->addRegisterCallback(register_all_PluginAgeCheqJS_helper); #endif sc->start(); sc->runScript("script/jsb_boot.js"); #if defined(COCOS2D_DEBUG) && (COCOS2D_DEBUG > 0) // sc->enableDebugger(); #endif ScriptEngineProtocol *engine = ScriptingCore::getInstance(); ScriptEngineManager::getInstance()->setScriptEngine(engine); ScriptingCore::getInstance()->runScript("main.js"); #endif return true; }
bool AppDelegate::applicationDidFinishLaunching() { // initialize director CCDirector *pDirector = CCDirector::sharedDirector(); pDirector->setOpenGLView(CCEGLView::sharedOpenGLView()); pDirector->setProjection(kCCDirectorProjection2D); // Set the design resolution CCEGLView::sharedOpenGLView()->setDesignResolutionSize(320, 480, kResolutionShowAll); // turn on display FPS pDirector->setDisplayStats(true); // set FPS. the default value is 1.0/60 if you don't call this pDirector->setAnimationInterval(1.0 / 60); ScriptingCore* sc = ScriptingCore::getInstance(); sc->addRegisterCallback(register_all_cocos2dx); sc->addRegisterCallback(register_cocos2dx_js_extensions); sc->addRegisterCallback(register_CCBuilderReader); sc->addRegisterCallback(jsb_register_chipmunk); sc->addRegisterCallback(jsb_register_system); sc->start(); CCScriptEngineProtocol *pEngine = ScriptingCore::getInstance(); CCScriptEngineManager::sharedManager()->setScriptEngine(pEngine); #if JSB_ENABLE_DEBUGGER ScriptingCore::getInstance()->enableDebugger(); ScriptingCore::getInstance()->runScript("main.debug.js"); #else ScriptingCore::getInstance()->runScript("MoonWarriors-jsb.js"); #endif return true; }
jsval TSScriptJS::JSCallFuncName(const char *name, int count, ...) { ScriptingCore* sc = ScriptingCore::getInstance(); int argc = count; jsval res; jsval *argv = new jsval[count]; va_list insvalist; va_start(insvalist,count); for (int i = 0; i < count; ++i) { const char* _str =va_arg(insvalist,const char *); std::string sttr=std::string("")+_str; argv[i] = std_string_to_jsval(sc->getGlobalContext(),sttr); } va_end(insvalist) ; JS_CallFunctionName(sc->getGlobalContext(), sc->getGlobalObject(), name, argc, argv, &res); delete [] argv; return res ; }
//Call Javascript function. void SendMessageToJS(const char* jsMethodName,CCObject* cobj){ ScriptingCore* sc = ScriptingCore::getInstance(); JSContext *cx = sc->getGlobalContext(); const char *methodParams = NULL; string jsonStr(""); if(cobj){ // CCLog("into have cobj"); json_t *jsonParams = NDKHelper::GetJsonFromCCObject(cobj); jsonStr = json_dumps(jsonParams, JSON_COMPACT | JSON_ENSURE_ASCII); methodParams = jsonStr.c_str(); } // CCLOG("methodParams in SendMessageToJS: %s",methodParams); if (jsJSBHelperObject == NULL) jsJSBHelperObject = JSVAL_TO_OBJECT(anonEvaluate(cx, sc->getGlobalObject(), "(function () { return JSBHelper; })()")); if (methodParams) { // CCLog("into methodParams = 2"); jsval argv[2]; argv[0] = c_string_to_jsval(cx,jsMethodName); argv[1] = c_string_to_jsval(cx,methodParams); jsval res; JS_CallFunctionName(cx, jsJSBHelperObject, "GetMessageFromCpp", 2, argv, &res); } else { // CCLog("into methodParams = 1"); jsval argv[1]; argv[0] = c_string_to_jsval(cx,jsMethodName); jsval res; JS_CallFunctionName(cx, jsJSBHelperObject, "GetMessageFromCpp", 1, argv, &res); } }
bool AppDelegate::applicationDidFinishLaunching() { // initialize director auto pDirector = Director::getInstance(); pDirector->setOpenGLView(EGLView::getInstance()); pDirector->setProjection(Director::Projection::_2D); // Set the design resolution EGLView::getInstance()->setDesignResolutionSize(320, 480, ResolutionPolicy::SHOW_ALL); // turn on display FPS pDirector->setDisplayStats(true); // set FPS. the default value is 1.0/60 if you don't call this pDirector->setAnimationInterval(1.0 / 60); FileUtils::getInstance()->addSearchPath("script"); ScriptingCore* sc = ScriptingCore::getInstance(); sc->addRegisterCallback(register_all_cocos2dx); sc->addRegisterCallback(register_all_cocos2dx_extension); sc->addRegisterCallback(register_cocos2dx_js_extensions); sc->addRegisterCallback(jsb_register_chipmunk); sc->addRegisterCallback(register_all_cocos2dx_extension_manual); sc->addRegisterCallback(register_all_cocos2dx_builder); sc->addRegisterCallback(register_CCBuilderReader); sc->addRegisterCallback(jsb_register_system); sc->addRegisterCallback(JSB_register_opengl); sc->start(); #if defined(COCOS2D_DEBUG) && (COCOS2D_DEBUG > 0) sc->enableDebugger(); #endif auto pEngine = ScriptingCore::getInstance(); ScriptEngineManager::getInstance()->setScriptEngine(pEngine); ScriptingCore::getInstance()->runScript("MoonWarriors-jsb.js"); return true; }
ComponentJS::ComponentJS(const std::string& scriptFileName) : _scriptFileName(scriptFileName) , _jsObj(nullptr) { ScriptingCore* engine = ScriptingCore::getInstance(); JSContext* cx = engine->getGlobalContext(); // Require script JS::RootedValue classValue(cx); _succeedLoadingScript = engine->requireScript(_scriptFileName.c_str(), &classValue); if (_succeedLoadingScript) { JS::RootedObject classObj(cx, classValue.toObjectOrNull()); const JSClass* theClass = JS_GetClass(classObj); JS::RootedValue protoValue(cx); JS_GetProperty(cx, classObj, "prototype", &protoValue); TypeTest<ComponentJS> t; js_type_class_t *typeClass = nullptr; std::string typeName = t.s_name(); auto typeMapIter = _js_global_type_map.find(typeName); CCASSERT(typeMapIter != _js_global_type_map.end(), "Can't find the class type!"); typeClass = typeMapIter->second; mozilla::Maybe<JS::PersistentRootedObject> *jsObj = new (std::nothrow) mozilla::Maybe<JS::PersistentRootedObject>(); JS::RootedObject proto(cx, protoValue.toObjectOrNull()); JS::RootedObject parent(cx, typeClass->proto.ref()); jsObj->construct(cx); JS::RootedObject obj(cx, JS_NewObject(cx, theClass, proto, parent)); jsObj->ref() = obj; // Unbind current proxy binding js_proxy_t* jsproxy = js_get_or_create_proxy<ComponentJS>(cx, this); JS::RemoveObjectRoot(cx, &jsproxy->obj); jsb_remove_proxy(jsproxy); // link the native object with the javascript object jsb_new_proxy(this, jsObj->ref()); _jsObj = jsObj; } }
ComponentJS::ComponentJS(const std::string& scriptFileName) : _scriptFileName(scriptFileName) , _jsObj(nullptr) { ScriptingCore* engine = ScriptingCore::getInstance(); JSContext* cx = engine->getGlobalContext(); // Require script JS::RootedValue classValue(cx); _succeedLoadingScript = engine->requireScript(_scriptFileName.c_str(), &classValue); if (_succeedLoadingScript) { JS::RootedObject classObj(cx, classValue.toObjectOrNull()); const JSClass* theClass = JS_GetClass(classObj); JS::RootedValue protoValue(cx); JS_GetProperty(cx, classObj, "prototype", &protoValue); mozilla::Maybe<JS::PersistentRootedObject> *jsObj = new (std::nothrow) mozilla::Maybe<JS::PersistentRootedObject>(); js_type_class_t *typeClass = js_get_type_from_native<cocos2d::ComponentJS>(this); JS::RootedObject proto(cx, protoValue.toObjectOrNull()); JS::RootedObject parent(cx, typeClass->proto.ref()); jsObj->construct(cx); JS::RootedObject obj(cx, JS_NewObject(cx, theClass, proto, parent)); jsObj->ref() = obj; // Unbind current proxy binding js_proxy_t* nproxy = jsb_get_native_proxy(this); if (nproxy) { #if CC_ENABLE_GC_FOR_NATIVE_OBJECTS JS::RemoveObjectRoot(cx, &nproxy->obj); #endif // CC_ENABLE_GC_FOR_NATIVE_OBJECTS jsb_remove_proxy(nproxy, jsb_get_js_proxy(nproxy->obj)); } // link the native object with the javascript object jsb_new_proxy(this, jsObj->ref()); _jsObj = jsObj; } }
bool AppDelegate::applicationDidFinishLaunching() { // initialize director CCDirector *pDirector = CCDirector::sharedDirector(); pDirector->setOpenGLView(CCEGLView::sharedOpenGLView()); // turn on display FPS pDirector->setDisplayStats(true); // set FPS. the default value is 1.0/60 if you don't call this pDirector->setAnimationInterval(1.0 / 60); ScriptingCore* sc = ScriptingCore::getInstance(); sc->addRegisterCallback(register_all_cocos2dx); sc->addRegisterCallback(register_all_cocos2dx_extension); sc->addRegisterCallback(register_cocos2dx_js_extensions); sc->addRegisterCallback(register_all_cocos2dx_extension_manual); sc->addRegisterCallback(jsb_register_chipmunk); sc->addRegisterCallback(JSB_register_opengl); sc->addRegisterCallback(jsb_register_system); sc->addRegisterCallback(MinXmlHttpRequest::_js_register); sc->addRegisterCallback(register_jsb_websocket); sc->addRegisterCallback(registerDeviceSpeceficTests); sc->start(); CCScriptEngineProtocol *pEngine = ScriptingCore::getInstance(); CCScriptEngineManager::sharedManager()->setScriptEngine(pEngine); #ifdef JS_OBFUSCATED ScriptingCore::getInstance()->runScript("game.js"); #else #if JSB_ENABLE_DEBUGGER ScriptingCore::getInstance()->enableDebugger(); #endif // JSB_ENABLE_DEBUGGER ScriptingCore::getInstance()->runScript("tests-boot-jsb.js"); #endif return true; }
void startRuntime() { ScriptingCore* sc = ScriptingCore::getInstance(); sc->addRegisterCallback(register_FileUtils); sc->start(); sc->runScript("script/jsb_boot.js"); int debugPort = 5086; #if(CC_PLATFORM_MAC == CC_TARGET_PLATFORM || CC_PLATFORM_WIN32 == CC_TARGET_PLATFORM) debugPort = ConfigParser::getInstance()->getDebugPort(); #endif sc->enableDebugger(debugPort); ScriptEngineProtocol *engine = ScriptingCore::getInstance(); ScriptEngineManager::getInstance()->setScriptEngine(engine); auto scene = Scene::create(); auto connectLayer = new ConnectWaitLayer(); connectLayer->autorelease(); auto director = Director::getInstance(); scene->addChild(connectLayer); director->runWithScene(scene); }
void FacebookInterface::callbackJs(int cbIndex, const char* params) { CCLOG("111"); ScriptingCore* sc = ScriptingCore::getInstance(); JSContext *cx = sc->getGlobalContext(); if (fbObject == NULL) fbObject = JSVAL_TO_OBJECT(anonEvaluate(cx, sc->getGlobalObject(), "(function () { return FB; })()")); jsval res; if (fbObject) { CCLOG("SDFSD"); } CCLOG("222"); if (params != NULL) { jsval argv[2]; argv[0] = INT_TO_JSVAL(cbIndex); std::string tstr = params; argv[1] = std_string_to_jsval(cx,tstr); JS_AddValueRoot(cx, argv); CCLOG("333, %s", tstr.c_str()); JS_CallFunctionName(cx, fbObject, "callback", 2, argv, &res); CCLOG("call fb,"); JS_RemoveValueRoot(cx, argv); } else { CCLOG("444"); jsval argv[1]; argv[0] = INT_TO_JSVAL(cbIndex); JS_CallFunctionName(cx, fbObject, "callback", 1, argv, &res); } CCLOG("555"); }
void TSScriptJS::GetWebConfig(std::string& Adapter_Ip, int& Adapter_Port) { ScriptingCore* sc = ScriptingCore::getInstance(); sc->runScript("Config/Config.js"); JSObject* pObj; jsval obj; JS_GetProperty(sc->getGlobalContext(),sc->getGlobalObject(),"IP", &obj); JS_ValueToObject(sc->getGlobalContext(),obj,&pObj); jsval AdaptServerIP; JS_GetProperty(sc->getGlobalContext(),pObj,"AdaptServerIP", &AdaptServerIP); JSString* pS = JS_ValueToString(sc->getGlobalContext(), AdaptServerIP); JSStringWrapper pW(pS); Adapter_Ip = pW.get().c_str(); TSLog("AdapteServer Ip = %s", pW.get().c_str()); jsval ip_port; JS_GetProperty(sc->getGlobalContext(),pObj,"AdaptServerPort", &ip_port); JSString* pS_port = JS_ValueToString(sc->getGlobalContext(), ip_port); JSStringWrapper pWs(pS_port); Adapter_Port = atoi(pWs.get().c_str()); TSLog("AdapteServer Port = %s",pWs.get().c_str()); }
bool AppDelegate::applicationDidFinishLaunching() { // initialize director Director *director = Director::getInstance(); director->setOpenGLView(EGLView::getInstance()); // turn on display FPS director->setDisplayStats(true); // set FPS. the default value is 1.0/60 if you don't call this director->setAnimationInterval(1.0 / 60); ScriptingCore* sc = ScriptingCore::getInstance(); sc->addRegisterCallback(register_all_cocos2dx); sc->addRegisterCallback(register_all_cocos2dx_extension); sc->addRegisterCallback(register_cocos2dx_js_extensions); sc->addRegisterCallback(register_all_cocos2dx_extension_manual); sc->addRegisterCallback(jsb_register_chipmunk); sc->addRegisterCallback(JSB_register_opengl); sc->addRegisterCallback(jsb_register_system); sc->addRegisterCallback(register_mask_all); sc->start(); ScriptEngineProtocol *engine = ScriptingCore::getInstance(); ScriptEngineManager::getInstance()->setScriptEngine(engine); ScriptingCore::getInstance()->runScript("cocos2d-jsb.js"); cocos2d::plugin::TAdsDeveloperInfo devInfo; devInfo["AdmobID"] = "a1530e0a2793b0f"; /*my id*/ cocos2d::plugin::ProtocolAds* admob = dynamic_cast<cocos2d::plugin::ProtocolAds*>(cocos2d::plugin::PluginManager::getInstance()->loadPlugin("AdsAdmob")); cocos2d::plugin::AdsListener* listener = new MyAdsListener(); cocos2d::plugin::ProtocolAds::AdsPos posAdmob = cocos2d::plugin::ProtocolAds::kPosTopLeft; cocos2d::plugin::TAdsInfo adInfo; admob->configDeveloperInfo(devInfo); admob->setAdsListener(listener); admob->setDebugMode(false); adInfo["AdmobType"] = "1"; adInfo["AdmobSizeEnum"] = "1"; admob->showAds(adInfo, posAdmob); return true; }
bool AppDelegate::applicationDidFinishLaunching() { // initialize director Director *pDirector = Director::sharedDirector(); pDirector->setOpenGLView(EGLView::sharedOpenGLView()); // JS-Test in Html5 uses 800x450 as design resolution EGLView::sharedOpenGLView()->setDesignResolutionSize(800, 450, kResolutionFixedHeight); // turn on display FPS pDirector->setDisplayStats(true); // set FPS. the default value is 1.0/60 if you don't call this pDirector->setAnimationInterval(1.0 / 60); ScriptingCore* sc = ScriptingCore::getInstance(); sc->addRegisterCallback(register_all_cocos2dx); sc->addRegisterCallback(register_all_cocos2dx_extension); sc->addRegisterCallback(register_cocos2dx_js_extensions); sc->addRegisterCallback(register_all_cocos2dx_extension_manual); sc->addRegisterCallback(jsb_register_chipmunk); sc->addRegisterCallback(JSB_register_opengl); sc->addRegisterCallback(jsb_register_system); sc->addRegisterCallback(MinXmlHttpRequest::_js_register); sc->addRegisterCallback(register_jsb_websocket); sc->start(); ScriptEngineProtocol *pEngine = ScriptingCore::getInstance(); ScriptEngineManager::sharedManager()->setScriptEngine(pEngine); #ifdef JS_OBFUSCATED ScriptingCore::getInstance()->runScript("game.js"); #else ScriptingCore::getInstance()->runScript("tests-boot-jsb.js"); #endif return true; }
bool AppDelegate::applicationDidFinishLaunching() { // initialize director auto director = Director::getInstance(); auto glview = director->getOpenGLView(); if(!glview) { #if(CC_TARGET_PLATFORM == CC_PLATFORM_WP8) || (CC_TARGET_PLATFORM == CC_PLATFORM_WINRT) glview = cocos2d::GLViewImpl::create("hello_world"); #else glview = cocos2d::GLViewImpl::createWithRect("hello_world", Rect(0,0,900,640)); #endif director->setOpenGLView(glview); } // set FPS. the default value is 1.0/60 if you don't call this director->setAnimationInterval(1.0 / 60); js_module_register(); ScriptingCore* sc = ScriptingCore::getInstance(); #ifdef SDKBOX_ENABLED sc->addRegisterCallback(register_all_PluginIAPJS); sc->addRegisterCallback(register_all_PluginIAPJS_helper); sc->addRegisterCallback(register_all_PluginFacebookJS); sc->addRegisterCallback(register_all_PluginFacebookJS_helper); #endif sc->start(); sc->runScript("script/jsb_boot.js"); #if defined(COCOS2D_DEBUG) && (COCOS2D_DEBUG > 0) sc->enableDebugger(); #endif ScriptEngineManager::getInstance()->setScriptEngine(sc); ScriptingCore::getInstance()->runScript("main.js"); return true; }