diff --git a/Source/Engine/Scripting/Script.cpp b/Source/Engine/Scripting/Script.cpp index 5bee98436..9ae173542 100644 --- a/Source/Engine/Scripting/Script.cpp +++ b/Source/Engine/Scripting/Script.cpp @@ -63,6 +63,11 @@ void Script::SetEnabled(bool value) } } +bool Script::IsEnabledInHierarchy() const +{ + return _enabled && (_parent == nullptr || _parent->IsActiveInHierarchy()); +} + Actor* Script::GetActor() const { return _parent; diff --git a/Source/Engine/Scripting/Script.h b/Source/Engine/Scripting/Script.h index 2fb0be732..54fd37605 100644 --- a/Source/Engine/Scripting/Script.h +++ b/Source/Engine/Scripting/Script.h @@ -42,6 +42,11 @@ public: /// API_PROPERTY() void SetEnabled(bool value); + /// + /// Gets value indicating if script is enabled and active in the scene graph. It must be active as well as all it's parents. + /// + API_PROPERTY(Attributes="HideInEditor, NoSerialize") bool IsEnabledInHierarchy() const; + /// /// Gets the actor owning that script. ///