From ee44a4f0b70e7bdc2a9de563b9fa38ffa20d800c Mon Sep 17 00:00:00 2001 From: Daniel Stevens Date: Wed, 17 May 2023 08:23:25 -0600 Subject: [PATCH 1/5] Move `RobotList` definition from `Common.h` to `RobotPool.h` --- OPHD/Common.h | 3 --- OPHD/RobotPool.h | 1 + 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/OPHD/Common.h b/OPHD/Common.h index 7b5521c53..ee3294498 100644 --- a/OPHD/Common.h +++ b/OPHD/Common.h @@ -299,9 +299,6 @@ enum class Morale }; -class Robot; -using RobotList = std::vector; - extern const std::map TILE_INDEX_TRANSLATION; extern const std::map MINE_YIELD_TRANSLATION; diff --git a/OPHD/RobotPool.h b/OPHD/RobotPool.h index 506e7f59c..5ae9e41fa 100644 --- a/OPHD/RobotPool.h +++ b/OPHD/RobotPool.h @@ -10,6 +10,7 @@ class Tile; class RobotCommand; +using RobotList = std::vector; class RobotPool From 28c967f321cdb24964a962e93fa7823c42efde80 Mon Sep 17 00:00:00 2001 From: Daniel Stevens Date: Wed, 17 May 2023 08:25:28 -0600 Subject: [PATCH 2/5] Add missing include for `Constants/Strings.h` to `main.cpp` The file was transitively included through `MapViewState.h` -> `RobotPool.h` -> `Robots.h` -> `Robodigger.h` -> `Constants/Strings.h`. By refactoring the remove the include from `Robodigger.h`, `main.cpp` failed to compile. --- OPHD/main.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/OPHD/main.cpp b/OPHD/main.cpp index bf8550bca..a006e2afa 100644 --- a/OPHD/main.cpp +++ b/OPHD/main.cpp @@ -1,5 +1,6 @@ #include "Cache.h" #include "Common.h" +#include "Constants/Strings.h" #include "Constants/Numbers.h" #include "WindowEventWrapper.h" From 1d35b910b765c8ad6af7fe91e1df7a4cb21d6ea6 Mon Sep 17 00:00:00 2001 From: Daniel Stevens Date: Wed, 17 May 2023 08:31:30 -0600 Subject: [PATCH 3/5] Move `Robodigger` method implementation to .cpp --- OPHD/MapObjects/Robots/Robodigger.cpp | 31 +++++++++++++++++++++++++++ OPHD/MapObjects/Robots/Robodigger.h | 25 +++++++-------------- OPHD/ophd.vcxproj | 1 + OPHD/ophd.vcxproj.filters | 3 +++ 4 files changed, 43 insertions(+), 17 deletions(-) create mode 100644 OPHD/MapObjects/Robots/Robodigger.cpp diff --git a/OPHD/MapObjects/Robots/Robodigger.cpp b/OPHD/MapObjects/Robots/Robodigger.cpp new file mode 100644 index 000000000..dbbd2fc97 --- /dev/null +++ b/OPHD/MapObjects/Robots/Robodigger.cpp @@ -0,0 +1,31 @@ +#include "Robodigger.h" + +#include "../../Common.h" +#include "../../Constants/Strings.h" + + +Robodigger::Robodigger() : + Robot(constants::Robodigger, "robots/robodigger.sprite", Robot::Type::Digger), + mDirection(Direction::Down) +{ +} + + +void Robodigger::direction(Direction dir) +{ + mDirection = dir; +} + + +Direction Robodigger::direction() const +{ + return mDirection; +} + + +NAS2D::Dictionary Robodigger::getDataDict() const +{ + auto dictionary = Robot::getDataDict(); + dictionary.set("direction", static_cast(mDirection)); + return dictionary; +} diff --git a/OPHD/MapObjects/Robots/Robodigger.h b/OPHD/MapObjects/Robots/Robodigger.h index b23c04d26..7f52ca6d2 100644 --- a/OPHD/MapObjects/Robots/Robodigger.h +++ b/OPHD/MapObjects/Robots/Robodigger.h @@ -2,28 +2,19 @@ #include "../Robot.h" -#include "../../Common.h" -#include "../../Constants/Strings.h" + +enum class Direction; class Robodigger : public Robot { public: - Robodigger() : - Robot(constants::Robodigger, "robots/robodigger.sprite", Robot::Type::Digger), - mDirection(Direction::Down) - { - } - - void direction(Direction dir) { mDirection = dir; } - Direction direction() const { return mDirection; } - - NAS2D::Dictionary getDataDict() const override - { - auto dictionary = Robot::getDataDict(); - dictionary.set("direction", static_cast(mDirection)); - return dictionary; - } + Robodigger(); + + void direction(Direction dir); + Direction direction() const; + + NAS2D::Dictionary getDataDict() const override; private: Direction mDirection; diff --git a/OPHD/ophd.vcxproj b/OPHD/ophd.vcxproj index 61ab9a045..fa33f0587 100644 --- a/OPHD/ophd.vcxproj +++ b/OPHD/ophd.vcxproj @@ -267,6 +267,7 @@ IF NOT "$(VcpkgInstalledDir)" == "" ( + diff --git a/OPHD/ophd.vcxproj.filters b/OPHD/ophd.vcxproj.filters index 9cee93273..ac21d0a2e 100644 --- a/OPHD/ophd.vcxproj.filters +++ b/OPHD/ophd.vcxproj.filters @@ -135,6 +135,9 @@ Source Files\MapObjects + + Source Files\MapObjects + Source Files\MapObjects\Structures From 0c1545a1706865690dfac623de45ca6076d407d9 Mon Sep 17 00:00:00 2001 From: Daniel Stevens Date: Wed, 17 May 2023 08:39:33 -0600 Subject: [PATCH 4/5] Move `Robodozer` method implementation to .cpp --- OPHD/MapObjects/Robots/Robodozer.cpp | 25 +++++++++++++++++++++++++ OPHD/MapObjects/Robots/Robodozer.h | 21 ++++----------------- OPHD/ophd.vcxproj | 1 + OPHD/ophd.vcxproj.filters | 3 +++ 4 files changed, 33 insertions(+), 17 deletions(-) create mode 100644 OPHD/MapObjects/Robots/Robodozer.cpp diff --git a/OPHD/MapObjects/Robots/Robodozer.cpp b/OPHD/MapObjects/Robots/Robodozer.cpp new file mode 100644 index 000000000..84378f7f6 --- /dev/null +++ b/OPHD/MapObjects/Robots/Robodozer.cpp @@ -0,0 +1,25 @@ +#include "Robodozer.h" + +#include "../../Constants/Strings.h" +#include "../../Map/Tile.h" + + +Robodozer::Robodozer() : + Robot(constants::Robodozer, "robots/robodozer.sprite", Robot::Type::Dozer) +{ +} + + +void Robodozer::startTask(Tile& tile) +{ + Robot::startTask(tile); + + mTileIndex = static_cast(tile.index()); + tile.index(TerrainType::Dozed); +} + + +void Robodozer::abortTask(Tile& tile) +{ + tile.index(static_cast(mTileIndex)); +} diff --git a/OPHD/MapObjects/Robots/Robodozer.h b/OPHD/MapObjects/Robots/Robodozer.h index 4e28df31d..ce0a1b033 100644 --- a/OPHD/MapObjects/Robots/Robodozer.h +++ b/OPHD/MapObjects/Robots/Robodozer.h @@ -2,29 +2,16 @@ #include "../Robot.h" -#include "../../Constants/Strings.h" -#include "../../Map/Tile.h" +class Tile; class Robodozer : public Robot { public: - Robodozer(): Robot(constants::Robodozer, "robots/robodozer.sprite", Robot::Type::Dozer) - { - } + Robodozer(); - void startTask(Tile& tile) override - { - Robot::startTask(tile); - - mTileIndex = static_cast(tile.index()); - tile.index(TerrainType::Dozed); - } - - void abortTask(Tile& tile) override - { - tile.index(static_cast(mTileIndex)); - } + void startTask(Tile& tile) override; + void abortTask(Tile& tile) override; private: std::size_t mTileIndex = 0; diff --git a/OPHD/ophd.vcxproj b/OPHD/ophd.vcxproj index fa33f0587..a8b63b20a 100644 --- a/OPHD/ophd.vcxproj +++ b/OPHD/ophd.vcxproj @@ -268,6 +268,7 @@ IF NOT "$(VcpkgInstalledDir)" == "" ( + diff --git a/OPHD/ophd.vcxproj.filters b/OPHD/ophd.vcxproj.filters index ac21d0a2e..f9716f0d4 100644 --- a/OPHD/ophd.vcxproj.filters +++ b/OPHD/ophd.vcxproj.filters @@ -138,6 +138,9 @@ Source Files\MapObjects + + Source Files\MapObjects + Source Files\MapObjects\Structures From 5c683ca8819fcd86699091a5eddb91cabf7ad1dc Mon Sep 17 00:00:00 2001 From: Daniel Stevens Date: Wed, 17 May 2023 08:41:41 -0600 Subject: [PATCH 5/5] Move `Robominer` method implementation to .cpp --- OPHD/MapObjects/Robots/Robominer.cpp | 9 +++++++++ OPHD/MapObjects/Robots/Robominer.h | 6 ++---- OPHD/ophd.vcxproj | 1 + OPHD/ophd.vcxproj.filters | 3 +++ 4 files changed, 15 insertions(+), 4 deletions(-) create mode 100644 OPHD/MapObjects/Robots/Robominer.cpp diff --git a/OPHD/MapObjects/Robots/Robominer.cpp b/OPHD/MapObjects/Robots/Robominer.cpp new file mode 100644 index 000000000..77e6c28b7 --- /dev/null +++ b/OPHD/MapObjects/Robots/Robominer.cpp @@ -0,0 +1,9 @@ +#include "Robominer.h" + +#include "../../Constants/Strings.h" + + +Robominer::Robominer() : + Robot(constants::Robominer, "robots/robominer.sprite", Robot::Type::Miner) +{ +} diff --git a/OPHD/MapObjects/Robots/Robominer.h b/OPHD/MapObjects/Robots/Robominer.h index f614d6354..d0cdbfd89 100644 --- a/OPHD/MapObjects/Robots/Robominer.h +++ b/OPHD/MapObjects/Robots/Robominer.h @@ -1,13 +1,11 @@ #pragma once #include "../Robot.h" -#include "../../Constants/Strings.h" class Robominer : public Robot { public: - Robominer(): Robot(constants::Robominer, "robots/robominer.sprite", Robot::Type::Miner) - { - } + Robominer(); + }; diff --git a/OPHD/ophd.vcxproj b/OPHD/ophd.vcxproj index a8b63b20a..6a50571e3 100644 --- a/OPHD/ophd.vcxproj +++ b/OPHD/ophd.vcxproj @@ -269,6 +269,7 @@ IF NOT "$(VcpkgInstalledDir)" == "" ( + diff --git a/OPHD/ophd.vcxproj.filters b/OPHD/ophd.vcxproj.filters index f9716f0d4..6d322cbcc 100644 --- a/OPHD/ophd.vcxproj.filters +++ b/OPHD/ophd.vcxproj.filters @@ -141,6 +141,9 @@ Source Files\MapObjects + + Source Files\MapObjects + Source Files\MapObjects\Structures