Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions .idea/inspectionProfiles/Project_Default.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 12 additions & 0 deletions .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

26 changes: 14 additions & 12 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,31 +4,33 @@ project(Engine)
set(CMAKE_CXX_STANDARD 20)

include_directories(
include
lib/myxmlpp/include
include/Engine
include
include/Core
include/Exceptions
include/Engine/component
include/Engine/component/default
include/Engine/component/default/drawables
include/Engine/component/default/colliders
include/Engine/entity
include/Engine/config
include/Engine/scene
include/Engine/settings
include/Engine/Utilities
include/Engine/Utilities/Types
include/Core/component
include/Core/component/builtins
include/Core/component/builtins/drawables
include/Core/component/builtins/colliders
include/Core/entity
include/Config
include/Core/scene
include/Core/settings
include/Utilities
include/Utilities/types
)

add_subdirectory(lib/myxmlpp)
set_target_properties(myxmlpp PROPERTIES POSITION_INDEPENDENT_CODE ON)

file(GLOB_RECURSE SRC src/*.cpp)
file(GLOB_RECURSE ICL include/*.hpp)
file(GLOB_RECURSE ICL_HEADERS include/Polymorph/*.hpp)

add_library(PolymorphEngine
${SRC}
${ICL}
${ICL_HEADERS}
)
target_link_libraries(PolymorphEngine myxmlpp dl)
target_link_options(PolymorphEngine PUBLIC "-Wl,--no-undefined")
Expand Down
4 changes: 2 additions & 2 deletions SampleProject/test_main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
** test_main.cpp
*/

#include "../include/Engine/Engine.hpp"
#include "ConfigurationException.hpp"
#include <Polymorph/Core.hpp>
#include <Polymorph/Debug.hpp>

int main()
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
** header for IComponentInitializer.c
*/

#ifndef ENGINE_COMPONENTINITIALIZER_HPP
#define ENGINE_COMPONENTINITIALIZER_HPP
#ifndef ENGINE_ACOMPONENTINITIALIZER_HPP
#define ENGINE_ACOMPONENTINITIALIZER_HPP

#include <iostream>
#include <memory>
Expand All @@ -23,7 +23,7 @@ namespace Polymorph
///////////////////////////////// Constructors /////////////////////////////////

public:
AComponentInitializer(const std::string &type, Config::XmlComponent &data, Entity &entity);
AComponentInitializer(std::string type, Config::XmlComponent &data, Entity &entity);

///////////////////////////--------------------------///////////////////////////

Expand Down Expand Up @@ -64,4 +64,4 @@ namespace Polymorph


}
#endif //ENGINE_COMPONENTINITIALIZER_HPP
#endif //ENGINE_ACOMPONENTINITIALIZER_HPP
Original file line number Diff line number Diff line change
Expand Up @@ -11,21 +11,23 @@
#ifndef ENGINE_COMPONENTFACTORY_HPP
#define ENGINE_COMPONENTFACTORY_HPP

#include "factory/ComponentInitializer.hpp"
#include <iostream>
#include <map>

#include <functional>
#include <vector>
#include <memory>

// @COMPONENTS: (add components include here)
#include "factory/initializers/TransformInitializer.hpp"
#include "factory/initializers/SpriteRendererInitializer.hpp"
#include "factory/initializers/TextRendererInitializer.hpp"

#include "ComponentsFactory/initializers/TransformInitializer.hpp"
#include "ComponentsFactory/initializers/SpriteRendererInitializer.hpp"
#include "ComponentsFactory/initializers/TextRendererInitializer.hpp"
#include "ComponentsFactory/initializers/ColliderCircle2dInitializer.hpp"
#include "ComponentsFactory/initializers/ColliderRect2dInitializer.hpp"

