Files
2021-06-17 18:20:37 +02:00

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_ */