Merge pull request #91507 from lyuma/expose_process_modification

Allow users to override `SkeletonModifier3D._process_modification`
This commit is contained in:
Rémi Verschelde 2024-05-10 09:55:44 +02:00
commit c469ab0104
No known key found for this signature in database
GPG key ID: C3336907360768E1
4 changed files with 14 additions and 2 deletions

View file

@ -110,7 +110,7 @@ void SkeletonModifier3D::process_modification() {
}
void SkeletonModifier3D::_process_modification() {
//
GDVIRTUAL_CALL(_process_modification);
}
void SkeletonModifier3D::_notification(int p_what) {
@ -133,6 +133,7 @@ void SkeletonModifier3D::_bind_methods() {
ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "influence", PROPERTY_HINT_RANGE, "0,1,0.001"), "set_influence", "get_influence");
ADD_SIGNAL(MethodInfo("modification_processed"));
GDVIRTUAL_BIND(_process_modification);
}
SkeletonModifier3D::SkeletonModifier3D() {

View file

@ -60,6 +60,7 @@ protected:
virtual void _set_active(bool p_active);
virtual void _process_modification();
GDVIRTUAL0(_process_modification);
public:
virtual PackedStringArray get_configuration_warnings() const override;

View file

@ -589,7 +589,7 @@ void register_scene_types() {
GDREGISTER_CLASS(CPUParticles3D);
GDREGISTER_CLASS(Marker3D);
GDREGISTER_CLASS(RootMotionView);
GDREGISTER_ABSTRACT_CLASS(SkeletonModifier3D);
GDREGISTER_VIRTUAL_CLASS(SkeletonModifier3D);
OS::get_singleton()->yield(); // may take time to init