2021-05-08 03:36:26 +02:00
|
|
|
#ifndef PLAYER_H
|
|
|
|
#define PLAYER_H
|
|
|
|
|
|
|
|
#include "actor.h"
|
|
|
|
|
|
|
|
class Player : public Actor, public std::enable_shared_from_this<Player>
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
explicit Player();
|
|
|
|
virtual ~Player() override;
|
|
|
|
|
|
|
|
virtual void commitAction() override;
|
|
|
|
virtual void moveToLocation(const std::shared_ptr<Location>& location) override;
|
2021-05-16 01:44:19 +02:00
|
|
|
virtual bool isLocationVisited(const std::shared_ptr<Location>& location) const override;
|
2021-05-08 03:36:26 +02:00
|
|
|
virtual void giveItem(const std::shared_ptr<Item>& item) override;
|
|
|
|
virtual void useItem(const std::shared_ptr<Item>& item) override;
|
2021-05-16 01:44:19 +02:00
|
|
|
virtual bool hasItem(const std::shared_ptr<Item>& item) const override;
|
2021-05-08 03:36:26 +02:00
|
|
|
|
|
|
|
private:
|
2021-05-16 01:44:19 +02:00
|
|
|
std::string showInventory() const;
|
2021-05-08 03:36:26 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif // PLAYER_H
|