Bomberman
Public Member Functions | List of all members
WAL::ISystem Class Referenceabstract

A base class that represent a system. More...

#include <ISystem.hpp>

Inheritance diagram for WAL::ISystem:
Collaboration diagram for WAL::ISystem:

Public Member Functions

virtual void update (std::chrono::nanoseconds dtime)=0
 Update the whole system (every entities that this system is responsible can be updated. More...
 
virtual void fixedUpdate ()=0
 An alternative of update that is called every 8ms (120 times per seconds). If the system slow down, it will try to catch up. More...
 
virtual IViewgetView ()=0
 Get a view containing every entity this system should update. More...
 
virtual ~ISystem ()=default
 A virtual default destructor. More...
 

Detailed Description

A base class that represent a system.

Constructor & Destructor Documentation

◆ ~ISystem()

virtual WAL::ISystem::~ISystem ( )
virtualdefault

A virtual default destructor.

Member Function Documentation

◆ fixedUpdate()

virtual void WAL::ISystem::fixedUpdate ( )
pure virtual

An alternative of update that is called every 8ms (120 times per seconds). If the system slow down, it will try to catch up.

Remarks
This should be used for Physics, AI and everything that could be imprecise due to float rounding.

Implemented in WAL::System< Dependencies >, WAL::System< BasicBombComponent, PositionComponent >, WAL::System< ControllableComponent, MovableComponent >, WAL::System< Drawable3DComponent, AnimationsComponent >, WAL::System< IntroAnimationComponent >, WAL::System< AnimationsComponent, ControllableComponent, Drawable3DComponent >, WAL::System< PositionComponent, CollisionComponent, MovableComponent >, WAL::System<>, WAL::System< HealthComponent >, WAL::System< ScoreComponent, HealthComponent >, WAL::System< TimerComponent, Drawable2DComponent, TagComponent< Timer > >, WAL::System< MusicComponent >, WAL::System< StatComponent, Drawable2DComponent >, WAL::System< PlayerBonusComponent, ControllableComponent, BombHolderComponent >, WAL::System< TimerComponent >, WAL::System< MovableComponent, PositionComponent >, WAL::System< GamepadComponent, ControllableComponent >, WAL::System< SoundComponent, ControllableComponent, HealthComponent >, WAL::System< LevitateComponent, PositionComponent >, WAL::System< ShaderComponentModel >, WAL::System< GridCenteredComponent, MovableComponent, PositionComponent >, WAL::System< LobbyComponent, Drawable2DComponent >, WAL::System< ShaderComponentDrawable2D >, WAL::System< KeyboardComponent, ControllableComponent >, WAL::System< BumperTimerComponent >, WAL::System< GravityComponent, MovableComponent, PositionComponent >, WAL::System< PositionComponent, ControllableComponent, IAControllableComponent, BombHolderComponent >, WAL::System< PositionComponent, BombHolderComponent, ControllableComponent >, WAL::System< CameraComponent, PositionComponent >, WAL::System< SoundComponent, ControllableComponent >, WAL::System< ResumeLobbyComponent, Drawable2DComponent >, and WAL::System< ShaderComponent >.

◆ getView()

virtual IView& WAL::ISystem::getView ( )
pure virtual

Get a view containing every entity this system should update.

Implemented in WAL::System< Dependencies >, WAL::System< BasicBombComponent, PositionComponent >, WAL::System< ControllableComponent, MovableComponent >, WAL::System< Drawable3DComponent, AnimationsComponent >, WAL::System< IntroAnimationComponent >, WAL::System< AnimationsComponent, ControllableComponent, Drawable3DComponent >, WAL::System< PositionComponent, CollisionComponent, MovableComponent >, WAL::System<>, WAL::System< HealthComponent >, WAL::System< ScoreComponent, HealthComponent >, WAL::System< TimerComponent, Drawable2DComponent, TagComponent< Timer > >, WAL::System< MusicComponent >, WAL::System< StatComponent, Drawable2DComponent >, WAL::System< PlayerBonusComponent, ControllableComponent, BombHolderComponent >, WAL::System< TimerComponent >, WAL::System< MovableComponent, PositionComponent >, WAL::System< GamepadComponent, ControllableComponent >, WAL::System< SoundComponent, ControllableComponent, HealthComponent >, WAL::System< LevitateComponent, PositionComponent >, WAL::System< ShaderComponentModel >, WAL::System< GridCenteredComponent, MovableComponent, PositionComponent >, WAL::System< LobbyComponent, Drawable2DComponent >, WAL::System< ShaderComponentDrawable2D >, WAL::System< KeyboardComponent, ControllableComponent >, WAL::System< BumperTimerComponent >, WAL::System< GravityComponent, MovableComponent, PositionComponent >, WAL::System< PositionComponent, ControllableComponent, IAControllableComponent, BombHolderComponent >, WAL::System< PositionComponent, BombHolderComponent, ControllableComponent >, WAL::System< CameraComponent, PositionComponent >, WAL::System< SoundComponent, ControllableComponent >, WAL::System< ResumeLobbyComponent, Drawable2DComponent >, and WAL::System< ShaderComponent >.

◆ update()

virtual void WAL::ISystem::update ( std::chrono::nanoseconds  dtime)
pure virtual

Update the whole system (every entities that this system is responsible can be updated.

Parameters
dtimeThe delta time since the last call to this method.

Implemented in WAL::System< Dependencies >, WAL::System< BasicBombComponent, PositionComponent >, WAL::System< ControllableComponent, MovableComponent >, WAL::System< Drawable3DComponent, AnimationsComponent >, WAL::System< IntroAnimationComponent >, WAL::System< AnimationsComponent, ControllableComponent, Drawable3DComponent >, WAL::System< PositionComponent, CollisionComponent, MovableComponent >, WAL::System<>, WAL::System< HealthComponent >, WAL::System< ScoreComponent, HealthComponent >, WAL::System< TimerComponent, Drawable2DComponent, TagComponent< Timer > >, WAL::System< MusicComponent >, WAL::System< StatComponent, Drawable2DComponent >, WAL::System< PlayerBonusComponent, ControllableComponent, BombHolderComponent >, WAL::System< TimerComponent >, WAL::System< MovableComponent, PositionComponent >, WAL::System< GamepadComponent, ControllableComponent >, WAL::System< SoundComponent, ControllableComponent, HealthComponent >, WAL::System< LevitateComponent, PositionComponent >, WAL::System< ShaderComponentModel >, WAL::System< GridCenteredComponent, MovableComponent, PositionComponent >, WAL::System< LobbyComponent, Drawable2DComponent >, WAL::System< ShaderComponentDrawable2D >, WAL::System< KeyboardComponent, ControllableComponent >, WAL::System< BumperTimerComponent >, WAL::System< GravityComponent, MovableComponent, PositionComponent >, WAL::System< PositionComponent, ControllableComponent, IAControllableComponent, BombHolderComponent >, WAL::System< PositionComponent, BombHolderComponent, ControllableComponent >, WAL::System< CameraComponent, PositionComponent >, WAL::System< SoundComponent, ControllableComponent >, WAL::System< ResumeLobbyComponent, Drawable2DComponent >, and WAL::System< ShaderComponent >.


The documentation for this class was generated from the following file: