| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- #include "factory.h"
- #include "archer.h"
- #include "ballista.h"
- #include "barracks.h"
- #include "builder.h"
- #include "catapult.h"
- #include "defense_tower.h"
- #include "elephant.h"
- #include "healer.h"
- #include "home.h"
- #include "horse_archer.h"
- #include "horse_spearman.h"
- #include "horse_swordsman.h"
- #include "spearman.h"
- #include "swordsman.h"
- #include "units/spawn_type.h"
- #include "units/unit.h"
- namespace Game::Units {
- void registerBuiltInUnits(UnitFactoryRegistry ®) {
- reg.registerFactory(SpawnType::Archer, [](Engine::Core::World &world,
- const SpawnParams ¶ms) {
- return Archer::Create(world, params);
- });
- reg.registerFactory(SpawnType::Knight, [](Engine::Core::World &world,
- const SpawnParams ¶ms) {
- return Swordsman::Create(world, params);
- });
- reg.registerFactory(SpawnType::MountedKnight, [](Engine::Core::World &world,
- const SpawnParams ¶ms) {
- return MountedKnight::Create(world, params);
- });
- reg.registerFactory(SpawnType::Spearman, [](Engine::Core::World &world,
- const SpawnParams ¶ms) {
- return Spearman::Create(world, params);
- });
- reg.registerFactory(SpawnType::HorseArcher, [](Engine::Core::World &world,
- const SpawnParams ¶ms) {
- return HorseArcher::Create(world, params);
- });
- reg.registerFactory(SpawnType::HorseSpearman, [](Engine::Core::World &world,
- const SpawnParams ¶ms) {
- return HorseSpearman::Create(world, params);
- });
- reg.registerFactory(SpawnType::Healer, [](Engine::Core::World &world,
- const SpawnParams ¶ms) {
- return Healer::Create(world, params);
- });
- reg.registerFactory(SpawnType::Catapult, [](Engine::Core::World &world,
- const SpawnParams ¶ms) {
- return Catapult::Create(world, params);
- });
- reg.registerFactory(SpawnType::Ballista, [](Engine::Core::World &world,
- const SpawnParams ¶ms) {
- return Ballista::Create(world, params);
- });
- reg.registerFactory(SpawnType::Elephant, [](Engine::Core::World &world,
- const SpawnParams ¶ms) {
- return Elephant::Create(world, params);
- });
- reg.registerFactory(SpawnType::Builder, [](Engine::Core::World &world,
- const SpawnParams ¶ms) {
- return Builder::Create(world, params);
- });
- reg.registerFactory(SpawnType::Barracks, [](Engine::Core::World &world,
- const SpawnParams ¶ms) {
- return Barracks::Create(world, params);
- });
- reg.registerFactory(SpawnType::DefenseTower, [](Engine::Core::World &world,
- const SpawnParams ¶ms) {
- return DefenseTower::create(world, params);
- });
- reg.registerFactory(SpawnType::Home, [](Engine::Core::World &world,
- const SpawnParams ¶ms) {
- return Home::Create(world, params);
- });
- }
- } // namespace Game::Units
|