Add basic controls components and system

KeyboardComponents/System + ControllableComponents/ControllableSystem
This commit is contained in:
TrueBabyChaise
2021-05-20 17:59:34 +02:00
parent da7694eb0b
commit 7377301c4e
8 changed files with 244 additions and 0 deletions

View File

@@ -0,0 +1,34 @@
//
// Created by Tom Augier on 2021-05-20.
// Edited by Benjamin Henry on 2021-05-20.
//
#include "ControllableSystem.hpp"
#include "lib/wal/sources/Component/Movable/MovableComponent.hpp"
#include "sources/Component/Controllable/ControllableComponent.hpp"
#include "lib/wal/sources/Entity/Entity.hpp"
namespace BBM
{
const std::type_info &ControllableSystem::getComponent() const
{
return typeid(ControllableComponent);
}
void ControllableSystem::onFixedUpdate(WAL::Entity &entity)
{
auto &controllable= entity.getComponent<ControllableComponent>();
auto &movable= entity.getComponent<WAL::MovableComponent>();
if (controllable._left)
movable.addForce(WAL::Vector3f(-1, 0, 0));
if (controllable._right)
movable.addForce(WAL::Vector3f(1, 0, 0));
if (controllable._down)
movable.addForce(WAL::Vector3f(0, 0, -1));
if (controllable._up)
movable.addForce(WAL::Vector3f(0, 0, 1));
if (controllable._jump)
movable.addForce(WAL::Vector3f(0, 1, 0));
}
}