mirror of
https://github.com/zoriya/Bomberman.git
synced 2026-05-28 00:31:50 +00:00
51 lines
1.3 KiB
C++
51 lines
1.3 KiB
C++
/*
|
|
** EPITECH PROJECT, 2021
|
|
** Bomberman
|
|
** File description:
|
|
** IAComponent
|
|
*/
|
|
|
|
#ifndef IACOMPONENT_HPP_
|
|
#define IACOMPONENT_HPP_
|
|
|
|
#include "Component/Component.hpp"
|
|
#include "Entity/Entity.hpp"
|
|
#include "Models/Vector3.hpp"
|
|
#include "LuaGate.hpp"
|
|
|
|
namespace BBM
|
|
{
|
|
class IAControllableComponent : public WAL::Component
|
|
{
|
|
private:
|
|
//! @brief path to the lua script
|
|
const std::string _scriptPath;
|
|
public:
|
|
|
|
//! @brief Is the binding registered
|
|
bool registered;
|
|
|
|
//! @brief LuaGate state
|
|
LuaG::State _state;
|
|
|
|
//! @inherit
|
|
WAL::Component *clone(WAL::Entity &entity) const override;
|
|
|
|
//! @brief Constructor
|
|
IAControllableComponent(WAL::Entity &entity, std::string scripPath);
|
|
|
|
//! @brief A IA component can't be instantiated, it should be derived.
|
|
IAControllableComponent(const IAControllableComponent &) = default;
|
|
|
|
//! @brief default destructor
|
|
~IAControllableComponent() override = default;
|
|
|
|
//! @brief A IA component can't be assigned
|
|
IAControllableComponent &operator=(const IAControllableComponent &) = delete;
|
|
protected:
|
|
};
|
|
}
|
|
|
|
|
|
#endif /* !IACOMPONENT_HPP_ */
|