Merging game

This commit is contained in:
Zoe Roux
2021-05-24 15:46:46 +02:00
14 changed files with 476 additions and 0 deletions
@@ -0,0 +1,25 @@
//
// 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 Bomberman
{
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>();
movable.addForce(WAL::Vector3f(controllable._moveX, 0, controllable._moveZ));
}
}
@@ -0,0 +1,30 @@
//
// Created by Tom Augier on 2021-05-20.
// Edited by Benjamin Henry on 2021-05-20.
//
#pragma once
#include "lib/wal/sources/System/System.hpp"
namespace Bomberman
{
//! @brief A system to handle Controllable entities.
class ControllableSystem : public WAL::System
{
public:
//! @inherit
const std::type_info &getComponent() const override;
//! @inherit
void onFixedUpdate(WAL::Entity &entity) override;
//! @brief A default constructor
ControllableSystem() = default;
//! @brief A Controllable system is copy constructable
ControllableSystem(const ControllableSystem &) = default;
//! @brief A default destructor
~ControllableSystem() override = default;
//! @brief A Controllable system is assignable.
ControllableSystem &operator=(const ControllableSystem &) = default;
};
}