#pragma once #include "GameObject.h" using namespace NCL; using namespace CSC8503; class PlayerObject : public GameObject { public: PlayerObject(string playerName = "") : GameObject(playerName) { name = playerName; } virtual ~PlayerObject() {} int PickUpItem(GameObject* object, int bonusValue); void AddScore(const unsigned int value) { score += value; } void SetScore(const unsigned int value) { score = value; } unsigned int GetScore() const { return score; } void AddPointsCollected(const unsigned int value) { pointsCollected += value; } void SetPointsCollected(const unsigned int value) { pointsCollected = value; } unsigned int GetPointsCollected() const { return pointsCollected; } unsigned int GetItems() { return pickedUpItems; } float& GetSpeedMultiplier() { return speedMultiplier; } void SetSpeedMultiplier(const float speed) { speedMultiplier = speed; } float& GetSprint() { return sprint; } const string& GetName() const { return name; } float& GetPlayerAttackCD() { return playerAttackCD; } float& GetPlayerForce() { return playerForce; } float& GetPlayerkRange() { return playerRange; } void UpdatePlayerAbility(const float dt) { if (playerAttackCD > 0) { playerAttackCD -= dt; } } protected: float speedMultiplier = 1.0f; float sprint = 0.0f; string name; unsigned int pickedUpItems = 0; unsigned int pointsCollected = 0; unsigned int score = 0; float playerAttackCD = 0.0f; float playerForce = 750.0f; float playerRange = 15.0f; };