mirror of https://github.com/axmolengine/axmol.git
35 lines
874 B
C
35 lines
874 B
C
|
\#include "${out_file}.hpp"
|
||
|
\#include "cocos2d_specifics.hpp"
|
||
|
#for header in $headers
|
||
|
\#include "${os.path.basename(header)}"
|
||
|
#end for
|
||
|
|
||
|
template<class T>
|
||
|
static JSBool dummy_constructor(JSContext *cx, uint32_t argc, jsval *vp) {
|
||
|
TypeTest<T> t;
|
||
|
T* cobj = new T();
|
||
|
#if not $script_control_cpp
|
||
|
cocos2d::CCObject *_ccobj = dynamic_cast<cocos2d::CCObject *>(cobj);
|
||
|
if (_ccobj) {
|
||
|
_ccobj->autorelease();
|
||
|
}
|
||
|
#end if
|
||
|
js_type_class_t *p;
|
||
|
uint32_t typeId = t.s_id();
|
||
|
HASH_FIND_INT(_js_global_type_ht, &typeId, p);
|
||
|
assert(p);
|
||
|
JSObject *_tmp = JS_NewObject(cx, p->jsclass, p->proto, p->parentProto);
|
||
|
js_proxy_t *pp = jsb_new_proxy(cobj, _tmp);
|
||
|
#if not $script_control_cpp
|
||
|
JS_AddObjectRoot(cx, &pp->obj);
|
||
|
#end if
|
||
|
JS_SET_RVAL(cx, vp, OBJECT_TO_JSVAL(_tmp));
|
||
|
|
||
|
return JS_TRUE;
|
||
|
}
|
||
|
|
||
|
static JSBool empty_constructor(JSContext *cx, uint32_t argc, jsval *vp) {
|
||
|
return JS_FALSE;
|
||
|
}
|
||
|
|