diff options
author | Aki <please@ignore.pl> | 2022-11-16 23:37:17 +0100 |
---|---|---|
committer | Aki <please@ignore.pl> | 2022-11-16 23:37:17 +0100 |
commit | 057d4061a1dca1dc76096826fd8066316ce5447d (patch) | |
tree | 24d83019e27b461eb185004d30e41ec98d43abfe /battles/src/Builder.h | |
parent | 282c56b6a1e1d9a47363e362ade013317a957b99 (diff) | |
download | kurator-057d4061a1dca1dc76096826fd8066316ce5447d.zip kurator-057d4061a1dca1dc76096826fd8066316ce5447d.tar.gz kurator-057d4061a1dca1dc76096826fd8066316ce5447d.tar.bz2 |
Extracted entity construction to Builder class
Diffstat (limited to 'battles/src/Builder.h')
-rw-r--r-- | battles/src/Builder.h | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/battles/src/Builder.h b/battles/src/Builder.h new file mode 100644 index 0000000..df50c4e --- /dev/null +++ b/battles/src/Builder.h @@ -0,0 +1,35 @@ +#pragma once + +#include <entt/entity/registry.hpp> + +#include <kurator/universe/ShipType.h> +#include <kurator/universe/TurretType.h> + +#include "Spawner.h" + + +namespace kurator +{ +namespace battles +{ + + +class Builder +{ +public: + Builder(entt::registry& _registry, Spawner& _spawner); + ~Builder() = default; + Builder(Builder&&) = delete; + Builder(const Builder&) = delete; + Builder& operator=(Builder&&) = delete; + Builder& operator=(const Builder&) = delete; + entt::entity operator()(const universe::ShipType& ship_type, int team) const; + entt::entity operator()(const universe::TurretType& turret_type, const entt::entity& owner) const; +private: + entt::registry& registry; + Spawner& spawner; +}; + + +} // namespace battles +} // namespace kurator |