45 lines
1.5 KiB
C++
45 lines
1.5 KiB
C++
/* ************************************************************************** */
|
|
/* */
|
|
/* :::::::: */
|
|
/* Character.hpp :+: :+: */
|
|
/* +:+ */
|
|
/* By: whaffman <whaffman@student.codam.nl> +#+ */
|
|
/* +#+ */
|
|
/* Created: 2025/04/14 22:23:59 by whaffman #+# #+# */
|
|
/* Updated: 2025/04/17 13:43:10 by whaffman ######## odam.nl */
|
|
/* */
|
|
/* ************************************************************************** */
|
|
|
|
#pragma once
|
|
|
|
#include <string>
|
|
|
|
#include "AMateria.hpp"
|
|
#include "ICharacter.hpp"
|
|
|
|
class Character : public ICharacter
|
|
{
|
|
private:
|
|
std::string name;
|
|
AMateria *inventory[4];
|
|
AMateria *blackhole;
|
|
void dropMateria(AMateria *m);
|
|
|
|
|
|
public:
|
|
Character();
|
|
Character(std::string const &name);
|
|
Character(Character const &other);
|
|
~Character() override;
|
|
Character &operator=(Character const &other);
|
|
|
|
std::string const &getName() const override;
|
|
void equip(AMateria *m) override;
|
|
void unequip(int idx) override;
|
|
void use(int idx, ICharacter &target) override;
|
|
|
|
void printInventory() const;
|
|
|
|
};
|
|
|