Proper 3.x style bindings for GLTFDocumentExtension.

This commit is contained in:
Relintai 2022-08-08 00:50:00 +02:00
parent 53fcf8b2d3
commit b28af3a912
2 changed files with 47 additions and 9 deletions

View File

@ -68,7 +68,7 @@ Error GLTFDocumentExtension::export_preflight(Node *p_root) {
return static_cast<Error>(err); return static_cast<Error>(err);
} }
Error GLTFDocumentExtension::import_node(Ref<GLTFState> p_state, Ref<GLTFNode> p_gltf_node, Dictionary &r_dict, Node *p_node) { Error GLTFDocumentExtension::import_node(Ref<GLTFState> p_state, Ref<GLTFNode> p_gltf_node, const Dictionary &r_dict, Node *p_node) {
ERR_FAIL_COND_V(p_state.is_null(), ERR_INVALID_PARAMETER); ERR_FAIL_COND_V(p_state.is_null(), ERR_INVALID_PARAMETER);
ERR_FAIL_COND_V(p_gltf_node.is_null(), ERR_INVALID_PARAMETER); ERR_FAIL_COND_V(p_gltf_node.is_null(), ERR_INVALID_PARAMETER);
ERR_FAIL_NULL_V(p_node, ERR_INVALID_PARAMETER); ERR_FAIL_NULL_V(p_node, ERR_INVALID_PARAMETER);
@ -77,7 +77,7 @@ Error GLTFDocumentExtension::import_node(Ref<GLTFState> p_state, Ref<GLTFNode> p
return static_cast<Error>(err); return static_cast<Error>(err);
} }
Error GLTFDocumentExtension::export_node(Ref<GLTFState> p_state, Ref<GLTFNode> p_gltf_node, Dictionary &r_dict, Node *p_node) { Error GLTFDocumentExtension::export_node(Ref<GLTFState> p_state, Ref<GLTFNode> p_gltf_node, const Dictionary &r_dict, Node *p_node) {
ERR_FAIL_COND_V(p_state.is_null(), ERR_INVALID_PARAMETER); ERR_FAIL_COND_V(p_state.is_null(), ERR_INVALID_PARAMETER);
ERR_FAIL_COND_V(p_gltf_node.is_null(), ERR_INVALID_PARAMETER); ERR_FAIL_COND_V(p_gltf_node.is_null(), ERR_INVALID_PARAMETER);
ERR_FAIL_NULL_V(p_node, ERR_INVALID_PARAMETER); ERR_FAIL_NULL_V(p_node, ERR_INVALID_PARAMETER);
@ -86,6 +86,28 @@ Error GLTFDocumentExtension::export_node(Ref<GLTFState> p_state, Ref<GLTFNode> p
return static_cast<Error>(err); return static_cast<Error>(err);
} }
int GLTFDocumentExtension::_import_preflight(Ref<GLTFState> p_state) {
return OK;
}
int GLTFDocumentExtension::_import_post_parse(Ref<GLTFState> p_state) {
return OK;
}
int GLTFDocumentExtension::_export_post(Ref<GLTFState> p_state) {
return OK;
}
int GLTFDocumentExtension::_import_post(Ref<GLTFState> p_state, Node *p_node) {
return OK;
}
int GLTFDocumentExtension::_export_preflight(Node *p_state) {
return OK;
}
int GLTFDocumentExtension::_import_node(Ref<GLTFState> p_state, Ref<GLTFNode> p_gltf_node, const Dictionary &r_json, Node *p_node) {
return OK;
}
int GLTFDocumentExtension::_export_node(Ref<GLTFState> p_state, Ref<GLTFNode> p_gltf_node, const Dictionary &r_json, Node *p_node) {
return OK;
}
GLTFDocumentExtension::GLTFDocumentExtension() { GLTFDocumentExtension::GLTFDocumentExtension() {
} }
GLTFDocumentExtension::~GLTFDocumentExtension() { GLTFDocumentExtension::~GLTFDocumentExtension() {
@ -126,4 +148,12 @@ void GLTFDocumentExtension::_bind_methods() {
BIND_VMETHOD(MethodInfo(PropertyInfo(Variant::INT, "ret"), BIND_VMETHOD(MethodInfo(PropertyInfo(Variant::INT, "ret"),
"_export_post", "_export_post",
PropertyInfo(Variant::OBJECT, "state", PROPERTY_HINT_RESOURCE_TYPE, "GLTFState"))); PropertyInfo(Variant::OBJECT, "state", PROPERTY_HINT_RESOURCE_TYPE, "GLTFState")));
ClassDB::bind_method(D_METHOD("_import_preflight", "p_state"), &GLTFDocumentExtension::_import_preflight);
ClassDB::bind_method(D_METHOD("_import_post_parse", "p_state"), &GLTFDocumentExtension::_import_post_parse);
ClassDB::bind_method(D_METHOD("_export_post", "p_state"), &GLTFDocumentExtension::_export_post);
ClassDB::bind_method(D_METHOD("_import_post", "p_state", "p_node"), &GLTFDocumentExtension::_import_post);
ClassDB::bind_method(D_METHOD("_export_preflight", "p_state"), &GLTFDocumentExtension::_export_preflight);
ClassDB::bind_method(D_METHOD("_import_node", "p_state", "p_gltf_node", "r_json", "p_node"), &GLTFDocumentExtension::_import_node);
ClassDB::bind_method(D_METHOD("_export_node", "p_state", "p_gltf_node", "r_json", "p_node"), &GLTFDocumentExtension::_export_node);
} }

View File

@ -42,13 +42,21 @@ class GLTFDocumentExtension : public Resource {
GDCLASS(GLTFDocumentExtension, Resource); GDCLASS(GLTFDocumentExtension, Resource);
public: public:
virtual Error import_preflight(Ref<GLTFState> p_state); Error import_preflight(Ref<GLTFState> p_state);
virtual Error import_post_parse(Ref<GLTFState> p_state); Error import_post_parse(Ref<GLTFState> p_state);
virtual Error export_post(Ref<GLTFState> p_state); Error export_post(Ref<GLTFState> p_state);
virtual Error import_post(Ref<GLTFState> p_state, Node *p_node); Error import_post(Ref<GLTFState> p_state, Node *p_node);
virtual Error export_preflight(Node *p_state); Error export_preflight(Node *p_state);
virtual Error import_node(Ref<GLTFState> p_state, Ref<GLTFNode> p_gltf_node, Dictionary &r_json, Node *p_node); Error import_node(Ref<GLTFState> p_state, Ref<GLTFNode> p_gltf_node, const Dictionary &r_json, Node *p_node);
virtual Error export_node(Ref<GLTFState> p_state, Ref<GLTFNode> p_gltf_node, Dictionary &r_json, Node *p_node); Error export_node(Ref<GLTFState> p_state, Ref<GLTFNode> p_gltf_node, const Dictionary &r_json, Node *p_node);
virtual int _import_preflight(Ref<GLTFState> p_state);
virtual int _import_post_parse(Ref<GLTFState> p_state);
virtual int _export_post(Ref<GLTFState> p_state);
virtual int _import_post(Ref<GLTFState> p_state, Node *p_node);
virtual int _export_preflight(Node *p_state);
virtual int _import_node(Ref<GLTFState> p_state, Ref<GLTFNode> p_gltf_node, const Dictionary &r_json, Node *p_node);
virtual int _export_node(Ref<GLTFState> p_state, Ref<GLTFNode> p_gltf_node, const Dictionary &r_json, Node *p_node);
GLTFDocumentExtension(); GLTFDocumentExtension();
~GLTFDocumentExtension(); ~GLTFDocumentExtension();