Bomberman
IAControllableSystem.hpp
Go to the documentation of this file.
1 //
2 // Created by Louis Auzuret on 06/07/21
3 //
4 
5 #pragma once
6 
7 #include <vector>
9 #include "Map/MapInfo.hpp"
10 #include "Map/LuaMap.hpp"
11 #include "System/System.hpp"
12 
13 namespace BBM
14 {
16  class IAControllableSystem : public WAL::System<PositionComponent, ControllableComponent, IAControllableComponent, BombHolderComponent>
17  {
18  private:
21 
23  bool _cached;
24 
27 
29  std::vector<MapInfo> _players;
30 
32  void updateDangerBomb(Vector3f pos, int radius, std::chrono::nanoseconds ringIn);
33 
35  void registerFunc(LuaG::State &state);
36 
39 
40  public:
41 
44 
46  void onSelfUpdate(std::chrono::nanoseconds dtime) override;
47 
51  IAControllableSystem(const IAControllableSystem &) = default;
53  ~IAControllableSystem() override = default;
56  };
57 }
BBM::IAControllableSystem::onFixedUpdate
void onFixedUpdate(WAL::ViewEntity< PositionComponent, ControllableComponent, IAControllableComponent, BombHolderComponent > &entity) override
Definition: IAControllableSystem.cpp:96
BBM::IAControllableSystem::updateDangerBomb
void updateDangerBomb(Vector3f pos, int radius, std::chrono::nanoseconds ringIn)
update danger map with a bomb
Definition: IAControllableSystem.cpp:48
BBM::IAControllableSystem::IAControllableSystem
IAControllableSystem(WAL::Wal &wal)
A default constructor.
Definition: IAControllableSystem.cpp:16
WAL::ViewEntity
Definition: View.hpp:19
BBM::IAControllableSystem::onSelfUpdate
void onSelfUpdate(std::chrono::nanoseconds dtime) override
A method called after all entities that this system manage has been updated.
Definition: IAControllableSystem.cpp:123
System.hpp
BombHolderComponent.hpp
BBM
Definition: AnimationsComponent.cpp:9
WAL::Wal
The main WAL class, it is used to setup and run the ECS.
Definition: Wal.hpp:27
LuaMap.hpp
BBM::Vector3< float >
BBM::IAControllableSystem::~IAControllableSystem
~IAControllableSystem() override=default
A default destructor.
BBM::IAControllableSystem::UpdateMapInfos
void UpdateMapInfos(WAL::ViewEntity< PositionComponent, ControllableComponent, IAControllableComponent, BombHolderComponent > &entity)
update the raw info of the map
Definition: IAControllableSystem.cpp:20
LuaG::State
Definition: LuaGate.hpp:12
BBM::IAControllableSystem::_luamap
LuaMap _luamap
Map to handle the informations.
Definition: IAControllableSystem.hpp:26
BBM::IAControllableSystem::_players
std::vector< MapInfo > _players
All players in the map.
Definition: IAControllableSystem.hpp:29
BBM::IAControllableSystem::_wal
WAL::Wal & _wal
Reference to wal to get Views.
Definition: IAControllableSystem.hpp:20
BBM::IAControllableSystem::operator=
IAControllableSystem & operator=(const IAControllableSystem &)=default
A keyboard system is assignable.
WAL::System
A base system of WAL.
Definition: System.hpp:22
MapInfo.hpp
BBM::LuaMap
Definition: LuaMap.hpp:13
BBM::IAControllableSystem::registerFunc
void registerFunc(LuaG::State &state)
Register the functions to the lua.
Definition: IAControllableSystem.cpp:79
BBM::IAControllableSystem
A system to handle keyboard entities.
Definition: IAControllableSystem.hpp:16
BBM::IAControllableSystem::_cached
bool _cached
Are the infos cached for current update.
Definition: IAControllableSystem.hpp:23