namespace Polymorph
{
class AComponentInitializer;
class ComponentFactory
{
public:
Expand All @@ -42,14 +44,16 @@ namespace Polymorph
///////////////////////////////// Properties ///////////////////////////////////

private:
static inline std::map<std::string,
static const inline std::map<std::string,
std::function<Initializer (Config::XmlComponent &data, Entity &entity)>>
_buildables =
{
// @INITIALIZERS: (add Component Initializers here)
// @TRANSFORM:
{
{"Transform", [](Config::XmlComponent &data, Entity &entity) -> Initializer{ return Initializer(new TransformInitializer(data, entity));}},
{"ColliderCircle2d", [](Config::XmlComponent &data, Entity &entity) -> Initializer{ return Initializer(new ColliderCircle2dInitializer(data, entity));}},
{"ColliderRect2d", [](Config::XmlComponent &data, Entity &entity) -> Initializer{ return Initializer(new ColliderRect2dInitializer(data, entity));}},
{"SpriteRenderer", [](Config::XmlComponent &data, Entity &entity) -> Initializer{ return Initializer(new SpriteRendererInitializer(data, entity));}},
{"TextRenderer", [](Config::XmlComponent &data, Entity &entity) -> Initializer{ return Initializer(new TextRendererInitializer(data, entity));}},
},
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
/*
** EPITECH PROJECT, 2020
** ColliderCircle2dInitializer.hpp
** File description:
** header for ColliderCircle2dInitializer.c
*/

#ifndef ENGINE_COLLIDERCIRCLE2DINITIALIZER_HPP
#define ENGINE_COLLIDERCIRCLE2DINITIALIZER_HPP

#include "ComponentsFactory/AComponentInitializer.hpp"

namespace Polymorph
{
class ColliderCircle2dInitializer : public AComponentInitializer
{
///////////////////////////////// Constructors /////////////////////////////////

public:
ColliderCircle2dInitializer(Config::XmlComponent &data, Entity &entity);

///////////////////////////--------------------------///////////////////////////



////////////////////////////////// Methods /////////////////////////////////////

public:
std::shared_ptr<Component> &build() final;

void reference() final {};

///////////////////////////--------------------------///////////////////////////

};
}


#endif //ENGINE_COLLIDERCIRCLE2DINITIALIZER_HPP
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
/*
** EPITECH PROJECT, 2020
** ColliderRect2dInitializer.hpp
** File description:
** header for ColliderRect2dInitializer.c
*/

#ifndef ENGINE_COLLIDERRECT2DINITIALIZER_HPP
#define ENGINE_COLLIDERRECT2DINITIALIZER_HPP

#include "ComponentsFactory/AComponentInitializer.hpp"

namespace Polymorph
{
class ColliderRect2dInitializer : public AComponentInitializer
{
///////////////////////////////// Constructors /////////////////////////////////

public:
ColliderRect2dInitializer(Config::XmlComponent &data, Entity &entity);

///////////////////////////--------------------------///////////////////////////



////////////////////////////////// Methods /////////////////////////////////////

public:
std::shared_ptr<Component> &build() final;

void reference() final {};

///////////////////////////--------------------------///////////////////////////

};
}

#endif //ENGINE_COLLIDERRECT2DINITIALIZER_HPP
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
#ifndef ENGINE_SPRITERENDERERINITIALIZER_HPP
#define ENGINE_SPRITERENDERERINITIALIZER_HPP

#include "factory/ComponentInitializer.hpp"
#include "ComponentsFactory/AComponentInitializer.hpp"

namespace Polymorph
{
Expand All @@ -29,6 +29,7 @@ namespace Polymorph
std::shared_ptr<Component> &build() final;

void reference() final;

///////////////////////////--------------------------///////////////////////////
};

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
#ifndef ENGINE_TEXTRENDERERINITIALIZER_HPP
#define ENGINE_TEXTRENDERERINITIALIZER_HPP

#include "factory/ComponentInitializer.hpp"
#include "ComponentsFactory/AComponentInitializer.hpp"

namespace Polymorph
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
#ifndef ENGINE_TRANSFORMINITIALIZER_HPP
#define ENGINE_TRANSFORMINITIALIZER_HPP

#include "factory/ComponentInitializer.hpp"
#include "ComponentsFactory/AComponentInitializer.hpp"

namespace Polymorph
{
Expand Down
Loading