Files
Text-Adventure/Engine/headers/player.h
T
weirdbeardgame 45c365e317 Added copy operators for game's static instance
Player
CommandParser can be swapped but not copied.
2026-08-28 20:38:11 -05:00

44 lines
977 B
C++

#pragma once
#include <math.h>
#include <utility>
#include "creature.h"
class Player : Creature {
private:
// Inventory inventory;
// Lets keep the room a loose reference to avoid to many hardcoded details and other info
int curRoomID = -1;
int prevRoomID = -1;
public:
Player();
Player(Player &rhs);
Player& operator=(Player& rhs);
void Init() override;
void LevelUp() override;
void Die() override;
void TakeDamage(int damageType, float damage) override;
float GetHealth() override;
void ChangeRoom(int roomID);
inline friend void swap(Player& lhs, Player &rhs) noexcept
{
using std::swap;
swap(lhs.id, rhs.id);
swap(lhs.name, rhs.name);
swap(lhs.description, rhs.description);
swap(lhs.stats, rhs.stats);
swap(lhs.level, rhs.level);
swap(lhs.prevRoomID, rhs.prevRoomID);
swap(lhs.curRoomID, rhs.curRoomID);
}
~Player();
};