diff options
-rw-r--r-- | kurator/CMakeLists.txt | 1 | ||||
-rw-r--r-- | kurator/src/Campaign.cpp | 33 | ||||
-rw-r--r-- | kurator/src/Campaign.h | 24 | ||||
-rw-r--r-- | kurator/src/SceneBuilder.cpp | 10 | ||||
-rw-r--r-- | kurator/src/SceneBuilder.h | 1 |
5 files changed, 69 insertions, 0 deletions
diff --git a/kurator/CMakeLists.txt b/kurator/CMakeLists.txt index 7dc50ef..989ab6f 100644 --- a/kurator/CMakeLists.txt +++ b/kurator/CMakeLists.txt @@ -3,6 +3,7 @@ add_executable( ${PROJECT_NAME} src/args.cpp src/Battle.cpp + src/Campaign.cpp src/colors.cpp src/ForceBalance.cpp src/main.cpp diff --git a/kurator/src/Campaign.cpp b/kurator/src/Campaign.cpp new file mode 100644 index 0000000..c109f63 --- /dev/null +++ b/kurator/src/Campaign.cpp @@ -0,0 +1,33 @@ +#include "Campaign.h" + +#include <memory> +#include <utility> + +#include <raylib.h> + +#include "Session.h" + +namespace kurator +{ + + +Campaign::Campaign(std::shared_ptr<Session> _session) : + session {std::move(_session)} +{ +} + + +void +Campaign::update(const float) +{ +} + + +void +Campaign::draw() const +{ + ClearBackground(BLACK); +} + + +} // namespace kurator diff --git a/kurator/src/Campaign.h b/kurator/src/Campaign.h new file mode 100644 index 0000000..80d1506 --- /dev/null +++ b/kurator/src/Campaign.h @@ -0,0 +1,24 @@ +#pragma once + +#include <memory> + +#include "Scene.h" +#include "Session.h" + + +namespace kurator +{ + + +class Campaign : public Scene +{ +public: + Campaign(std::shared_ptr<Session> _session); + void update(float dt) override; + void draw() const override; +private: + std::shared_ptr<Session> session; +}; + + +} // namespace kurator diff --git a/kurator/src/SceneBuilder.cpp b/kurator/src/SceneBuilder.cpp index 108b9e4..b9f13ab 100644 --- a/kurator/src/SceneBuilder.cpp +++ b/kurator/src/SceneBuilder.cpp @@ -5,6 +5,7 @@ #include <utility> #include "Battle.h" +#include "Campaign.h" #include "ScenarioEditor.h" #include "Scene.h" #include "Title.h" @@ -25,6 +26,8 @@ SceneBuilder::build(std::string_view name) const { if (name == "Battle") return battle(); + if (name == "Campaign") + return campaign(); if (name == "ScenarioEditor") return scenario_editor(); return title(); @@ -39,6 +42,13 @@ SceneBuilder::battle() const std::shared_ptr<Scene> +SceneBuilder::campaign() const +{ + return std::make_shared<Campaign>(session); +} + + +std::shared_ptr<Scene> SceneBuilder::scenario_editor() const { return std::make_shared<ScenarioEditor>(session); diff --git a/kurator/src/SceneBuilder.h b/kurator/src/SceneBuilder.h index ea39a94..631a6e9 100644 --- a/kurator/src/SceneBuilder.h +++ b/kurator/src/SceneBuilder.h @@ -17,6 +17,7 @@ public: explicit SceneBuilder(std::shared_ptr<Session> _session); std::shared_ptr<Scene> build(std::string_view name) const; std::shared_ptr<Scene> battle() const; + std::shared_ptr<Scene> campaign() const; std::shared_ptr<Scene> scenario_editor() const; std::shared_ptr<Scene> title() const; private: |