KarmaEngine
Game Engine for practical learning and research purposes
Loading...
Searching...
No Matches
Karma::ULevel Class Reference

A Level is a collection of Actors (lights, volumes, mesh instances etc.). Multiple Levels can be loaded and unloaded into the World to create a streaming experience. More...

#include <Level.h>

Inheritance diagram for Karma::ULevel:
Collaboration diagram for Karma::ULevel:

Public Member Functions

void Initialize (const FURL &InURL)
 Initializes the Level appropriately.
 
void SetWorldSettings (AWorldSettings *NewWorldSettings)
 Set level's world settings.
 
virtual UWorldGetWorld () const override final
 Override for UObject's GetWorld.
 
- Public Member Functions inherited from Karma::UObject
 UObject ()
 
virtual void FinishDestroy ()
 
virtual const std::string & GetDesc ()
 Return a one line description of an object for viewing in the thumbnail view of the generic browser.
 
bool IsValidChecked (const UObject *Test)
 
virtual void BeginDestroy ()
 Called before destroying the object. This is called immediately upon deciding to destroy the object, to allow the object to begin an asynchronous cleanup process.
 
FORCEINLINE bool Modify (bool bAlwaysMarkDirty=true)
 
bool IsSelected () const
 Test the selection state of a UObject.
 
- Public Member Functions inherited from Karma::UObjectBase
 UObjectBase (UClass *inClass, EObjectFlags inFlags, EInternalObjectFlags inInternalFlags, UObject *inOuter, const std::string &inName)
 
UPackageGetPackage () const
 
UPackageGetExternalPackage () const
 
bool IsUnreachable () const
 
FORCEINLINE void SetInternalIndex (uint32_t StoreIndex)
 
FORCEINLINE uint32_t GetInternalIndex () const
 
void MarkAsGarbage ()
 
void ClearGarbage ()
 
FORCEINLINE const std::string & GetName () const
 
FORCEINLINE void SetObjectName (const std::string &aName)
 
FORCEINLINE UObjectGetOuter () const
 
UObjectGetTypedOuter (UClass *Target) const
 
template<typename T>
T * GetTypedOuter () const
 
bool IsValidLowLevel () const
 
template<typename OtherClassType>
FORCEINLINE bool IsA (OtherClassType SomeBase) const
 
FORCEINLINE UClassGetClass () const
 
FORCEINLINE EObjectFlags GetFlags () const
 
FORCEINLINE void SetFlags (EObjectFlags NewFlags)
 
FORCEINLINE void ClearFlags (EObjectFlags FlagsToClear)
 
FORCEINLINE bool HasAnyFlags (EObjectFlags FlagsToCheck) const
 
FORCEINLINE bool HasAnyInternalFlags (EInternalObjectFlags FlagsToCheck) const
 
FORCEINLINE void SetInternalFlags (EInternalObjectFlags FlagsToSet) const
 
FORCEINLINE void AddToRoot ()
 

Public Attributes

FURL m_URL
 
KarmaVector< AActor * > m_Actors
 
std::vector< AActor * > m_ActorsForGC
 
UWorldm_OwningWorld
 The World that has this level in its Levels array.
 

Additional Inherited Members

- Static Public Member Functions inherited from Karma::UObject
static const char * StaticConfigName ()
 
- Static Public Member Functions inherited from Karma::UObjectBase
static FORCEINLINE EInternalObjectFlags FixGarbageOrPendingKillInternalObjectFlags (const EInternalObjectFlags InFlags)
 
- Protected Member Functions inherited from Karma::UObjectBase
 UObjectBase ()
 Providing a default constructor.
 
FORCEINLINE void SetFlagsTo (EObjectFlags NewFlags)
 

Detailed Description

A Level is a collection of Actors (lights, volumes, mesh instances etc.). Multiple Levels can be loaded and unloaded into the World to create a streaming experience.

See also
https://docs.unrealengine.com/latest/INT/Engine/Levels

Member Function Documentation

◆ GetWorld()

UWorld * Karma::ULevel::GetWorld ( ) const
finaloverridevirtual

Override for UObject's GetWorld.

Note
C++ final specifier is used
Returns
m_OwningWorld
Since
Karma 1.0.0

Reimplemented from Karma::UObject.

◆ Initialize()

void Karma::ULevel::Initialize ( const FURL & InURL)

Initializes the Level appropriately.

Parameters
InURLThe Karma's URL with which initialization may happen
Todo
Empty at the moment. Shall be filled in future with enough context.
See also
UWorld::InitializeNewWorld

◆ SetWorldSettings()

void Karma::ULevel::SetWorldSettings ( AWorldSettings * NewWorldSettings)

Set level's world settings.

Todo
not completely functional yet
Since
Karma 1.0.0

Member Data Documentation

◆ m_Actors

KarmaVector<AActor*> Karma::ULevel::m_Actors

Array of all actors in this level, used by FActorIteratorBase and derived classes

◆ m_ActorsForGC

std::vector<AActor*> Karma::ULevel::m_ActorsForGC

Array of actors to be exposed to GC in this level. All other actors will be referenced through ULevelActorContainer

◆ m_OwningWorld

UWorld* Karma::ULevel::m_OwningWorld

The World that has this level in its Levels array.

This is not the same as GetOuter(), because GetOuter() for a streaming level is a vestigial world that is not used. It should not be accessed during BeginDestroy(), just like any other UObject references, since GC may occur in any order.

◆ m_URL

FURL Karma::ULevel::m_URL

URL associated with this level.


The documentation for this class was generated from the following files: