Fling Engine  0.00.1
Fling Engine is a game engine written in Vulkan
Public Member Functions | Private Member Functions | Private Attributes
Fling::Level Class Reference

A level contains active objects and provides the environment for the player. More...

#include <Level.h>

Inherits Fling::NonCopyable.

Public Member Functions

 Level (const std::string &t_LevelFile, World *t_OwningWorld)
 Loads this level based on the given file name. More...
 
 ~Level ()
 
void Update (float t_DeltaTime)
 Update the BSP of actors and tick every active actor. More...
 
void Unload ()
 Unload the current level and all actors inside of it. More...
 
WorldGetOwningWorld () const
 Get the Owning World object of this level. More...
 
- Public Member Functions inherited from Fling::NonCopyable
 NonCopyable (const NonCopyable &)=delete
 
 NonCopyable (NonCopyable &&)=default
 
NonCopyableoperator= (const NonCopyable &)=delete
 
NonCopyableoperator= (NonCopyable &&)=default
 

Private Member Functions

void LoadLevel ()
 Load the level based on the current file name! More...
 
void PostLoad ()
 Any behavior that needs to happen after the level has been fully loaded. More...
 

Private Attributes

std::string m_LevelFileName = "UNLOADED"
 The path to the level file (should be a full path, NOT relative to assets dir) More...
 
Worldm_OwningWorld = nullptr
 The owning work that this level exists in. More...
 

Additional Inherited Members

- Protected Member Functions inherited from Fling::NonCopyable
 NonCopyable ()=default
 
virtual ~NonCopyable ()=default
 

Detailed Description

A level contains active objects and provides the environment for the player.

You should only load a level through the world.

Constructor & Destructor Documentation

◆ Level()

Fling::Level::Level ( const std::string &  t_LevelFile,
World t_OwningWorld 
)
explicit

Loads this level based on the given file name.

Parameters
t_LevelFileThe path to the level file (should be a full path, NOT relative to assets dir)

◆ ~Level()

Fling::Level::~Level ( )

Member Function Documentation

◆ GetOwningWorld()

World* Fling::Level::GetOwningWorld ( ) const
inline

Get the Owning World object of this level.

Returns
World*

◆ LoadLevel()

void Fling::Level::LoadLevel ( )
private

Load the level based on the current file name!

◆ PostLoad()

void Fling::Level::PostLoad ( )
private

Any behavior that needs to happen after the level has been fully loaded.

◆ Unload()

void Fling::Level::Unload ( )

Unload the current level and all actors inside of it.

◆ Update()

void Fling::Level::Update ( float  t_DeltaTime)

Update the BSP of actors and tick every active actor.

See also
World::Update
Parameters
t_DeltaTimeTime between previous frame and the current one.

Field Documentation

◆ m_LevelFileName

std::string Fling::Level::m_LevelFileName = "UNLOADED"
private

The path to the level file (should be a full path, NOT relative to assets dir)

◆ m_OwningWorld

World* Fling::Level::m_OwningWorld = nullptr
private

The owning work that this level exists in.


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