#pragma once #include #include #include "Morault_Map.h" namespace Morault { namespace Gameplay { typedef enum { CITY, MALL, AWAITING_GAME, IN_GAME, AFTER_GAME }; struct PlayerData { std::string playerName = ""; int hp = 100, xp = 0; // eventually: std::vector items; // eventually: Item* primaryWeapon; // eventually: Item* secondaryWeapon; // eventually: Item* cosmetics; }; class PlayerController { public: PlayerController(); PlayerController(Vector3 position); Vector3 rotation; Camera camera; float sensitivityMultiplier = 0.5; void UpdatePlayerController(bool focus, Maps::Map *map, float renderScale); ~PlayerController(); }; class Player { public: Player(); Player(PlayerData, PlayerController); PlayerData data; PlayerController controller; ~Player(); }; } }