1#ifndef INCLUDE_COMMON_BASEPROJECT_H_
2#define INCLUDE_COMMON_BASEPROJECT_H_
26 [[nodiscard]]
virtual const std::string &
GetName() = 0;
48 using ProjVec = std::vector<std::unique_ptr<BaseProject>>;
Structure representing an project application instance.
Definition BaseProject.h:17
virtual const std::string & GetName()=0
static bool hasUI
Definition BaseProject.h:27
virtual ~BaseProject()=default
Definition BaseProject.h:31
virtual ~ImGuiUI()=default
static void RegisterProject(std::unique_ptr< BaseProject > project)
Definition BaseProject.cpp:17
ProjectManager & operator=(const ProjectManager &)=delete
static std::shared_ptr< ProjVec > instance
Definition BaseProject.h:59
static std::shared_ptr< ProjVec > GetProjects()
Definition BaseProject.cpp:12
ProjectManager(ProjectManager &&)=delete
ProjectManager & operator=(ProjectManager &&)=delete
static void RegisterAllProjects()
registers all the projects to the vector, should be called before calling getProjects()
Definition RegisterProjects.cpp:10
std::vector< std::unique_ptr< BaseProject > > ProjVec
Definition BaseProject.h:48
ProjectManager(const ProjectManager &)=delete