Bomberman
Public Member Functions | Private Attributes | Friends | List of all members
BBM::MovableComponent Class Reference

A component to place on entities that can move or be moved. More...

#include <MovableComponent.hpp>

Inheritance diagram for BBM::MovableComponent:
Collaboration diagram for BBM::MovableComponent:

Public Member Functions

void addForce (Vector3f force)
 Add an instant force to this entity. More...
 
const Vector3fgetVelocity (void) const
 Get velocity. More...
 
WAL::Componentclone (WAL::Entity &entity) const override
 Clone a component for another or the same entity. More...
 
 MovableComponent (WAL::Entity &entity)
 Create a new movable component. More...
 
 MovableComponent (const MovableComponent &)=default
 A movable component is copy constructable. More...
 
 ~MovableComponent () override=default
 A default destructor. More...
 
MovableComponentoperator= (const MovableComponent &)=delete
 A movable component is not assignable. More...
 
- Public Member Functions inherited from WAL::Component
Componentoperator= (const Component &)=delete
 A component can't be assigned. More...
 
virtual ~Component ()=default
 A virtual destructor. More...
 
virtual void onStart ()
 The entity or this component has just been enabled. More...
 
virtual void onStop ()
 The entity or this component has just been disable. More...
 

Private Attributes

Vector3f _acceleration
 The acceleration of this entity. More...
 
Vector3f _velocity
 The velocity of the entity. More...
 

Friends

class MovableSystem
 
class MapGenerator
 

Additional Inherited Members

- Protected Member Functions inherited from WAL::Component
 Component (Entity &entity)
 A component can't be instantiated, it should be derived. More...
 
 Component (const Component &)=default
 A component can't be instantiated, it should be derived. More...
 
- Protected Attributes inherited from WAL::Component
Entity_entity
 The entity that own this component. More...
 

Detailed Description

A component to place on entities that can move or be moved.

Constructor & Destructor Documentation

◆ MovableComponent() [1/2]

BBM::MovableComponent::MovableComponent ( WAL::Entity entity)
explicit

Create a new movable component.

◆ MovableComponent() [2/2]

BBM::MovableComponent::MovableComponent ( const MovableComponent )
default

A movable component is copy constructable.

◆ ~MovableComponent()

BBM::MovableComponent::~MovableComponent ( )
overridedefault

A default destructor.

Member Function Documentation

◆ addForce()

void BBM::MovableComponent::addForce ( Vector3f  force)

Add an instant force to this entity.

Parameters
forceThe force to add to this entity's acceleration. The force is added instantly and in one go.

◆ clone()

WAL::Component * BBM::MovableComponent::clone ( WAL::Entity entity) const
overridevirtual

Clone a component for another or the same entity.

Parameters
entityThe entity that owns the ne component.

Implements WAL::Component.

◆ getVelocity()

const Vector3f & BBM::MovableComponent::getVelocity ( void  ) const

Get velocity.

◆ operator=()

MovableComponent& BBM::MovableComponent::operator= ( const MovableComponent )
delete

A movable component is not assignable.

Friends And Related Function Documentation

◆ MapGenerator

friend class MapGenerator
friend

◆ MovableSystem

friend class MovableSystem
friend

Member Data Documentation

◆ _acceleration

Vector3f BBM::MovableComponent::_acceleration
private

The acceleration of this entity.

◆ _velocity

Vector3f BBM::MovableComponent::_velocity
private

The velocity of the entity.


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