Refactor enum flags with __underlying_type and new EnumHasAnyFlags/EnumHasAllFlags

Fixes #832
Closes #886
This commit is contained in:
Wojtek Figat
2023-01-15 12:44:39 +01:00
parent 810f7fb803
commit f127bbebe1
101 changed files with 424 additions and 414 deletions

View File

@@ -265,7 +265,7 @@ void Script::Initialize()
{
ASSERT(!IsDuringPlay());
if (Flags & ObjectFlags::IsManagedType || Flags & ObjectFlags::IsCustomScriptingType)
if (EnumHasAnyFlags(Flags, ObjectFlags::IsManagedType | ObjectFlags::IsCustomScriptingType))
SetupType();
// Use lazy creation for the managed instance, just register the object

View File

@@ -45,7 +45,7 @@ ScriptingObject::~ScriptingObject()
ASSERT(_gcHandle == 0);
// Handle custom scripting objects removing
if (Flags & ObjectFlags::IsCustomScriptingType)
if (EnumHasAnyFlags(Flags, ObjectFlags::IsCustomScriptingType))
{
_type.Module->OnObjectDeleted(this);
}

View File

@@ -206,7 +206,7 @@ public:
/// </summary>
FORCE_INLINE bool IsRegistered() const
{
return (Flags & ObjectFlags::IsRegistered) != 0;
return (Flags & ObjectFlags::IsRegistered) != ObjectFlags::None;
}
/// <summary>