R-Type
GameScene.hpp
Go to the documentation of this file.
1 /*
2 ** EPITECH PROJECT, 2023
3 ** B-CPP-500-PAR-5-1-rtype-timothe.zheng
4 ** File description:
5 ** GameScene
6 */
7 
8 #ifndef GAMESCENE_HPP_
9 #define GAMESCENE_HPP_
10 #include "utils/IScene.hpp"
11 #include "GameEngine.hpp"
12 #include "Platformer.hpp"
13 #include "MapLoader.hpp"
15 
17 {
18  public:
19  GameScene(GameEngine::GameEngine &gameEngine, GameState &state, size_t &id, bool &jumping)
20  : _gameEngine(gameEngine), _state(state), _id(id), _jumping(jumping), _mapLoader(gameEngine, _entities),
21  lastTime(std::chrono::steady_clock::now())
22  {
23  _isLoaded = true;
24  };
25  ~GameScene() = default;
26  void load() override;
27  void unload() override;
28  void addEntityToUnload(GameEngine::Entity entity) override;
29  void update() override;
30  void playerCollisionCallback(const std::size_t &entityId, SparseArray<GameEngine::CollisionComponent> &collisions,
33  void endOfLevelCollsionCallback(const std::size_t &entityId,
36 
37  private:
46  std::vector<GameEngine::Entity> _entities;
47  std::vector<GameEngine::Entity> _heartEntities;
48  GameEngine::GameEngine &_gameEngine;
49  GameState &_state;
50  size_t &_id;
51  MapLoader _mapLoader;
52  bool &_jumping;
53  bool _isLoaded;
54  std::chrono::steady_clock::time_point lastTime;
55 };
56 
57 #endif /* !GAMESCENE_HPP_ */
GameState
Definition: Platformer.hpp:12
Entity class for the game engine.
Definition: Entity.hpp:18
Game engine class, will manage all the necessary classes for the game.
Definition: GameEngine.hpp:40
Definition: IScene.hpp:15
Definition: GameScene.hpp:17
GameScene(GameEngine::GameEngine &gameEngine, GameState &state, size_t &id, bool &jumping)
Definition: GameScene.hpp:19
void addEntityToUnload(GameEngine::Entity entity) override
Definition: GameScene.cpp:113
void update() override
Definition: GameScene.cpp:189
void endOfLevelCollsionCallback(const std::size_t &entityId, SparseArray< GameEngine::CollisionComponent > &collisions, SparseArray< GameEngine::TransformComponent > &transforms)
Definition: CollisionCallbacks.cpp:145
void unload() override
Definition: GameScene.cpp:115
void playerCollisionCallback(const std::size_t &entityId, SparseArray< GameEngine::CollisionComponent > &collisions, SparseArray< GameEngine::TransformComponent > &transforms, SparseArray< GameEngine::GravityComponent > &gravity, SparseArray< GameEngine::HealthComponent > &health)
Definition: CollisionCallbacks.cpp:88
~GameScene()=default
void load() override
Definition: GameScene.cpp:14
Definition: MapLoader.hpp:13