Bomberman
TimerComponent.hpp
Go to the documentation of this file.
1 //
2 // Created by Zoe Roux on 5/31/21.
3 //
4 
5 #pragma once
6 
8 #include <chrono>
9 #include <Wal.hpp>
10 #include "Models/Callback.hpp"
11 
12 namespace BBM
13 {
16  {
17  public:
19  bool disabled = false;
20 
24  std::chrono::nanoseconds ringIn;
25 
26  Component *clone(WAL::Entity &entity) const override;
27 
29  TimerComponent(WAL::Entity &entity, std::chrono::nanoseconds delay);
31  TimerComponent(WAL::Entity &entity, std::chrono::nanoseconds delay, const WAL::Callback<WAL::Entity &, WAL::Wal &> &timerCallback);
33  TimerComponent(const TimerComponent &) = default;
35  ~TimerComponent() override = default;
37  TimerComponent &operator=(const TimerComponent &) = delete;
38  };
39 }
BBM::TimerComponent::~TimerComponent
~TimerComponent() override=default
A default destructor.
BBM::TimerComponent::disabled
bool disabled
Is the ticking of this component disabled?
Definition: TimerComponent.hpp:19
BBM::TimerComponent
Definition: TimerComponent.hpp:15
Callback.hpp
BBM::TimerComponent::operator=
TimerComponent & operator=(const TimerComponent &)=delete
A component is not assignable.
BBM::TimerComponent::clone
Component * clone(WAL::Entity &entity) const override
Clone a component for another or the same entity.
Definition: TimerComponent.cpp:22
WAL::Component
Represent a single component of WAL.
Definition: Component.hpp:17
BBM
Definition: AnimationsComponent.cpp:9
WAL::Entity
An entity of the WAL's ECS.
Definition: Entity.hpp:20
Component.hpp
WAL::Callback< WAL::Entity &, WAL::Wal & >
WAL::Component::Component
Component(Entity &entity)
A component can't be instantiated, it should be derived.
Definition: Component.cpp:9
BBM::TimerComponent::ringIn
std::chrono::nanoseconds ringIn
The ring delay of this timer component.
Definition: TimerComponent.hpp:24
Wal.hpp
BBM::TimerComponent::TimerComponent
TimerComponent(WAL::Entity &entity, std::chrono::nanoseconds delay)
A default constructor.
Definition: TimerComponent.cpp:11
BBM::TimerComponent::callback
WAL::Callback< WAL::Entity &, WAL::Wal & > callback
The callback to call when the timer ring.
Definition: TimerComponent.hpp:22