Implement gdxx::GodotExternClass #3
Labels
No labels
blocked
bug
duplicate
enhancement
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Blocks
Depends on
#1 Use GDExtensionInstanceBindingCallbacks properly
queertherians.org/gdxx
#7 Add a base class or interface for RefCounted (Resources)
queertherians.org/gdxx
#10 Handle class name conflicts in GodotCustomClass registration
queertherians.org/gdxx
#5 Method overriding and registration within Godot Classes
queertherians.org/gdxx
Reference
queertherians.org/gdxx#3
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Starting at line 18 in
include/GodotClass.hpp:This class is meant to provide access to a Godot Class that is implemented in the Godot Runtime without extending/registering it as a new class of its own. The naming of "extern" borrows from
externdeclarations, which are declared to be filled in by a symbol elsewhere.It is meant to be derived in C++ specifically for providing the
StringLiteralname of the class to pull from, and for methods to be declared (and eventually defined? by macros or reflection?) in the derived class to redirect such method calls to the actual Godot Class to be represented. Will include constructor and destructor initialization.Speculative: Possible handoff to Godot Runtime may be implemented via a special move operator that releases ownership, should ownership need to exit Native Space and be held in Godot Space.(edit: addressed in #1 and #2)Refer to #2 for implementation details/complications regarding basic copy/move constructors.This now needs to be worked on due to our requirement of ClassDB in #1 (GodotCustomClass), except we should probably finish method binding and translation properly before then, so actually this issue is still blocked just by something else, whoops