Use AncestralClass to speed up Object::cast_to when possible.

This commit is contained in:
Lukas Tenbrink 2025-09-22 01:30:57 +02:00
parent 149a4b4ca1
commit 96619d46a1
15 changed files with 62 additions and 8 deletions

View file

@ -55,6 +55,8 @@ protected:
static void _bind_methods();
public:
static constexpr AncestralClass static_ancestral_class = AncestralClass::NODE_2D;
#ifdef TOOLS_ENABLED
virtual Dictionary _edit_get_state() const override;
virtual void _edit_set_state(const Dictionary &p_state) override;

View file

@ -37,6 +37,8 @@ class Area2D : public CollisionObject2D {
GDCLASS(Area2D, CollisionObject2D);
public:
static constexpr AncestralClass static_ancestral_class = AncestralClass::AREA_2D;
enum SpaceOverride {
SPACE_OVERRIDE_DISABLED,
SPACE_OVERRIDE_COMBINE,

View file

@ -39,6 +39,8 @@ class CollisionObject2D : public Node2D {
GDCLASS(CollisionObject2D, Node2D);
public:
static constexpr AncestralClass static_ancestral_class = AncestralClass::COLLISION_OBJECT_2D;
enum DisableMode {
DISABLE_MODE_REMOVE,
DISABLE_MODE_MAKE_STATIC,