mirror of https://github.com/axmolengine/axmol.git
merge cocos
This commit is contained in:
commit
d50c1823d4
|
@ -74,8 +74,7 @@ void Component::onEnter()
|
|||
#if CC_ENABLE_SCRIPT_BINDING
|
||||
if (_scriptType == kScriptTypeJavascript)
|
||||
{
|
||||
if (sendComponentEventToJS(this, kComponentOnEnter))
|
||||
return;
|
||||
sendComponentEventToJS(this, kComponentOnEnter);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
@ -85,8 +84,27 @@ void Component::onExit()
|
|||
#if CC_ENABLE_SCRIPT_BINDING
|
||||
if (_scriptType == kScriptTypeJavascript)
|
||||
{
|
||||
if (sendComponentEventToJS(this, kComponentOnExit))
|
||||
return;
|
||||
sendComponentEventToJS(this, kComponentOnExit);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
void Component::onAdd()
|
||||
{
|
||||
#if CC_ENABLE_SCRIPT_BINDING
|
||||
if (_scriptType == kScriptTypeJavascript)
|
||||
{
|
||||
sendComponentEventToJS(this, kComponentOnAdd);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
void Component::onRemove()
|
||||
{
|
||||
#if CC_ENABLE_SCRIPT_BINDING
|
||||
if (_scriptType == kScriptTypeJavascript)
|
||||
{
|
||||
sendComponentEventToJS(this, kComponentOnRemove);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
@ -96,8 +114,7 @@ void Component::update(float delta)
|
|||
#if CC_ENABLE_SCRIPT_BINDING
|
||||
if (_scriptType == kScriptTypeJavascript)
|
||||
{
|
||||
if (sendComponentEventToJS(this, kComponentOnUpdate))
|
||||
return;
|
||||
sendComponentEventToJS(this, kComponentOnUpdate);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
|
|
@ -38,6 +38,8 @@ class Node;
|
|||
enum {
|
||||
kComponentOnEnter,
|
||||
kComponentOnExit,
|
||||
kComponentOnAdd,
|
||||
kComponentOnRemove,
|
||||
kComponentOnUpdate
|
||||
};
|
||||
|
||||
|
@ -58,6 +60,8 @@ public:
|
|||
|
||||
virtual void onEnter();
|
||||
virtual void onExit();
|
||||
virtual void onAdd();
|
||||
virtual void onRemove();
|
||||
virtual void update(float delta);
|
||||
virtual bool serialize(void* r);
|
||||
virtual bool isEnabled() const;
|
||||
|
|
|
@ -68,7 +68,7 @@ bool ComponentContainer::add(Component *com)
|
|||
CC_BREAK_IF(component);
|
||||
com->setOwner(_owner);
|
||||
_components->insert(com->getName(), com);
|
||||
com->onEnter();
|
||||
com->onAdd();
|
||||
ret = true;
|
||||
} while(0);
|
||||
return ret;
|
||||
|
@ -85,7 +85,7 @@ bool ComponentContainer::remove(const std::string& name)
|
|||
CC_BREAK_IF(iter == _components->end());
|
||||
|
||||
auto com = iter->second;
|
||||
com->onExit();
|
||||
com->onRemove();
|
||||
com->setOwner(nullptr);
|
||||
|
||||
_components->erase(iter);
|
||||
|
@ -105,7 +105,7 @@ bool ComponentContainer::remove(Component *com)
|
|||
{
|
||||
if (iter->second == com)
|
||||
{
|
||||
com->onExit();
|
||||
com->onRemove();
|
||||
com->setOwner(nullptr);
|
||||
_components->erase(iter);
|
||||
break;
|
||||
|
@ -122,7 +122,7 @@ void ComponentContainer::removeAll()
|
|||
{
|
||||
for (auto iter = _components->begin(); iter != _components->end(); ++iter)
|
||||
{
|
||||
iter->second->onExit();
|
||||
iter->second->onRemove();
|
||||
iter->second->setOwner(nullptr);
|
||||
}
|
||||
|
||||
|
|
|
@ -1419,6 +1419,11 @@ void Node::onEnter()
|
|||
if (_onEnterCallback)
|
||||
_onEnterCallback();
|
||||
|
||||
if (_componentContainer && !_componentContainer->isEmpty())
|
||||
{
|
||||
_componentContainer->onEnter();
|
||||
}
|
||||
|
||||
#if CC_ENABLE_SCRIPT_BINDING
|
||||
if (_scriptType == kScriptTypeJavascript)
|
||||
{
|
||||
|
@ -1498,6 +1503,11 @@ void Node::onExit()
|
|||
if (_onExitCallback)
|
||||
_onExitCallback();
|
||||
|
||||
if (_componentContainer && !_componentContainer->isEmpty())
|
||||
{
|
||||
_componentContainer->onExit();
|
||||
}
|
||||
|
||||
#if CC_ENABLE_SCRIPT_BINDING
|
||||
if (_scriptType == kScriptTypeJavascript)
|
||||
{
|
||||
|
|
|
@ -248,54 +248,19 @@ void Scene::setNavMeshDebugCamera(Camera *camera)
|
|||
_navMeshDebugCamera = camera;
|
||||
}
|
||||
|
||||
void Scene::addChildToNavMesh(Node* child)
|
||||
{
|
||||
if (_navMesh)
|
||||
{
|
||||
std::function<void(Node*)> addToNavMeshFunc = nullptr;
|
||||
addToNavMeshFunc = [this, &addToNavMeshFunc](Node* node) -> void
|
||||
{
|
||||
auto agCom = static_cast<NavMeshAgent*>(node->getComponent(NavMeshAgent::getNavMeshAgentComponentName()));
|
||||
if (agCom)
|
||||
{
|
||||
agCom->onEnter();
|
||||
}
|
||||
|
||||
auto obCom = static_cast<NavMeshObstacle*>(node->getComponent(NavMeshObstacle::getNavMeshObstacleComponentName()));
|
||||
if (obCom)
|
||||
{
|
||||
obCom->onEnter();
|
||||
}
|
||||
|
||||
auto& children = node->getChildren();
|
||||
for (const auto &n : children) {
|
||||
addToNavMeshFunc(n);
|
||||
}
|
||||
};
|
||||
|
||||
addToNavMeshFunc(child);
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
#if (CC_USE_PHYSICS || (CC_USE_3D_PHYSICS && CC_ENABLE_BULLET_INTEGRATION) || CC_USE_NAVMESH)
|
||||
#if (CC_USE_PHYSICS || (CC_USE_3D_PHYSICS && CC_ENABLE_BULLET_INTEGRATION))
|
||||
void Scene::addChild(Node* child, int zOrder, int tag)
|
||||
{
|
||||
Node::addChild(child, zOrder, tag);
|
||||
addChildToPhysicsWorld(child);
|
||||
#if CC_USE_NAVMESH
|
||||
addChildToNavMesh(child);
|
||||
#endif
|
||||
}
|
||||
|
||||
void Scene::addChild(Node* child, int zOrder, const std::string &name)
|
||||
{
|
||||
Node::addChild(child, zOrder, name);
|
||||
addChildToPhysicsWorld(child);
|
||||
#if CC_USE_NAVMESH
|
||||
addChildToNavMesh(child);
|
||||
#endif
|
||||
}
|
||||
|
||||
Scene* Scene::createWithPhysics()
|
||||
|
|
|
@ -143,7 +143,7 @@ protected:
|
|||
private:
|
||||
CC_DISALLOW_COPY_AND_ASSIGN(Scene);
|
||||
|
||||
#if (CC_USE_PHYSICS || (CC_USE_3D_PHYSICS && CC_ENABLE_BULLET_INTEGRATION) || CC_USE_NAVMESH)
|
||||
#if (CC_USE_PHYSICS || (CC_USE_3D_PHYSICS && CC_ENABLE_BULLET_INTEGRATION))
|
||||
public:
|
||||
virtual void addChild(Node* child, int zOrder, int tag) override;
|
||||
virtual void addChild(Node* child, int zOrder, const std::string &name) override;
|
||||
|
@ -202,9 +202,6 @@ public:
|
|||
*/
|
||||
void setNavMeshDebugCamera(Camera *camera);
|
||||
|
||||
protected:
|
||||
void addChildToNavMesh(Node* child);
|
||||
|
||||
protected:
|
||||
NavMesh* _navMesh;
|
||||
Camera * _navMeshDebugCamera;
|
||||
|
|
|
@ -24,6 +24,7 @@
|
|||
****************************************************************************/
|
||||
|
||||
#include "base/CCData.h"
|
||||
#include "base/CCConsole.h"
|
||||
|
||||
NS_CC_BEGIN
|
||||
|
||||
|
|
|
@ -23,6 +23,7 @@
|
|||
****************************************************************************/
|
||||
|
||||
#include "base/CCEventListener.h"
|
||||
#include "base/CCConsole.h"
|
||||
|
||||
NS_CC_BEGIN
|
||||
|
||||
|
|
|
@ -24,6 +24,7 @@
|
|||
|
||||
#include "base/CCEventListenerAcceleration.h"
|
||||
#include "base/CCEventAcceleration.h"
|
||||
#include "base/CCConsole.h"
|
||||
|
||||
NS_CC_BEGIN
|
||||
|
||||
|
|
|
@ -56,6 +56,16 @@ void ComAudio::onExit()
|
|||
stopAllEffects();
|
||||
}
|
||||
|
||||
void ComAudio::onAdd()
|
||||
{
|
||||
}
|
||||
|
||||
void ComAudio::onRemove()
|
||||
{
|
||||
stopBackgroundMusic(true);
|
||||
stopAllEffects();
|
||||
}
|
||||
|
||||
bool ComAudio::isEnabled() const
|
||||
{
|
||||
return _enabled;
|
||||
|
|
|
@ -59,6 +59,16 @@ public:
|
|||
* @lua NA
|
||||
*/
|
||||
virtual void onExit() override;
|
||||
/**
|
||||
* @js NA
|
||||
* @lua NA
|
||||
*/
|
||||
virtual void onAdd() override;
|
||||
/**
|
||||
* @js NA
|
||||
* @lua NA
|
||||
*/
|
||||
virtual void onRemove() override;
|
||||
virtual bool isEnabled() const override;
|
||||
virtual void setEnabled(bool b) override;
|
||||
virtual bool serialize(void* r) override;
|
||||
|
|
|
@ -54,6 +54,18 @@ void ComController::onExit()
|
|||
{
|
||||
}
|
||||
|
||||
void ComController::onAdd()
|
||||
{
|
||||
if (_owner != nullptr)
|
||||
{
|
||||
_owner->scheduleUpdate();
|
||||
}
|
||||
}
|
||||
|
||||
void ComController::onRemove()
|
||||
{
|
||||
}
|
||||
|
||||
void ComController::update(float delta)
|
||||
{
|
||||
}
|
||||
|
|
|
@ -59,6 +59,16 @@ public:
|
|||
* @lua NA
|
||||
*/
|
||||
virtual void onExit() override;
|
||||
/**
|
||||
* @js NA
|
||||
* @lua NA
|
||||
*/
|
||||
virtual void onAdd() override;
|
||||
/**
|
||||
* @js NA
|
||||
* @lua NA
|
||||
*/
|
||||
virtual void onRemove() override;
|
||||
virtual void update(float delta) override;
|
||||
virtual bool isEnabled() const override;
|
||||
virtual void setEnabled(bool b) override;
|
||||
|
|
|
@ -68,6 +68,22 @@ void ComRender::onExit()
|
|||
}
|
||||
}
|
||||
|
||||
void ComRender::onAdd()
|
||||
{
|
||||
if (_owner != nullptr)
|
||||
{
|
||||
_owner->addChild(_render);
|
||||
}
|
||||
}
|
||||
|
||||
void ComRender::onRemove()
|
||||
{
|
||||
if (_owner != nullptr)
|
||||
{
|
||||
_owner->removeChild(_render, true);
|
||||
}
|
||||
}
|
||||
|
||||
cocos2d::Node* ComRender::getNode()
|
||||
{
|
||||
return _render;
|
||||
|
|
|
@ -57,6 +57,16 @@ public:
|
|||
* @lua NA
|
||||
*/
|
||||
virtual void onExit() override;
|
||||
/**
|
||||
* @js NA
|
||||
* @lua NA
|
||||
*/
|
||||
virtual void onAdd() override;
|
||||
/**
|
||||
* @js NA
|
||||
* @lua NA
|
||||
*/
|
||||
virtual void onRemove() override;
|
||||
virtual bool serialize(void* r) override;
|
||||
virtual cocos2d::Node* getNode();
|
||||
virtual void setNode(cocos2d::Node *node);
|
||||
|
|
|
@ -202,6 +202,8 @@ static bool configureCURL(HttpClient* client, CURL* handle, char* errorBuffer)
|
|||
// Document is here: http://curl.haxx.se/libcurl/c/curl_easy_setopt.html#CURLOPTNOSIGNAL
|
||||
curl_easy_setopt(handle, CURLOPT_NOSIGNAL, 1L);
|
||||
|
||||
curl_easy_setopt(handle, CURLOPT_ACCEPT_ENCODING, "");
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
@ -28,6 +28,8 @@ import java.io.DataInputStream;
|
|||
import java.io.FileInputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.OutputStream;
|
||||
import java.util.zip.GZIPInputStream;
|
||||
import java.util.zip.InflaterInputStream;
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.InputStream;
|
||||
import java.net.HttpURLConnection;
|
||||
|
@ -260,11 +262,20 @@ public class Cocos2dxHttpURLConnection
|
|||
}
|
||||
|
||||
static byte[] getResponseContent(HttpURLConnection http) {
|
||||
DataInputStream in;
|
||||
try {
|
||||
in = new DataInputStream(http.getInputStream());
|
||||
InputStream in;
|
||||
try {
|
||||
in = http.getInputStream();
|
||||
String contentEncoding = http.getContentEncoding();
|
||||
if (contentEncoding != null) {
|
||||
if(contentEncoding.equalsIgnoreCase("gzip")){
|
||||
in = new GZIPInputStream(http.getInputStream()); //reads 2 bytes to determine GZIP stream!
|
||||
}
|
||||
else if(contentEncoding.equalsIgnoreCase("deflate")){
|
||||
in = new InflaterInputStream(http.getInputStream());
|
||||
}
|
||||
}
|
||||
} catch (IOException e) {
|
||||
in = new DataInputStream(http.getErrorStream());
|
||||
in = http.getErrorStream();
|
||||
} catch (Exception e) {
|
||||
Log.e("Cocos2dxHttpURLConnection exception", e.toString());
|
||||
return null;
|
||||
|
|
|
@ -22213,16 +22213,6 @@ isEnabled : function (
|
|||
return false;
|
||||
},
|
||||
|
||||
/**
|
||||
* @method update
|
||||
* @param {float} arg0
|
||||
*/
|
||||
update : function (
|
||||
float
|
||||
)
|
||||
{
|
||||
},
|
||||
|
||||
/**
|
||||
* @method getOwner
|
||||
* @return {cc.Node}
|
||||
|
@ -22243,16 +22233,6 @@ init : function (
|
|||
return false;
|
||||
},
|
||||
|
||||
/**
|
||||
* @method setOwner
|
||||
* @param {cc.Node} arg0
|
||||
*/
|
||||
setOwner : function (
|
||||
node
|
||||
)
|
||||
{
|
||||
},
|
||||
|
||||
/**
|
||||
* @method getName
|
||||
* @return {String}
|
||||
|
@ -22263,6 +22243,16 @@ getName : function (
|
|||
return ;
|
||||
},
|
||||
|
||||
/**
|
||||
* @method setOwner
|
||||
* @param {cc.Node} arg0
|
||||
*/
|
||||
setOwner : function (
|
||||
node
|
||||
)
|
||||
{
|
||||
},
|
||||
|
||||
/**
|
||||
* @method create
|
||||
* @return {cc.Component}
|
||||
|
|
|
@ -67823,26 +67823,6 @@ bool js_cocos2dx_Component_isEnabled(JSContext *cx, uint32_t argc, jsval *vp)
|
|||
JS_ReportError(cx, "js_cocos2dx_Component_isEnabled : wrong number of arguments: %d, was expecting %d", argc, 0);
|
||||
return false;
|
||||
}
|
||||
bool js_cocos2dx_Component_update(JSContext *cx, uint32_t argc, jsval *vp)
|
||||
{
|
||||
JS::CallArgs args = JS::CallArgsFromVp(argc, vp);
|
||||
bool ok = true;
|
||||
JS::RootedObject obj(cx, args.thisv().toObjectOrNull());
|
||||
js_proxy_t *proxy = jsb_get_js_proxy(obj);
|
||||
cocos2d::Component* cobj = (cocos2d::Component *)(proxy ? proxy->ptr : NULL);
|
||||
JSB_PRECONDITION2( cobj, cx, false, "js_cocos2dx_Component_update : Invalid Native Object");
|
||||
if (argc == 1) {
|
||||
double arg0;
|
||||
ok &= JS::ToNumber( cx, args.get(0), &arg0) && !isnan(arg0);
|
||||
JSB_PRECONDITION2(ok, cx, false, "js_cocos2dx_Component_update : Error processing arguments");
|
||||
cobj->update(arg0);
|
||||
args.rval().setUndefined();
|
||||
return true;
|
||||
}
|
||||
|
||||
JS_ReportError(cx, "js_cocos2dx_Component_update : wrong number of arguments: %d, was expecting %d", argc, 1);
|
||||
return false;
|
||||
}
|
||||
bool js_cocos2dx_Component_getOwner(JSContext *cx, uint32_t argc, jsval *vp)
|
||||
{
|
||||
JS::CallArgs args = JS::CallArgsFromVp(argc, vp);
|
||||
|
@ -67886,6 +67866,24 @@ bool js_cocos2dx_Component_init(JSContext *cx, uint32_t argc, jsval *vp)
|
|||
JS_ReportError(cx, "js_cocos2dx_Component_init : wrong number of arguments: %d, was expecting %d", argc, 0);
|
||||
return false;
|
||||
}
|
||||
bool js_cocos2dx_Component_getName(JSContext *cx, uint32_t argc, jsval *vp)
|
||||
{
|
||||
JS::CallArgs args = JS::CallArgsFromVp(argc, vp);
|
||||
JS::RootedObject obj(cx, args.thisv().toObjectOrNull());
|
||||
js_proxy_t *proxy = jsb_get_js_proxy(obj);
|
||||
cocos2d::Component* cobj = (cocos2d::Component *)(proxy ? proxy->ptr : NULL);
|
||||
JSB_PRECONDITION2( cobj, cx, false, "js_cocos2dx_Component_getName : Invalid Native Object");
|
||||
if (argc == 0) {
|
||||
const std::string& ret = cobj->getName();
|
||||
jsval jsret = JSVAL_NULL;
|
||||
jsret = std_string_to_jsval(cx, ret);
|
||||
args.rval().set(jsret);
|
||||
return true;
|
||||
}
|
||||
|
||||
JS_ReportError(cx, "js_cocos2dx_Component_getName : wrong number of arguments: %d, was expecting %d", argc, 0);
|
||||
return false;
|
||||
}
|
||||
bool js_cocos2dx_Component_setOwner(JSContext *cx, uint32_t argc, jsval *vp)
|
||||
{
|
||||
JS::CallArgs args = JS::CallArgsFromVp(argc, vp);
|
||||
|
@ -67914,24 +67912,6 @@ bool js_cocos2dx_Component_setOwner(JSContext *cx, uint32_t argc, jsval *vp)
|
|||
JS_ReportError(cx, "js_cocos2dx_Component_setOwner : wrong number of arguments: %d, was expecting %d", argc, 1);
|
||||
return false;
|
||||
}
|
||||
bool js_cocos2dx_Component_getName(JSContext *cx, uint32_t argc, jsval *vp)
|
||||
{
|
||||
JS::CallArgs args = JS::CallArgsFromVp(argc, vp);
|
||||
JS::RootedObject obj(cx, args.thisv().toObjectOrNull());
|
||||
js_proxy_t *proxy = jsb_get_js_proxy(obj);
|
||||
cocos2d::Component* cobj = (cocos2d::Component *)(proxy ? proxy->ptr : NULL);
|
||||
JSB_PRECONDITION2( cobj, cx, false, "js_cocos2dx_Component_getName : Invalid Native Object");
|
||||
if (argc == 0) {
|
||||
const std::string& ret = cobj->getName();
|
||||
jsval jsret = JSVAL_NULL;
|
||||
jsret = std_string_to_jsval(cx, ret);
|
||||
args.rval().set(jsret);
|
||||
return true;
|
||||
}
|
||||
|
||||
JS_ReportError(cx, "js_cocos2dx_Component_getName : wrong number of arguments: %d, was expecting %d", argc, 0);
|
||||
return false;
|
||||
}
|
||||
bool js_cocos2dx_Component_create(JSContext *cx, uint32_t argc, jsval *vp)
|
||||
{
|
||||
JS::CallArgs args = JS::CallArgsFromVp(argc, vp);
|
||||
|
@ -68026,11 +68006,10 @@ void js_register_cocos2dx_Component(JSContext *cx, JS::HandleObject global) {
|
|||
JS_FN("setEnabled", js_cocos2dx_Component_setEnabled, 1, JSPROP_PERMANENT | JSPROP_ENUMERATE),
|
||||
JS_FN("setName", js_cocos2dx_Component_setName, 1, JSPROP_PERMANENT | JSPROP_ENUMERATE),
|
||||
JS_FN("isEnabled", js_cocos2dx_Component_isEnabled, 0, JSPROP_PERMANENT | JSPROP_ENUMERATE),
|
||||
JS_FN("update", js_cocos2dx_Component_update, 1, JSPROP_PERMANENT | JSPROP_ENUMERATE),
|
||||
JS_FN("getOwner", js_cocos2dx_Component_getOwner, 0, JSPROP_PERMANENT | JSPROP_ENUMERATE),
|
||||
JS_FN("init", js_cocos2dx_Component_init, 0, JSPROP_PERMANENT | JSPROP_ENUMERATE),
|
||||
JS_FN("setOwner", js_cocos2dx_Component_setOwner, 1, JSPROP_PERMANENT | JSPROP_ENUMERATE),
|
||||
JS_FN("getName", js_cocos2dx_Component_getName, 0, JSPROP_PERMANENT | JSPROP_ENUMERATE),
|
||||
JS_FN("setOwner", js_cocos2dx_Component_setOwner, 1, JSPROP_PERMANENT | JSPROP_ENUMERATE),
|
||||
JS_FN("ctor", js_cocos2d_Component_ctor, 0, JSPROP_PERMANENT | JSPROP_ENUMERATE),
|
||||
JS_FS_END
|
||||
};
|
||||
|
|
|
@ -3922,11 +3922,10 @@ void register_all_cocos2dx(JSContext* cx, JS::HandleObject obj);
|
|||
bool js_cocos2dx_Component_setEnabled(JSContext *cx, uint32_t argc, jsval *vp);
|
||||
bool js_cocos2dx_Component_setName(JSContext *cx, uint32_t argc, jsval *vp);
|
||||
bool js_cocos2dx_Component_isEnabled(JSContext *cx, uint32_t argc, jsval *vp);
|
||||
bool js_cocos2dx_Component_update(JSContext *cx, uint32_t argc, jsval *vp);
|
||||
bool js_cocos2dx_Component_getOwner(JSContext *cx, uint32_t argc, jsval *vp);
|
||||
bool js_cocos2dx_Component_init(JSContext *cx, uint32_t argc, jsval *vp);
|
||||
bool js_cocos2dx_Component_setOwner(JSContext *cx, uint32_t argc, jsval *vp);
|
||||
bool js_cocos2dx_Component_getName(JSContext *cx, uint32_t argc, jsval *vp);
|
||||
bool js_cocos2dx_Component_setOwner(JSContext *cx, uint32_t argc, jsval *vp);
|
||||
bool js_cocos2dx_Component_create(JSContext *cx, uint32_t argc, jsval *vp);
|
||||
bool js_cocos2dx_Component_Component(JSContext *cx, uint32_t argc, jsval *vp);
|
||||
|
||||
|
|
|
@ -1058,28 +1058,29 @@ int ScriptingCore::handleComponentEvent(void* data)
|
|||
JS::RootedValue retval(_cx);
|
||||
jsval dataVal = INT_TO_JSVAL(1);
|
||||
|
||||
if (action == kComponentOnEnter)
|
||||
JS::RootedValue nodeValue(_cx, OBJECT_TO_JSVAL(p->obj.get()));
|
||||
|
||||
if (action == kComponentOnAdd)
|
||||
{
|
||||
if (isFunctionOverridedInJS(JS::RootedObject(_cx, p->obj.get()), "onEnter", js_cocos2dx_Component_onEnter))
|
||||
{
|
||||
ret = executeFunctionWithOwner(OBJECT_TO_JSVAL(p->obj), "onEnter", 1, &dataVal, &retval);
|
||||
}
|
||||
ret = executeFunctionWithOwner(nodeValue, "onAdd", 1, &dataVal, &retval);
|
||||
}
|
||||
else if (action == kComponentOnRemove)
|
||||
{
|
||||
ret = executeFunctionWithOwner(nodeValue, "onRemove", 1, &dataVal, &retval);
|
||||
}
|
||||
else if (action == kComponentOnEnter)
|
||||
{
|
||||
ret = executeFunctionWithOwner(nodeValue, "onEnter", 1, &dataVal, &retval);
|
||||
resumeSchedulesAndActions(p);
|
||||
}
|
||||
else if (action == kComponentOnExit)
|
||||
{
|
||||
if (isFunctionOverridedInJS(JS::RootedObject(_cx, p->obj.get()), "onExit", js_cocos2dx_Component_onExit))
|
||||
{
|
||||
ret = executeFunctionWithOwner(OBJECT_TO_JSVAL(p->obj), "onExit", 1, &dataVal, &retval);
|
||||
}
|
||||
ret = executeFunctionWithOwner(nodeValue, "onExit", 1, &dataVal, &retval);
|
||||
pauseSchedulesAndActions(p);
|
||||
}
|
||||
else if (action == kComponentOnUpdate)
|
||||
{
|
||||
if (isFunctionOverridedInJS(JS::RootedObject(_cx, p->obj.get()), "update", js_cocos2dx_Component_update))
|
||||
{
|
||||
ret = executeFunctionWithOwner(OBJECT_TO_JSVAL(p->obj), "update", 1, &dataVal, &retval);
|
||||
}
|
||||
ret = executeFunctionWithOwner(nodeValue, "update", 1, &dataVal, &retval);
|
||||
}
|
||||
|
||||
return ret;
|
||||
|
|
|
@ -2693,36 +2693,6 @@ bool js_cocos2dx_CCNode_convertToWorldSpaceAR(JSContext *cx, uint32_t argc, jsva
|
|||
return true;
|
||||
}
|
||||
|
||||
bool js_cocos2dx_Component_onEnter(JSContext *cx, uint32_t argc, jsval *vp)
|
||||
{
|
||||
JSObject *thisObj = JS_THIS_OBJECT(cx, vp);
|
||||
if (thisObj) {
|
||||
js_proxy_t *proxy = jsb_get_js_proxy(thisObj);
|
||||
if (proxy) {
|
||||
ScriptingCore::getInstance()->setCalledFromScript(true);
|
||||
static_cast<Component*>(proxy->ptr)->onEnter();
|
||||
return true;
|
||||
}
|
||||
}
|
||||
JS_ReportError(cx, "Invalid Native Object.");
|
||||
return false;
|
||||
}
|
||||
|
||||
bool js_cocos2dx_Component_onExit(JSContext *cx, uint32_t argc, jsval *vp)
|
||||
{
|
||||
JSObject *thisObj = JS_THIS_OBJECT(cx, vp);
|
||||
if (thisObj) {
|
||||
js_proxy_t *proxy = jsb_get_js_proxy(thisObj);
|
||||
if (proxy) {
|
||||
ScriptingCore::getInstance()->setCalledFromScript(true);
|
||||
static_cast<Component*>(proxy->ptr)->onExit();
|
||||
return true;
|
||||
}
|
||||
}
|
||||
JS_ReportError(cx, "Invalid Native Object.");
|
||||
return false;
|
||||
}
|
||||
|
||||
bool js_cocos2dx_CCTMXLayer_tileFlagsAt(JSContext *cx, uint32_t argc, jsval *vp)
|
||||
{
|
||||
JS::CallArgs args = JS::CallArgsFromVp(argc, vp);
|
||||
|
@ -5490,10 +5460,6 @@ void register_cocos2dx_js_core(JSContext* cx, JS::HandleObject global)
|
|||
tmpObj.set(jsb_cocos2d_GLProgramState_prototype);
|
||||
JS_DefineFunction(cx, tmpObj, "setVertexAttribPointer", js_cocos2dx_GLProgramState_setVertexAttribPointer, 6, JSPROP_ENUMERATE | JSPROP_PERMANENT);
|
||||
JS_DefineFunction(cx, tmpObj, "setUniformVec4", js_cocos2dx_GLProgramState_setUniformVec4, 2, JSPROP_ENUMERATE | JSPROP_PERMANENT);
|
||||
|
||||
tmpObj.set(jsb_cocos2d_Component_prototype);
|
||||
JS_DefineFunction(cx, tmpObj, "onEnter", js_cocos2dx_Component_onEnter, 0, JSPROP_ENUMERATE | JSPROP_PERMANENT);
|
||||
JS_DefineFunction(cx, tmpObj, "onExit", js_cocos2dx_Component_onExit, 0, JSPROP_ENUMERATE | JSPROP_PERMANENT);
|
||||
|
||||
tmpObj.set(jsb_cocos2d_Scheduler_prototype);
|
||||
JS_DefineFunction(cx, tmpObj, "retain", js_cocos2dx_retain, 0, JSPROP_ENUMERATE | JSPROP_PERMANENT);
|
||||
|
|
|
@ -908,7 +908,7 @@ bool js_cocos2dx_ext_release(JSContext *cx, uint32_t argc, jsval *vp)
|
|||
}
|
||||
|
||||
|
||||
__JSDownloaderDelegator::__JSDownloaderDelegator(JSContext *cx, JS::HandleObject obj, const std::string &url, JS::HandleValue callback)
|
||||
__JSDownloaderDelegator::__JSDownloaderDelegator(JSContext *cx, JS::HandleObject obj, const std::string &url, JS::HandleObject callback)
|
||||
: _cx(cx)
|
||||
, _url(url)
|
||||
, _buffer(nullptr)
|
||||
|
@ -917,7 +917,27 @@ __JSDownloaderDelegator::__JSDownloaderDelegator(JSContext *cx, JS::HandleObject
|
|||
_obj.ref().set(obj);
|
||||
_jsCallback.construct(_cx);
|
||||
_jsCallback.ref().set(callback);
|
||||
|
||||
}
|
||||
|
||||
__JSDownloaderDelegator::~__JSDownloaderDelegator()
|
||||
{
|
||||
_obj.destroyIfConstructed();
|
||||
_jsCallback.destroyIfConstructed();
|
||||
if (_buffer != nullptr)
|
||||
free(_buffer);
|
||||
_downloader->setErrorCallback(nullptr);
|
||||
_downloader->setSuccessCallback(nullptr);
|
||||
}
|
||||
|
||||
__JSDownloaderDelegator *__JSDownloaderDelegator::create(JSContext *cx, JS::HandleObject obj, const std::string &url, JS::HandleObject callback)
|
||||
{
|
||||
__JSDownloaderDelegator *delegate = new (std::nothrow) __JSDownloaderDelegator(cx, obj, url, callback);
|
||||
delegate->autorelease();
|
||||
return delegate;
|
||||
}
|
||||
|
||||
void __JSDownloaderDelegator::startDownload()
|
||||
{
|
||||
if (Director::getInstance()->getTextureCache()->getTextureForKey(_url))
|
||||
{
|
||||
onSuccess(nullptr, nullptr, nullptr);
|
||||
|
@ -929,12 +949,9 @@ __JSDownloaderDelegator::__JSDownloaderDelegator(JSContext *cx, JS::HandleObject
|
|||
_downloader->setErrorCallback( std::bind(&__JSDownloaderDelegator::onError, this, std::placeholders::_1) );
|
||||
_downloader->setSuccessCallback( std::bind(&__JSDownloaderDelegator::onSuccess, this, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3) );
|
||||
|
||||
long contentSize = _downloader->getContentSize(_url);
|
||||
if (contentSize == -1) {
|
||||
cocos2d::extension::Downloader::Error err;
|
||||
onError(err);
|
||||
}
|
||||
else {
|
||||
cocos2d::extension::Downloader::HeaderInfo info = _downloader->getHeader(_url);
|
||||
long contentSize = info.contentSize;
|
||||
if (contentSize > 0 && info.responseCode < 400) {
|
||||
_size = contentSize / sizeof(unsigned char);
|
||||
_buffer = (unsigned char*)malloc(contentSize);
|
||||
_downloader->downloadToBufferSync(_url, _buffer, _size);
|
||||
|
@ -942,79 +959,85 @@ __JSDownloaderDelegator::__JSDownloaderDelegator(JSContext *cx, JS::HandleObject
|
|||
}
|
||||
}
|
||||
|
||||
__JSDownloaderDelegator::~__JSDownloaderDelegator()
|
||||
void __JSDownloaderDelegator::download()
|
||||
{
|
||||
if (_buffer != nullptr)
|
||||
free(_buffer);
|
||||
_downloader->setErrorCallback(nullptr);
|
||||
_downloader->setSuccessCallback(nullptr);
|
||||
retain();
|
||||
startDownload();
|
||||
}
|
||||
|
||||
void __JSDownloaderDelegator::downloadAsync()
|
||||
{
|
||||
retain();
|
||||
auto t = std::thread(&__JSDownloaderDelegator::startDownload, this);
|
||||
t.detach();
|
||||
}
|
||||
|
||||
void __JSDownloaderDelegator::onError(const cocos2d::extension::Downloader::Error &error)
|
||||
{
|
||||
if (!_jsCallback.ref().isNull()) {
|
||||
JSContext *cx = ScriptingCore::getInstance()->getGlobalContext();
|
||||
JS::RootedObject global(cx, ScriptingCore::getInstance()->getGlobalObject());
|
||||
|
||||
JSAutoCompartment ac(_cx, _obj.ref());
|
||||
|
||||
jsval succeed = BOOLEAN_TO_JSVAL(false);
|
||||
JS::RootedValue retval(cx);
|
||||
JS_CallFunctionValue(cx, global, _jsCallback.ref(), JS::HandleValueArray::fromMarkedLocation(1, &succeed), &retval);
|
||||
}
|
||||
this->release();
|
||||
Director::getInstance()->getScheduler()->performFunctionInCocosThread([this]
|
||||
{
|
||||
JS::RootedValue callback(_cx, OBJECT_TO_JSVAL(_jsCallback.ref()));
|
||||
if (!callback.isNull()) {
|
||||
JS::RootedObject global(_cx, ScriptingCore::getInstance()->getGlobalObject());
|
||||
JSAutoCompartment ac(_cx, global);
|
||||
|
||||
jsval succeed = BOOLEAN_TO_JSVAL(false);
|
||||
JS::RootedValue retval(_cx);
|
||||
JS_CallFunctionValue(_cx, global, callback, JS::HandleValueArray::fromMarkedLocation(1, &succeed), &retval);
|
||||
}
|
||||
release();
|
||||
});
|
||||
}
|
||||
|
||||
void __JSDownloaderDelegator::onSuccess(const std::string &srcUrl, const std::string &storagePath, const std::string &customId)
|
||||
{
|
||||
Image *image = new Image();
|
||||
jsval valArr[2];
|
||||
JSContext *cx = ScriptingCore::getInstance()->getGlobalContext();
|
||||
JS::RootedObject global(cx, ScriptingCore::getInstance()->getGlobalObject());
|
||||
cocos2d::TextureCache *cache = Director::getInstance()->getTextureCache();
|
||||
|
||||
JSAutoCompartment ac(_cx, _obj.ref() ? _obj.ref() : global);
|
||||
|
||||
Texture2D *tex = cache->getTextureForKey(_url);
|
||||
if (tex)
|
||||
if (!tex)
|
||||
{
|
||||
valArr[0] = BOOLEAN_TO_JSVAL(true);
|
||||
js_proxy_t* p = jsb_get_native_proxy(tex);
|
||||
valArr[1] = OBJECT_TO_JSVAL(p->obj);
|
||||
if (image->initWithImageData(_buffer, _size))
|
||||
{
|
||||
tex = Director::getInstance()->getTextureCache()->addImage(image, _url);
|
||||
}
|
||||
}
|
||||
else if (image->initWithImageData(_buffer, _size))
|
||||
{
|
||||
tex = Director::getInstance()->getTextureCache()->addImage(image, _url);
|
||||
valArr[0] = BOOLEAN_TO_JSVAL(true);
|
||||
|
||||
JS::RootedObject texProto(cx, jsb_cocos2d_Texture2D_prototype);
|
||||
JSObject *obj = JS_NewObject(cx, jsb_cocos2d_Texture2D_class, texProto, global);
|
||||
// link the native object with the javascript object
|
||||
js_proxy_t* p = jsb_new_proxy(tex, obj);
|
||||
JS::AddNamedObjectRoot(cx, &p->obj, "cocos2d::Texture2D");
|
||||
valArr[1] = OBJECT_TO_JSVAL(p->obj);
|
||||
}
|
||||
else
|
||||
{
|
||||
valArr[0] = BOOLEAN_TO_JSVAL(false);
|
||||
valArr[1] = JSVAL_NULL;
|
||||
}
|
||||
|
||||
image->release();
|
||||
|
||||
if (!_jsCallback.ref().isNull()) {
|
||||
JS::RootedValue retval(cx);
|
||||
JS_CallFunctionValue(cx, global, _jsCallback.ref(), JS::HandleValueArray::fromMarkedLocation(2, valArr), &retval);
|
||||
}
|
||||
this->release();
|
||||
}
|
||||
|
||||
void __JSDownloaderDelegator::download(JSContext *cx, JS::HandleObject obj, const std::string &url, JS::HandleValue callback)
|
||||
{
|
||||
auto t = std::thread([cx, obj, url, callback]() {
|
||||
new __JSDownloaderDelegator(cx, obj, url, callback);
|
||||
Director::getInstance()->getScheduler()->performFunctionInCocosThread([this, tex]
|
||||
{
|
||||
JS::RootedObject global(_cx, ScriptingCore::getInstance()->getGlobalObject());
|
||||
JSAutoCompartment ac(_cx, global);
|
||||
|
||||
jsval valArr[2];
|
||||
if (tex)
|
||||
{
|
||||
valArr[0] = BOOLEAN_TO_JSVAL(true);
|
||||
js_proxy_t* p = jsb_get_native_proxy(tex);
|
||||
if (!p)
|
||||
{
|
||||
JS::RootedObject texProto(_cx, jsb_cocos2d_Texture2D_prototype);
|
||||
JSObject *obj = JS_NewObject(_cx, jsb_cocos2d_Texture2D_class, texProto, global);
|
||||
// link the native object with the javascript object
|
||||
p = jsb_new_proxy(tex, obj);
|
||||
JS::AddNamedObjectRoot(_cx, &p->obj, "cocos2d::Texture2D");
|
||||
}
|
||||
valArr[1] = OBJECT_TO_JSVAL(p->obj);
|
||||
}
|
||||
else
|
||||
{
|
||||
valArr[0] = BOOLEAN_TO_JSVAL(false);
|
||||
valArr[1] = JSVAL_NULL;
|
||||
}
|
||||
|
||||
JS::RootedValue callback(_cx, OBJECT_TO_JSVAL(_jsCallback.ref()));
|
||||
if (!callback.isNull())
|
||||
{
|
||||
JS::RootedValue retval(_cx);
|
||||
JS_CallFunctionValue(_cx, global, callback, JS::HandleValueArray::fromMarkedLocation(2, valArr), &retval);
|
||||
}
|
||||
release();
|
||||
});
|
||||
t.detach();
|
||||
}
|
||||
|
||||
// jsb.loadRemoteImg(url, function(succeed, result) {})
|
||||
|
@ -1022,14 +1045,15 @@ bool js_load_remote_image(JSContext *cx, uint32_t argc, jsval *vp)
|
|||
{
|
||||
JS::CallArgs args = JS::CallArgsFromVp(argc, vp);
|
||||
JS::RootedObject obj(cx, JS_THIS_OBJECT(cx, vp));
|
||||
if (argc == 2) {
|
||||
if (argc == 2)
|
||||
{
|
||||
std::string url;
|
||||
bool ok = jsval_to_std_string(cx, args.get(0), &url);
|
||||
JS::RootedValue callback(cx, args.get(1));
|
||||
JSB_PRECONDITION2(ok, cx, false, "js_load_remote_image : Error processing arguments");
|
||||
JS::RootedObject callback(cx, args.get(1).toObjectOrNull());
|
||||
|
||||
__JSDownloaderDelegator::download(cx, obj, url, callback);
|
||||
|
||||
JSB_PRECONDITION2(ok, cx, false, "js_console_log : Error processing arguments");
|
||||
__JSDownloaderDelegator *delegate = __JSDownloaderDelegator::create(cx, obj, url, callback);
|
||||
delegate->downloadAsync();
|
||||
|
||||
args.rval().setUndefined();
|
||||
return true;
|
||||
|
|
|
@ -32,12 +32,17 @@
|
|||
class __JSDownloaderDelegator : cocos2d::Ref
|
||||
{
|
||||
public:
|
||||
static void download(JSContext *cx, JS::HandleObject obj, const std::string &url, JS::HandleValue callback);
|
||||
void downloadAsync();
|
||||
void download();
|
||||
|
||||
static __JSDownloaderDelegator *create(JSContext *cx, JS::HandleObject obj, const std::string &url, JS::HandleObject callback);
|
||||
|
||||
protected:
|
||||
__JSDownloaderDelegator(JSContext *cx, JS::HandleObject obj, const std::string &url, JS::HandleValue callback);
|
||||
__JSDownloaderDelegator(JSContext *cx, JS::HandleObject obj, const std::string &url, JS::HandleObject callback);
|
||||
~__JSDownloaderDelegator();
|
||||
|
||||
void startDownload();
|
||||
|
||||
private:
|
||||
void onSuccess(const std::string &srcUrl, const std::string &storagePath, const std::string &customId);
|
||||
void onError(const cocos2d::extension::Downloader::Error &error);
|
||||
|
@ -46,8 +51,8 @@ private:
|
|||
std::shared_ptr<cocos2d::extension::Downloader> _downloader;
|
||||
std::string _url;
|
||||
JSContext *_cx;
|
||||
mozilla::Maybe<JS::RootedValue> _jsCallback;
|
||||
mozilla::Maybe<JS::RootedObject> _obj;
|
||||
mozilla::Maybe<JS::PersistentRootedObject> _jsCallback;
|
||||
mozilla::Maybe<JS::PersistentRootedObject> _obj;
|
||||
};
|
||||
|
||||
void register_all_cocos2dx_extension_manual(JSContext* cx, JS::HandleObject global);
|
||||
|
|
|
@ -199,12 +199,6 @@
|
|||
-- @param #bool b
|
||||
-- @return ComAudio#ComAudio self (return value: ccs.ComAudio)
|
||||
|
||||
--------------------------------
|
||||
--
|
||||
-- @function [parent=#ComAudio] isEnabled
|
||||
-- @param self
|
||||
-- @return bool#bool ret (return value: bool)
|
||||
|
||||
--------------------------------
|
||||
--
|
||||
-- @function [parent=#ComAudio] serialize
|
||||
|
@ -212,10 +206,30 @@
|
|||
-- @param #void r
|
||||
-- @return bool#bool ret (return value: bool)
|
||||
|
||||
--------------------------------
|
||||
--
|
||||
-- @function [parent=#ComAudio] isEnabled
|
||||
-- @param self
|
||||
-- @return bool#bool ret (return value: bool)
|
||||
|
||||
--------------------------------
|
||||
-- js NA<br>
|
||||
-- lua NA
|
||||
-- @function [parent=#ComAudio] onRemove
|
||||
-- @param self
|
||||
-- @return ComAudio#ComAudio self (return value: ccs.ComAudio)
|
||||
|
||||
--------------------------------
|
||||
--
|
||||
-- @function [parent=#ComAudio] init
|
||||
-- @param self
|
||||
-- @return bool#bool ret (return value: bool)
|
||||
|
||||
--------------------------------
|
||||
-- js NA<br>
|
||||
-- lua NA
|
||||
-- @function [parent=#ComAudio] onAdd
|
||||
-- @param self
|
||||
-- @return ComAudio#ComAudio self (return value: ccs.ComAudio)
|
||||
|
||||
return nil
|
||||
|
|
|
@ -29,6 +29,13 @@
|
|||
-- @param self
|
||||
-- @return bool#bool ret (return value: bool)
|
||||
|
||||
--------------------------------
|
||||
-- js NA<br>
|
||||
-- lua NA
|
||||
-- @function [parent=#ComController] onRemove
|
||||
-- @param self
|
||||
-- @return ComController#ComController self (return value: ccs.ComController)
|
||||
|
||||
--------------------------------
|
||||
--
|
||||
-- @function [parent=#ComController] update
|
||||
|
@ -42,6 +49,13 @@
|
|||
-- @param self
|
||||
-- @return bool#bool ret (return value: bool)
|
||||
|
||||
--------------------------------
|
||||
-- js NA<br>
|
||||
-- lua NA
|
||||
-- @function [parent=#ComController] onAdd
|
||||
-- @param self
|
||||
-- @return ComController#ComController self (return value: ccs.ComController)
|
||||
|
||||
--------------------------------
|
||||
-- js ctor
|
||||
-- @function [parent=#ComController] ComController
|
||||
|
|
|
@ -39,4 +39,18 @@
|
|||
-- @param #void r
|
||||
-- @return bool#bool ret (return value: bool)
|
||||
|
||||
--------------------------------
|
||||
-- js NA<br>
|
||||
-- lua NA
|
||||
-- @function [parent=#ComRender] onRemove
|
||||
-- @param self
|
||||
-- @return ComRender#ComRender self (return value: ccs.ComRender)
|
||||
|
||||
--------------------------------
|
||||
-- js NA<br>
|
||||
-- lua NA
|
||||
-- @function [parent=#ComRender] onAdd
|
||||
-- @param self
|
||||
-- @return ComRender#ComRender self (return value: ccs.ComRender)
|
||||
|
||||
return nil
|
||||
|
|
|
@ -24,6 +24,12 @@
|
|||
-- @param self
|
||||
-- @return bool#bool ret (return value: bool)
|
||||
|
||||
--------------------------------
|
||||
--
|
||||
-- @function [parent=#Component] onRemove
|
||||
-- @param self
|
||||
-- @return Component#Component self (return value: cc.Component)
|
||||
|
||||
--------------------------------
|
||||
--
|
||||
-- @function [parent=#Component] update
|
||||
|
@ -45,9 +51,8 @@
|
|||
|
||||
--------------------------------
|
||||
--
|
||||
-- @function [parent=#Component] setOwner
|
||||
-- @function [parent=#Component] onAdd
|
||||
-- @param self
|
||||
-- @param #cc.Node pOwner
|
||||
-- @return Component#Component self (return value: cc.Component)
|
||||
|
||||
--------------------------------
|
||||
|
@ -56,6 +61,13 @@
|
|||
-- @param self
|
||||
-- @return string#string ret (return value: string)
|
||||
|
||||
--------------------------------
|
||||
--
|
||||
-- @function [parent=#Component] setOwner
|
||||
-- @param self
|
||||
-- @param #cc.Node pOwner
|
||||
-- @return Component#Component self (return value: cc.Component)
|
||||
|
||||
--------------------------------
|
||||
--
|
||||
-- @function [parent=#Component] create
|
||||
|
|
|
@ -91234,6 +91234,53 @@ int lua_cocos2dx_Component_isEnabled(lua_State* tolua_S)
|
|||
|
||||
return 0;
|
||||
}
|
||||
int lua_cocos2dx_Component_onRemove(lua_State* tolua_S)
|
||||
{
|
||||
int argc = 0;
|
||||
cocos2d::Component* cobj = nullptr;
|
||||
bool ok = true;
|
||||
|
||||
#if COCOS2D_DEBUG >= 1
|
||||
tolua_Error tolua_err;
|
||||
#endif
|
||||
|
||||
|
||||
#if COCOS2D_DEBUG >= 1
|
||||
if (!tolua_isusertype(tolua_S,1,"cc.Component",0,&tolua_err)) goto tolua_lerror;
|
||||
#endif
|
||||
|
||||
cobj = (cocos2d::Component*)tolua_tousertype(tolua_S,1,0);
|
||||
|
||||
#if COCOS2D_DEBUG >= 1
|
||||
if (!cobj)
|
||||
{
|
||||
tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_Component_onRemove'", nullptr);
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
argc = lua_gettop(tolua_S)-1;
|
||||
if (argc == 0)
|
||||
{
|
||||
if(!ok)
|
||||
{
|
||||
tolua_error(tolua_S,"invalid arguments in function 'lua_cocos2dx_Component_onRemove'", nullptr);
|
||||
return 0;
|
||||
}
|
||||
cobj->onRemove();
|
||||
lua_settop(tolua_S, 1);
|
||||
return 1;
|
||||
}
|
||||
luaL_error(tolua_S, "%s has wrong number of arguments: %d, was expecting %d \n", "cc.Component:onRemove",argc, 0);
|
||||
return 0;
|
||||
|
||||
#if COCOS2D_DEBUG >= 1
|
||||
tolua_lerror:
|
||||
tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_Component_onRemove'.",&tolua_err);
|
||||
#endif
|
||||
|
||||
return 0;
|
||||
}
|
||||
int lua_cocos2dx_Component_update(lua_State* tolua_S)
|
||||
{
|
||||
int argc = 0;
|
||||
|
@ -91378,7 +91425,7 @@ int lua_cocos2dx_Component_init(lua_State* tolua_S)
|
|||
|
||||
return 0;
|
||||
}
|
||||
int lua_cocos2dx_Component_setOwner(lua_State* tolua_S)
|
||||
int lua_cocos2dx_Component_onAdd(lua_State* tolua_S)
|
||||
{
|
||||
int argc = 0;
|
||||
cocos2d::Component* cobj = nullptr;
|
||||
|
@ -91398,32 +91445,29 @@ int lua_cocos2dx_Component_setOwner(lua_State* tolua_S)
|
|||
#if COCOS2D_DEBUG >= 1
|
||||
if (!cobj)
|
||||
{
|
||||
tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_Component_setOwner'", nullptr);
|
||||
tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_Component_onAdd'", nullptr);
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
argc = lua_gettop(tolua_S)-1;
|
||||
if (argc == 1)
|
||||
if (argc == 0)
|
||||
{
|
||||
cocos2d::Node* arg0;
|
||||
|
||||
ok &= luaval_to_object<cocos2d::Node>(tolua_S, 2, "cc.Node",&arg0, "cc.Component:setOwner");
|
||||
if(!ok)
|
||||
{
|
||||
tolua_error(tolua_S,"invalid arguments in function 'lua_cocos2dx_Component_setOwner'", nullptr);
|
||||
tolua_error(tolua_S,"invalid arguments in function 'lua_cocos2dx_Component_onAdd'", nullptr);
|
||||
return 0;
|
||||
}
|
||||
cobj->setOwner(arg0);
|
||||
cobj->onAdd();
|
||||
lua_settop(tolua_S, 1);
|
||||
return 1;
|
||||
}
|
||||
luaL_error(tolua_S, "%s has wrong number of arguments: %d, was expecting %d \n", "cc.Component:setOwner",argc, 1);
|
||||
luaL_error(tolua_S, "%s has wrong number of arguments: %d, was expecting %d \n", "cc.Component:onAdd",argc, 0);
|
||||
return 0;
|
||||
|
||||
#if COCOS2D_DEBUG >= 1
|
||||
tolua_lerror:
|
||||
tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_Component_setOwner'.",&tolua_err);
|
||||
tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_Component_onAdd'.",&tolua_err);
|
||||
#endif
|
||||
|
||||
return 0;
|
||||
|
@ -91475,6 +91519,56 @@ int lua_cocos2dx_Component_getName(lua_State* tolua_S)
|
|||
|
||||
return 0;
|
||||
}
|
||||
int lua_cocos2dx_Component_setOwner(lua_State* tolua_S)
|
||||
{
|
||||
int argc = 0;
|
||||
cocos2d::Component* cobj = nullptr;
|
||||
bool ok = true;
|
||||
|
||||
#if COCOS2D_DEBUG >= 1
|
||||
tolua_Error tolua_err;
|
||||
#endif
|
||||
|
||||
|
||||
#if COCOS2D_DEBUG >= 1
|
||||
if (!tolua_isusertype(tolua_S,1,"cc.Component",0,&tolua_err)) goto tolua_lerror;
|
||||
#endif
|
||||
|
||||
cobj = (cocos2d::Component*)tolua_tousertype(tolua_S,1,0);
|
||||
|
||||
#if COCOS2D_DEBUG >= 1
|
||||
if (!cobj)
|
||||
{
|
||||
tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_Component_setOwner'", nullptr);
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
argc = lua_gettop(tolua_S)-1;
|
||||
if (argc == 1)
|
||||
{
|
||||
cocos2d::Node* arg0;
|
||||
|
||||
ok &= luaval_to_object<cocos2d::Node>(tolua_S, 2, "cc.Node",&arg0, "cc.Component:setOwner");
|
||||
if(!ok)
|
||||
{
|
||||
tolua_error(tolua_S,"invalid arguments in function 'lua_cocos2dx_Component_setOwner'", nullptr);
|
||||
return 0;
|
||||
}
|
||||
cobj->setOwner(arg0);
|
||||
lua_settop(tolua_S, 1);
|
||||
return 1;
|
||||
}
|
||||
luaL_error(tolua_S, "%s has wrong number of arguments: %d, was expecting %d \n", "cc.Component:setOwner",argc, 1);
|
||||
return 0;
|
||||
|
||||
#if COCOS2D_DEBUG >= 1
|
||||
tolua_lerror:
|
||||
tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_Component_setOwner'.",&tolua_err);
|
||||
#endif
|
||||
|
||||
return 0;
|
||||
}
|
||||
int lua_cocos2dx_Component_create(lua_State* tolua_S)
|
||||
{
|
||||
int argc = 0;
|
||||
|
@ -91524,11 +91618,13 @@ int lua_register_cocos2dx_Component(lua_State* tolua_S)
|
|||
tolua_function(tolua_S,"setEnabled",lua_cocos2dx_Component_setEnabled);
|
||||
tolua_function(tolua_S,"setName",lua_cocos2dx_Component_setName);
|
||||
tolua_function(tolua_S,"isEnabled",lua_cocos2dx_Component_isEnabled);
|
||||
tolua_function(tolua_S,"onRemove",lua_cocos2dx_Component_onRemove);
|
||||
tolua_function(tolua_S,"update",lua_cocos2dx_Component_update);
|
||||
tolua_function(tolua_S,"getOwner",lua_cocos2dx_Component_getOwner);
|
||||
tolua_function(tolua_S,"init",lua_cocos2dx_Component_init);
|
||||
tolua_function(tolua_S,"setOwner",lua_cocos2dx_Component_setOwner);
|
||||
tolua_function(tolua_S,"onAdd",lua_cocos2dx_Component_onAdd);
|
||||
tolua_function(tolua_S,"getName",lua_cocos2dx_Component_getName);
|
||||
tolua_function(tolua_S,"setOwner",lua_cocos2dx_Component_setOwner);
|
||||
tolua_function(tolua_S,"create", lua_cocos2dx_Component_create);
|
||||
tolua_endmodule(tolua_S);
|
||||
std::string typeName = typeid(cocos2d::Component).name();
|
||||
|
|
|
@ -2049,6 +2049,8 @@ int register_all_cocos2dx(lua_State* tolua_S);
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -288,6 +288,7 @@ Downloader::HeaderInfo Downloader::prepareHeader(const std::string &srcUrl, void
|
|||
curl_easy_setopt(header, CURLOPT_URL, srcUrl.c_str());
|
||||
curl_easy_setopt(header, CURLOPT_HEADER, 1);
|
||||
curl_easy_setopt(header, CURLOPT_NOBODY, 1);
|
||||
curl_easy_setopt(header, CURLOPT_NOSIGNAL, 1);
|
||||
if (curl_easy_perform(header) == CURLE_OK)
|
||||
{
|
||||
char *url;
|
||||
|
@ -296,16 +297,24 @@ Downloader::HeaderInfo Downloader::prepareHeader(const std::string &srcUrl, void
|
|||
curl_easy_getinfo(header, CURLINFO_CONTENT_TYPE, &contentType);
|
||||
curl_easy_getinfo(header, CURLINFO_CONTENT_LENGTH_DOWNLOAD, &info.contentSize);
|
||||
curl_easy_getinfo(header, CURLINFO_RESPONSE_CODE, &info.responseCode);
|
||||
info.url = url;
|
||||
info.contentType = contentType;
|
||||
info.valid = true;
|
||||
|
||||
if (_onHeader)
|
||||
if (contentType == nullptr || info.contentSize == -1 || info.responseCode >= 400)
|
||||
{
|
||||
_onHeader(srcUrl, info);
|
||||
info.valid = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
info.url = url;
|
||||
info.contentType = contentType;
|
||||
info.valid = true;
|
||||
}
|
||||
}
|
||||
else
|
||||
|
||||
if (info.valid && _onHeader)
|
||||
{
|
||||
_onHeader(srcUrl, info);
|
||||
}
|
||||
else if (!info.valid)
|
||||
{
|
||||
info.contentSize = -1;
|
||||
std::string msg = StringUtils::format("Can not get content size of file (%s) : Request header failed", srcUrl.c_str());
|
||||
|
@ -325,6 +334,11 @@ long Downloader::getContentSize(const std::string &srcUrl)
|
|||
return info.contentSize;
|
||||
}
|
||||
|
||||
Downloader::HeaderInfo Downloader::getHeader(const std::string &srcUrl)
|
||||
{
|
||||
return prepareHeader(srcUrl);
|
||||
}
|
||||
|
||||
void Downloader::getHeaderAsync(const std::string &srcUrl, const HeaderCallback &callback)
|
||||
{
|
||||
setHeaderCallback(callback);
|
||||
|
@ -401,25 +415,26 @@ void Downloader::downloadToBuffer(const std::string &srcUrl, const std::string &
|
|||
CURLcode res = curl_easy_perform(curl);
|
||||
if (res != CURLE_OK)
|
||||
{
|
||||
_fileUtils->removeFile(data.path + data.name + TEMP_EXT);
|
||||
std::string msg = StringUtils::format("Unable to download file: [curl error]%s", curl_easy_strerror(res));
|
||||
std::string msg = StringUtils::format("Unable to download file to buffer: [curl error]%s", curl_easy_strerror(res));
|
||||
this->notifyError(msg, customId, res);
|
||||
}
|
||||
else
|
||||
{
|
||||
Director::getInstance()->getScheduler()->performFunctionInCocosThread([=]{
|
||||
if (!ptr.expired())
|
||||
{
|
||||
std::shared_ptr<Downloader> downloader = ptr.lock();
|
||||
|
||||
auto successCB = downloader->getSuccessCallback();
|
||||
if (successCB != nullptr)
|
||||
{
|
||||
successCB(data.url, "", data.customId);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
curl_easy_cleanup(curl);
|
||||
|
||||
Director::getInstance()->getScheduler()->performFunctionInCocosThread([=]{
|
||||
if (!ptr.expired())
|
||||
{
|
||||
std::shared_ptr<Downloader> downloader = ptr.lock();
|
||||
|
||||
auto successCB = downloader->getSuccessCallback();
|
||||
if (successCB != nullptr)
|
||||
{
|
||||
successCB(data.url, "", data.customId);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
void Downloader::downloadAsync(const std::string &srcUrl, const std::string &storagePath, const std::string &customId/* = ""*/)
|
||||
|
|
|
@ -107,7 +107,7 @@ public:
|
|||
std::string url;
|
||||
std::string contentType;
|
||||
double contentSize;
|
||||
double responseCode;
|
||||
long responseCode;
|
||||
};
|
||||
|
||||
typedef std::unordered_map<std::string, DownloadUnit> DownloadUnits;
|
||||
|
@ -139,6 +139,8 @@ public:
|
|||
|
||||
long getContentSize(const std::string &srcUrl);
|
||||
|
||||
HeaderInfo getHeader(const std::string &srcUrl);
|
||||
|
||||
void getHeaderAsync(const std::string &srcUrl, const HeaderCallback &callback);
|
||||
|
||||
void downloadToBufferAsync(const std::string &srcUrl, unsigned char *buffer, const long &size, const std::string &customId = "");
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"version":"v3-deps-59",
|
||||
"version":"v3-deps-61",
|
||||
"zip_file_size":"138162176",
|
||||
"repo_name":"cocos2d-x-3rd-party-libs-bin",
|
||||
"repo_parent":"https://github.com/cocos2d/",
|
||||
|
|
|
@ -2999,6 +2999,12 @@
|
|||
"external/recast/fastlz/fastlz.h",
|
||||
"external/recast/proj.win32/librecast.vcxproj",
|
||||
"external/recast/proj.win32/librecast.vcxproj.filters",
|
||||
"external/recast/proj.win8.1-universal/librecast.Shared/librecast.Shared.vcxitems",
|
||||
"external/recast/proj.win8.1-universal/librecast.Shared/librecast.Shared.vcxitems.filters",
|
||||
"external/recast/proj.win8.1-universal/librecast.Windows/librecast.Windows.vcxproj",
|
||||
"external/recast/proj.win8.1-universal/librecast.Windows/librecast.Windows.vcxproj.filters",
|
||||
"external/recast/proj.win8.1-universal/librecast.WindowsPhone/librecast.WindowsPhone.vcxproj",
|
||||
"external/recast/proj.win8.1-universal/librecast.WindowsPhone/librecast.WindowsPhone.vcxproj.filters",
|
||||
"external/sqlite3/Android.mk",
|
||||
"external/sqlite3/include/sqlite3.h",
|
||||
"external/sqlite3/include/sqlite3ext.h",
|
||||
|
|
|
@ -3,6 +3,11 @@
|
|||
|
||||
USING_NS_CC;
|
||||
|
||||
static cocos2d::Size designResolutionSize = cocos2d::Size(480, 320);
|
||||
static cocos2d::Size smallResolutionSize = cocos2d::Size(480, 320);
|
||||
static cocos2d::Size mediumResolutionSize = cocos2d::Size(1024, 768);
|
||||
static cocos2d::Size largeResolutionSize = cocos2d::Size(2048, 1536);
|
||||
|
||||
AppDelegate::AppDelegate() {
|
||||
|
||||
}
|
||||
|
@ -44,6 +49,25 @@ bool AppDelegate::applicationDidFinishLaunching() {
|
|||
// set FPS. the default value is 1.0/60 if you don't call this
|
||||
director->setAnimationInterval(1.0 / 60);
|
||||
|
||||
// Set the design resolution
|
||||
glview->setDesignResolutionSize(designResolutionSize.width, designResolutionSize.height, ResolutionPolicy::NO_BORDER);
|
||||
Size frameSize = glview->getFrameSize();
|
||||
// if the frame's height is larger than the height of medium size.
|
||||
if (frameSize.height > mediumResolutionSize.height)
|
||||
{
|
||||
director->setContentScaleFactor(MIN(largeResolutionSize.height/designResolutionSize.height, largeResolutionSize.width/designResolutionSize.width));
|
||||
}
|
||||
// if the frame's height is larger than the height of small size.
|
||||
else if (frameSize.height > smallResolutionSize.height)
|
||||
{
|
||||
director->setContentScaleFactor(MIN(mediumResolutionSize.height/designResolutionSize.height, mediumResolutionSize.width/designResolutionSize.width));
|
||||
}
|
||||
// if the frame's height is smaller than the height of medium size.
|
||||
else
|
||||
{
|
||||
director->setContentScaleFactor(MIN(smallResolutionSize.height/designResolutionSize.height, smallResolutionSize.width/designResolutionSize.width));
|
||||
}
|
||||
|
||||
register_all_packages();
|
||||
|
||||
// create a scene. it's an autorelease object
|
||||
|
|
|
@ -18,9 +18,9 @@ bool EnemyController::init()
|
|||
return true;
|
||||
}
|
||||
|
||||
void EnemyController::onEnter()
|
||||
void EnemyController::onAdd()
|
||||
{
|
||||
ComController::onEnter();
|
||||
ComController::onAdd();
|
||||
// Determine where to spawn the target along the Y axis
|
||||
Size winSize = Director::getInstance()->getVisibleSize();
|
||||
float minY = getOwner()->getContentSize().height/2;
|
||||
|
@ -52,7 +52,7 @@ void EnemyController::onEnter()
|
|||
_owner->runAction( Sequence::create(actionMove, actionMoveDone, nullptr) );
|
||||
}
|
||||
|
||||
void EnemyController::onExit()
|
||||
void EnemyController::onRemove()
|
||||
{
|
||||
}
|
||||
|
||||
|
|
|
@ -14,8 +14,8 @@ protected:
|
|||
|
||||
public:
|
||||
virtual bool init() override;
|
||||
virtual void onEnter() override;
|
||||
virtual void onExit() override;
|
||||
virtual void onAdd() override;
|
||||
virtual void onRemove() override;
|
||||
virtual void update(float delta) override;
|
||||
|
||||
static EnemyController* create(void);
|
||||
|
|
|
@ -20,13 +20,13 @@ bool PlayerController::init()
|
|||
return true;
|
||||
}
|
||||
|
||||
void PlayerController::onEnter()
|
||||
void PlayerController::onAdd()
|
||||
{
|
||||
ComController::onEnter();
|
||||
ComController::onAdd();
|
||||
setTouchEnabled(true);
|
||||
}
|
||||
|
||||
void PlayerController::onExit()
|
||||
void PlayerController::onRemove()
|
||||
{
|
||||
setTouchEnabled(false);
|
||||
}
|
||||
|
|
|
@ -17,8 +17,8 @@ public:
|
|||
|
||||
public:
|
||||
virtual bool init() override;
|
||||
virtual void onEnter() override;
|
||||
virtual void onExit() override;
|
||||
virtual void onAdd() override;
|
||||
virtual void onRemove() override;
|
||||
virtual void update(float delta) override;
|
||||
|
||||
static PlayerController* create(void);
|
||||
|
|
|
@ -19,9 +19,9 @@ bool ProjectileController::init()
|
|||
return true;
|
||||
}
|
||||
|
||||
void ProjectileController::onEnter()
|
||||
void ProjectileController::onAdd()
|
||||
{
|
||||
ComController::onEnter();
|
||||
ComController::onAdd();
|
||||
auto winSize = Director::getInstance()->getVisibleSize();
|
||||
auto origin = Director::getInstance()->getVisibleOrigin();
|
||||
_owner->setPosition( Vec2(origin.x+20, origin.y+winSize.height/2) );
|
||||
|
@ -30,7 +30,7 @@ void ProjectileController::onEnter()
|
|||
static_cast<SceneController*>(com)->getProjectiles().pushBack(_owner);
|
||||
}
|
||||
|
||||
void ProjectileController::onExit()
|
||||
void ProjectileController::onRemove()
|
||||
{
|
||||
|
||||
}
|
||||
|
|
|
@ -13,8 +13,8 @@ protected:
|
|||
|
||||
public:
|
||||
virtual bool init() override;
|
||||
virtual void onEnter() override;
|
||||
virtual void onExit() override;
|
||||
virtual void onAdd() override;
|
||||
virtual void onRemove() override;
|
||||
virtual void update(float delta) override;
|
||||
|
||||
static ProjectileController* create(void);
|
||||
|
|
|
@ -24,16 +24,16 @@ bool SceneController::init()
|
|||
return true;
|
||||
}
|
||||
|
||||
void SceneController::onEnter()
|
||||
void SceneController::onAdd()
|
||||
{
|
||||
ComController::onEnter();
|
||||
ComController::onAdd();
|
||||
_fAddTargetTime = 1.0f;
|
||||
|
||||
static_cast<ComAudio*>(_owner->getComponent("Audio"))->playBackgroundMusic("background.wav", true);
|
||||
static_cast<ComAttribute*>(_owner->getComponent("CCComAttribute"))->setInt("KillCount", 0);
|
||||
}
|
||||
|
||||
void SceneController::onExit()
|
||||
void SceneController::onRemove()
|
||||
{
|
||||
}
|
||||
|
||||
|
|
|
@ -13,8 +13,8 @@ protected:
|
|||
|
||||
public:
|
||||
virtual bool init() override;
|
||||
virtual void onEnter() override;
|
||||
virtual void onExit() override;
|
||||
virtual void onAdd() override;
|
||||
virtual void onRemove() override;
|
||||
virtual void update(float delta) override;
|
||||
|
||||
static SceneController* create();
|
||||
|
|
|
@ -192,7 +192,6 @@ var RemoteTextureTest = TextureCacheTestBase.extend({
|
|||
_title:"Remote Texture Test",
|
||||
_subtitle:"",
|
||||
_remoteTex: "http://cn.cocos2d-x.org/image/logo.png",
|
||||
_sprite : null,
|
||||
onEnter:function () {
|
||||
this._super();
|
||||
if('opengl' in cc.sys.capabilities && !cc.sys.isNative){
|
||||
|
@ -205,19 +204,21 @@ var RemoteTextureTest = TextureCacheTestBase.extend({
|
|||
},
|
||||
|
||||
startDownload: function() {
|
||||
cc.textureCache.addImageAsync(this._remoteTex, this.texLoaded, this);
|
||||
var imageUrlArray = ["http://www.cocos2d-x.org/s/upload/v35.jpg", "http://www.cocos2d-x.org/s/upload/testin.jpg", "http://www.cocos2d-x.org/s/upload/geometry_dash.jpg", "http://cn.cocos2d-x.org/image/logo.png"];
|
||||
|
||||
for (var i = 0; i < imageUrlArray.length; i++) {
|
||||
cc.textureCache.addImageAsync(imageUrlArray[i], this.texLoaded, this);
|
||||
}
|
||||
},
|
||||
|
||||
texLoaded: function(texture) {
|
||||
if (texture instanceof cc.Texture2D) {
|
||||
cc.log("Remote texture loaded: " + this._remoteTex);
|
||||
if (this._sprite) {
|
||||
this.removeChild(this._sprite);
|
||||
}
|
||||
this._sprite = new cc.Sprite(texture);
|
||||
this._sprite.x = cc.winSize.width/2;
|
||||
this._sprite.y = cc.winSize.height/2;
|
||||
this.addChild(this._sprite);
|
||||
cc.log("Remote texture loaded");
|
||||
|
||||
var sprite = new cc.Sprite(texture);
|
||||
sprite.x = cc.winSize.width/2;
|
||||
sprite.y = cc.winSize.height/2;
|
||||
this.addChild(sprite);
|
||||
}
|
||||
else {
|
||||
cc.log("Fail to load remote texture");
|
||||
|
|
|
@ -103,9 +103,12 @@ var XHRTestLayer = cc.Layer.extend({
|
|||
streamXHREventsToLabel(xhr, statusGetLabel, responseLabel, "GET");
|
||||
// 5 seconds for timeout
|
||||
xhr.timeout = 5000;
|
||||
|
||||
|
||||
xhr.setRequestHeader("Accept-Encoding","gzip,deflate");
|
||||
|
||||
//set arguments with <URL>?xxx=xxx&yyy=yyy
|
||||
xhr.open("GET", "http://httpbin.org/get?show_env=1", true);
|
||||
xhr.open("GET", "http://geek.csdn.net/news/detail/33683", true);
|
||||
|
||||
xhr.send();
|
||||
},
|
||||
|
||||
|
@ -129,6 +132,7 @@ var XHRTestLayer = cc.Layer.extend({
|
|||
streamXHREventsToLabel(xhr, statusPostLabel, responseLabel, "POST");
|
||||
|
||||
xhr.open("POST", "http://httpbin.org/post");
|
||||
|
||||
//set Content-type "text/plain;charset=UTF-8" to post plain text
|
||||
xhr.setRequestHeader("Content-Type","text/plain;charset=UTF-8");
|
||||
xhr.send("plain text message");
|
||||
|
|
|
@ -1 +1 @@
|
|||
Subproject commit 3c9958a1d2fc1ce1cea582c6bde0efc5a9537654
|
||||
Subproject commit 4f0fd0a30f010756e01a0e1b9c341873e981c10a
|
|
@ -118,7 +118,7 @@ skip = Node::[^setPosition$ setGLServerState description getUserObject .*UserDat
|
|||
Device::[getTextureDataForText],
|
||||
EventDispatcher::[dispatchCustomEvent],
|
||||
EventCustom::[getUserData setUserData],
|
||||
Component::[serialize],
|
||||
Component::[serialize onAdd onRemove update],
|
||||
EventListenerCustom::[init],
|
||||
EventListener::[init],
|
||||
Scene::[getCameras getLights initWithPhysics createWithPhysics getPhysicsWorld getPhysics3DWorld setPhysics3DDebugCamera setNavMesh getNavMesh setNavMeshDebugCamera],
|
||||
|
|
Loading…
Reference in New Issue