igor::iProject Class Reference

#include <iProject.h>

Inherits igor::iModule< iProject >.

Public Types

enum class  iMode { Edit , Runtime }
 

Public Member Functions

void load (const iaString &path, iMode mode=iMode::Runtime)
 
bool isLoaded () const
 
void unload ()
 
void create (const iaString &path)
 
void save ()
 
const iaStringgetProjectPath () const
 
const iaString getProjectFilepath () const
 
const iaStringgetName () const
 
void setName (const iaString &projectName)
 
void addScene (const iResourceID &sceneID, const iaString &name="scene", bool active=true)
 
void removeScene (const iResourceID &sceneID)
 
iSceneAddedEvent & getSceneAddedEvent ()
 
iSceneRemovedEvent & getSceneRemovedEvent ()
 
iProjectLoadedEvent & getProjectLoadedEvent ()
 
iProjectReloadedEvent & getProjectReloadedEvent ()
 
iProjectUnloadedEvent & getProjectUnloadedEvent ()
 
const std::vector< iResourceID > & getScenes () const
 
iEntityScenePtr getRootScene () const
 
void setMode (iMode mode)
 
iProject::iMode getMode () const
 

Friends

class iModule< iProject >
 

Additional Inherited Members

- Static Public Member Functions inherited from igor::iModule< iProject >
static IGOR_INLINE iProjectgetInstance ()
 
static IGOR_INLINE bool isInstantiated ()
 
static void createInstance ()
 
static void destroyInstance ()
 
- Protected Member Functions inherited from igor::iModule< iProject >
 iModule ()=default
 
virtual ~iModule ()=default
 

Detailed Description

project definition

Member Enumeration Documentation

◆ iMode

enum class igor::iProject::iMode
strong

project mode

Enumerator
Edit 
Runtime 

Member Function Documentation

◆ addScene()

void igor::iProject::addScene ( const iResourceID sceneID,
const iaString name = "scene",
bool  active = true 
)

add scene to project's root scene

Parameters
sceneIDthe scene to add (aka type prefab)
namename of the scene
activeif scene is active when added

◆ create()

void igor::iProject::create ( const iaString path)

creates new project in given project folder and loads it

Parameters
pathgiven project folder

◆ getMode()

iProject::iMode igor::iProject::getMode ( ) const
Returns
current project mode

◆ getName()

const iaString & igor::iProject::getName ( ) const
Returns
project name

◆ getProjectFilepath()

const iaString igor::iProject::getProjectFilepath ( ) const
Returns
project file path

◆ getProjectLoadedEvent()

iProjectLoadedEvent & igor::iProject::getProjectLoadedEvent ( )
Returns
project loaded event

◆ getProjectPath()

const iaString & igor::iProject::getProjectPath ( ) const
Returns
project folder

◆ getProjectReloadedEvent()

iProjectReloadedEvent & igor::iProject::getProjectReloadedEvent ( )
Returns
project reloaded event

◆ getProjectUnloadedEvent()

iProjectUnloadedEvent & igor::iProject::getProjectUnloadedEvent ( )
Returns
project unloaded event

◆ getRootScene()

iEntityScenePtr igor::iProject::getRootScene ( ) const
Returns
the active root project scene

◆ getSceneAddedEvent()

iSceneAddedEvent & igor::iProject::getSceneAddedEvent ( )
Returns
project scene added event

◆ getSceneRemovedEvent()

iSceneRemovedEvent & igor::iProject::getSceneRemovedEvent ( )
Returns
project scene removed event

◆ getScenes()

const std::vector< iResourceID > & igor::iProject::getScenes ( ) const
Returns
list of all sub scenes in this project excluding root scene

◆ isLoaded()

bool igor::iProject::isLoaded ( ) const
Returns
true if a project currently is loaded

◆ load()

void igor::iProject::load ( const iaString path,
iMode  mode = iMode::Runtime 
)

opens project

closes active project if any

Parameters
paththe given project file or folder
Returns
project

◆ removeScene()

void igor::iProject::removeScene ( const iResourceID sceneID)

remove scene from project root scene

Parameters
sceneIDthe scene/prefab to remove

◆ save()

void igor::iProject::save ( )

saves existing project

saves it in to existing project folder

◆ setMode()

void igor::iProject::setMode ( iMode  mode)

sets project mode

this changes which copy of the root scene is used from here onwards

Parameters
modethe mode to switch to

◆ setName()

void igor::iProject::setName ( const iaString projectName)

sets project name

◆ unload()

void igor::iProject::unload ( )

unloads project

Friends And Related Function Documentation

◆ iModule< iProject >

friend class iModule< iProject >
friend

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