R-Type
R-Type project
CampaignGenerator.hpp
1 //
2 // Created by leq on 25/10/22.
3 //
4 
5 #ifndef RTYPE_CAMPAIGNGENERATOR_HPP
6 #define RTYPE_CAMPAIGNGENERATOR_HPP
7 
8 #include <utility>
9 
10 #include "KapEngine.hpp"
11 #include "KapEngineDebug.hpp"
12 #include "KapEngineUi.hpp"
13 namespace RType {
15  public:
16  struct Enemy {
17  int _positionY;
18  int _positionX;
19  int _time;
20  std::string _mobName;
21  explicit Enemy(std::string mobName, int positionY = 0, int time = 10, int positionX = 1280) {
22  _mobName = std::move(mobName);
23  _time = time;
24  _positionY = positionY;
25  _positionX = positionX;
26  }
27  };
28  explicit CampaignGenerator(std::shared_ptr<KapEngine::GameObject> go);
29 
31 
32  void onFixedUpdate() override;
33 
34  void onAwake() override;
35 
36  std::shared_ptr<KapEngine::GameObject> spawnMob(std::string const &mobName, KapEngine::SceneManagement::Scene &scene);
37 
38  void addEnemy(Enemy const &enemy);
39 
40  private:
41  std::vector<Enemy> _enemies;
44  };
45 } // namespace RType
46 #endif // RTYPE_CAMPAIGNGENERATOR_HPP
KapEngine::Time::ETime
Engine Time is internal time system of engine.
Definition: ETime.hpp:25
RType::CampaignGenerator::Enemy
Definition: CampaignGenerator.hpp:16
RType::CampaignGenerator::onAwake
void onAwake() override
call component awake
Definition: CampaignGenerator.cpp:17
KapEngine::Time::EClock
Definition: EClock.hpp:22
KapEngine::Component
Definition: Component.hpp:38
RType::CampaignGenerator
Definition: CampaignGenerator.hpp:14
KapEngine::SceneManagement::Scene
Definition: Scene.hpp:37
RType::CampaignGenerator::onFixedUpdate
void onFixedUpdate() override
call eachv x ms
Definition: CampaignGenerator.cpp:29