igor::iProject Class Reference

#include <iProject.h>

Inherits igor::iModule< iProject >.

Public Member Functions

void load (const iaString &path)
 
void unload ()
 
void create (const iaString &path)
 
void save ()
 
const iaStringgetProjectPath () const
 
const iaString getProjectFilepath () const
 
const iaString getScenesPath () const
 
const iaStringgetName () const
 
void setName (const iaString &projectName)
 
bool hasChanges () const
 
bool isLoaded () const
 
void addScene (const iResourceID &sceneID, const iaString &name="scene", bool active=true)
 
void removeScene (const iResourceID &sceneID)
 
const std::vector< iResourceID > & getScenes () const
 
iEntityScenePtr getProjectScene () const
 
bool hasProjectScene () const
 
iProjectSceneAddedEvent & getProjectSceneAddedEvent ()
 
iProjectSceneRemovedEvent & getProjectSceneRemovedEvent ()
 

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 Function Documentation

◆ addScene()

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

add scene to project

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

◆ getName()

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

◆ getProjectFilepath()

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

◆ getProjectPath()

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

◆ getProjectScene()

iEntityScenePtr igor::iProject::getProjectScene ( ) const
Returns
the project scene

◆ getProjectSceneAddedEvent()

iProjectSceneAddedEvent & igor::iProject::getProjectSceneAddedEvent ( )
Returns
project scene added event

◆ getProjectSceneRemovedEvent()

iProjectSceneRemovedEvent & igor::iProject::getProjectSceneRemovedEvent ( )
Returns
project scene removed event

◆ getScenes()

const std::vector< iResourceID > & igor::iProject::getScenes ( ) const
Returns
list of scene references

◆ getScenesPath()

const iaString igor::iProject::getScenesPath ( ) const
Returns
scenes folder

◆ hasChanges()

bool igor::iProject::hasChanges ( ) const
Returns
true if changes been made and not saved

◆ hasProjectScene()

bool igor::iProject::hasProjectScene ( ) const
Returns
true if project has a scene

◆ isLoaded()

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

◆ load()

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

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

Parameters
sceneIDthe scene/prefab to remove

◆ save()

void igor::iProject::save ( )

saves existing project

saves it in to existing project folder

◆ 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: