KarmaEngine
Game Engine for practical learning and research purposes
|
Low level implementation of UObject, should not be used directly in game code. More...
#include <UObjectBase.h>
Static Public Member Functions | |
static FORCEINLINE EInternalObjectFlags | FixGarbageOrPendingKillInternalObjectFlags (const EInternalObjectFlags InFlags) |
Protected Member Functions | |
UObjectBase () | |
Providing a default constructor. | |
FORCEINLINE void | SetFlagsTo (EObjectFlags NewFlags) |
Low level implementation of UObject, should not be used directly in game code.
Taken from UE's UObjectBaseUtility.h and combined UObjectBase and UObjectBaseUtility classes for simplicity
|
protected |
Providing a default constructor.
Basically required constructor for DECLARE_KARMA_CLASS(TClass, TSuperClass) in the derived classes
Karma::UObjectBase::UObjectBase | ( | UClass * | inClass, |
EObjectFlags | inFlags, | ||
EInternalObjectFlags | inInternalFlags, | ||
UObject * | inOuter, | ||
const std::string & | inName ) |
Constructor used by StaticAllocateObject
InClass | non NULL, this gives the class of the new object, if known at this time |
InFlags | RF_Flags to assign |
InOuter | outer for this object (UObject this object resides in, for instance LevelToSpawnIn is outer for AActor) |
InName | name of the new object |
InObjectArchetype | archetype to assign (not functional for now) |
|
inline |
Add an object to the root set. This prevents the object and all its descendants from being deleted during garbage collection.
|
inline |
Clears subset of flags for a specific object
FlagsToClear | EObjectFlags to be cleared |
void Karma::UObjectBase::ClearGarbage | ( | ) |
|
inlinestatic |
Helper function that sets the appropriate flag based on PK being enabled or not
|
inline |
Returns the UClass that defines the fields of this object
UPackage * Karma::UObjectBase::GetExternalPackage | ( | ) | const |
Returns the external UPackage associated with this object, if any
|
inline |
Retrieve the object flags directly
|
inline |
Getter for m_InternalIndex of UObjects
|
inline |
Returns the logical name of this object
|
inline |
UPackage * Karma::UObjectBase::GetPackage | ( | ) | const |
Walks up the list of outers until it finds a package directly associated with the object.
|
inline |
Traverses the outer chain searching for the next object of a certain type.
Traverses the outer chain searching for the next object of a certain type. (T must be derived from UObject)
Target | class to search for |
|
inline |
Used to safely check whether any of the passed in flags are set.
FlagsToCheck | Object flags to check for |
|
inline |
Used to safely check whether any of the passed in internal flags are set.
FlagsToCheck | Object flags to check for |
|
inline |
Returns true if this object is of the specified type.
bool Karma::UObjectBase::IsUnreachable | ( | ) | const |
Checks if the object is unreachable.
bool Karma::UObjectBase::IsValidLowLevel | ( | ) | const |
Checks to see if the object appears to be valid
void Karma::UObjectBase::MarkAsGarbage | ( | ) |
|
inline |
Modifies object flags for a specific object
NewFlags | The EObjectFlags to be set for this object |
|
inlineprotected |
Set the object flags directly
|
inline |
|
inline |
Set indexing for GUObjectStore for lookup of UObjects.
|
inline |
Sets the name of UObjects