basic bot_ia class template

This commit is contained in:
Askou
2021-06-03 15:54:13 +02:00
parent 6d551136cc
commit 09204179b5
3 changed files with 94 additions and 0 deletions
+2
View File
@@ -64,6 +64,8 @@ set(SOURCES
sources/Component/Collision/CollisionComponent.hpp
sources/System/Collision/CollisionSystem.hpp
sources/System/Collision/CollisionSystem.cpp
sources/Component/IA/IAComponent.hpp
sources/Component/IA/IAComponent.cpp
)
add_executable(bomberman
+37
View File
@@ -0,0 +1,37 @@
/*
** EPITECH PROJECT, 2021
** Bomberman
** File description:
** IAComponent
*/
#include "IAComponent.hpp"
#include <lua.hpp>
namespace BBM
{
IAComponent::IAComponent(WAL::Entity &entity, std::string scriptPath)
: Component(entity),
_scriptPath(scriptPath)
{ }
IAComponent::IAComponent(WAL::Entity &entity)
: Component(entity),
_scriptPath()
{ }
WAL::Component *IAComponent::clone(WAL::Entity &entity) const
{
return new IAComponent(entity);
}
Vector3f IAComponent::getPosition(void) const
{
return (this->_pos);
}
void IAComponent::setPosition(Vector3f &pos)
{
this->_pos = pos;
}
}
+55
View File
@@ -0,0 +1,55 @@
/*
** 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"
namespace BBM
{
class IAComponent : public WAL::Component
{
private:
Vector3f _pos;
const std::string _scriptPath;
public:
//! @brief get IA Position
Vector3f getPosition(void) const;
//! @param pos Position of the player
//! @brief set IA position
void setPosition(Vector3f &);
//! @inherit
WAL::Component *clone(WAL::Entity &entity) const override;
//! @brief A IA component can't be instantiated, it should be derived.
explicit IAComponent(WAL::Entity &entity);
//! @brief Constructor
IAComponent(WAL::Entity &entity, std::string scripPath);
//! @brief A IA component can't be instantiated, it should be derived.
IAComponent(const IAComponent &) = default;
//! @brief default destructor
~IAComponent() override = default;
//! @brief A IA component can't be assigned
IAComponent &operator=(const IAComponent &) = delete;
protected:
};
}
#endif /* !IACOMPONENT_HPP_ */