|
55 | 55 | #include "jsb_cocos2dx_auto.hpp"
|
56 | 56 | #include "jsb_cocos2dx_extension_auto.hpp"
|
57 | 57 | #include "jsb_cocos2dx_builder_auto.hpp"
|
| 58 | +#include "jsb_cocos2dx_spine_auto.hpp" |
58 | 59 | #include "extension/jsb_cocos2dx_extension_manual.h"
|
| 60 | +#include "cocostudio/jsb_cocos2dx_studio_manual.h" |
| 61 | +#include "jsb_cocos2dx_studio_auto.hpp" |
| 62 | +#include "jsb_cocos2dx_ui_auto.hpp" |
| 63 | +#include "ui/jsb_cocos2dx_ui_manual.h" |
| 64 | +#include "spine/jsb_cocos2dx_spine_manual.h" |
59 | 65 | #include "cocos2d_specifics.hpp"
|
60 |
| -#include "cocosbuilder/js_bindings_ccbreader.h" |
61 |
| -#include "localstorage/js_bindings_system_registration.h" |
| 66 | +#include "cocosbuilder/cocosbuilder_specifics.hpp" |
62 | 67 | #include "chipmunk/js_bindings_chipmunk_registration.h"
|
| 68 | +#include "localstorage/js_bindings_system_registration.h" |
63 | 69 | #include "jsb_opengl_registration.h"
|
64 |
| -#include "jsb_cocos2dx_ui_auto.hpp" |
65 |
| -#include "ui/jsb_cocos2dx_ui_manual.h" |
66 |
| -#include "cocostudio/jsb_cocos2dx_studio_manual.h" |
67 |
| -#include "jsb_cocos2dx_studio_auto.hpp" |
| 70 | +#include "network/XMLHTTPRequest.h" |
| 71 | +#include "network/jsb_websocket.h" |
| 72 | +#include "network/jsb_socketio.h" |
| 73 | +#include "cocosbuilder/js_bindings_ccbreader.h" |
| 74 | + |
| 75 | +#if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS || CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID) |
| 76 | +#include "jsb_cocos2dx_pluginx_auto.hpp" |
| 77 | +#include "jsb_pluginx_extension_registration.h" |
| 78 | +#endif |
| 79 | + |
| 80 | +#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID) |
| 81 | +#include "platform/android/CCJavascriptJavaBridge.h" |
| 82 | +#elif (CC_TARGET_PLATFORM == CC_PLATFORM_IOS || CC_TARGET_PLATFORM == CC_PLATFORM_MAC) |
| 83 | +#include "platform/ios/JavaScriptObjCBridge.h" |
| 84 | +#endif |
68 | 85 |
|
69 | 86 | #ifdef ANDROID
|
70 | 87 | #include <android/log.h>
|
@@ -455,8 +472,13 @@ ScriptingCore::ScriptingCore()
|
455 | 472 | // set utf8 strings internally (we don't need utf16)
|
456 | 473 | // XXX: Removed in SpiderMonkey 19.0
|
457 | 474 | //JS_SetCStringsAreUTF8();
|
458 |
| - this->addRegisterCallback(registerDefaultClasses); |
459 |
| - this->_runLoop = new SimpleRunLoop(); |
| 475 | + initRegister(); |
| 476 | +} |
| 477 | + |
| 478 | +void ScriptingCore::initRegister() |
| 479 | +{ |
| 480 | + this->addRegisterCallback(registerDefaultClasses); |
| 481 | + this->_runLoop = new SimpleRunLoop(); |
460 | 482 | }
|
461 | 483 |
|
462 | 484 | void ScriptingCore::string_report(jsval val) {
|
@@ -737,18 +759,13 @@ bool ScriptingCore::runScript(const char *path, JSObject* global, JSContext* cx)
|
737 | 759 |
|
738 | 760 | void ScriptingCore::reset()
|
739 | 761 | {
|
740 |
| - Director::getInstance()->end(); |
| 762 | + Director::getInstance()->restart(); |
741 | 763 | }
|
742 | 764 |
|
743 |
| -void ScriptingCore::rebootVm() |
| 765 | +void ScriptingCore::restartVM() |
744 | 766 | {
|
745 |
| - Director::getInstance()->restartDirector(); |
746 |
| - // release the objects |
747 |
| - PoolManager::getInstance()->getCurrentPool()->clear(); |
748 | 767 | cleanup();
|
749 |
| - this->addRegisterCallback(registerDefaultClasses); |
750 |
| - this->_runLoop = new SimpleRunLoop(); |
751 |
| - |
| 768 | + initRegister(); |
752 | 769 | runGame();
|
753 | 770 | }
|
754 | 771 |
|
@@ -1392,7 +1409,7 @@ int ScriptingCore::sendEvent(ScriptEvent* evt)
|
1392 | 1409 | // special type, can't use this code after JSAutoCompartment
|
1393 | 1410 | if (evt->type == kRestartGame)
|
1394 | 1411 | {
|
1395 |
| - rebootVm(); |
| 1412 | + restartVM(); |
1396 | 1413 | return 0;
|
1397 | 1414 | }
|
1398 | 1415 |
|
@@ -1715,19 +1732,43 @@ void ScriptingCore::enableDebugger(unsigned int port)
|
1715 | 1732 |
|
1716 | 1733 | void ScriptingCore::register_all()
|
1717 | 1734 | {
|
| 1735 | + ScriptingCore* sc = ScriptingCore::getInstance(); |
1718 | 1736 | addRegisterCallback(register_all_cocos2dx);
|
1719 |
| - addRegisterCallback(register_all_cocos2dx_extension); |
| 1737 | + addRegisterCallback(register_cocos2dx_js_core); |
1720 | 1738 | addRegisterCallback(register_cocos2dx_js_extensions);
|
1721 |
| - addRegisterCallback(jsb_register_chipmunk); |
1722 |
| - addRegisterCallback(register_all_cocos2dx_extension_manual); |
1723 |
| - addRegisterCallback(register_all_cocos2dx_builder); |
1724 |
| - addRegisterCallback(register_CCBuilderReader); |
1725 | 1739 | addRegisterCallback(jsb_register_system);
|
| 1740 | + |
| 1741 | + addRegisterCallback(register_all_cocos2dx_extension); |
| 1742 | + addRegisterCallback(register_all_cocos2dx_extension_manual); |
| 1743 | + |
| 1744 | + addRegisterCallback(jsb_register_chipmunk); |
1726 | 1745 | addRegisterCallback(JSB_register_opengl);
|
| 1746 | + |
| 1747 | + addRegisterCallback(MinXmlHttpRequest::_js_register); |
| 1748 | + addRegisterCallback(register_jsb_websocket); |
| 1749 | + addRegisterCallback(register_jsb_socketio); |
| 1750 | + |
| 1751 | + sc->addRegisterCallback(register_all_cocos2dx_builder); |
| 1752 | + sc->addRegisterCallback(register_CCBuilderReader); |
| 1753 | + |
1727 | 1754 | addRegisterCallback(register_all_cocos2dx_ui);
|
1728 | 1755 | addRegisterCallback(register_all_cocos2dx_ui_manual);
|
1729 | 1756 | addRegisterCallback(register_all_cocos2dx_studio);
|
1730 | 1757 | addRegisterCallback(register_all_cocos2dx_studio_manual);
|
| 1758 | + |
| 1759 | + addRegisterCallback(register_all_cocos2dx_spine); |
| 1760 | + addRegisterCallback(register_all_cocos2dx_spine_manual); |
| 1761 | + |
| 1762 | +#if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS || CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID) |
| 1763 | + addRegisterCallback(register_all_pluginx_protocols); |
| 1764 | + addRegisterCallback(register_pluginx_js_extensions); |
| 1765 | +#endif |
| 1766 | + |
| 1767 | +#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID) |
| 1768 | + addRegisterCallback(JavascriptJavaBridge::_js_register); |
| 1769 | +#elif (CC_TARGET_PLATFORM == CC_PLATFORM_IOS || CC_TARGET_PLATFORM == CC_PLATFORM_MAC) |
| 1770 | + addRegisterCallback(JavaScriptObjCBridge::_js_register); |
| 1771 | +#endif |
1731 | 1772 | }
|
1732 | 1773 |
|
1733 | 1774 | void ScriptingCore::runGame()
|
|
0 commit comments