#pragma once #include #include "EntityType.h" #include "Inventory.h" class Entity : public Framework::Model3D, public Inventory { protected: float maxHP; float currentHP; float stamina; float maxStamina; float hunger; float maxHunger; float thirst; float maxThirst; float targetDistanceLimit; Framework::Vec3 speed; Framework::Vec3 faceDir; const EntityType* zEntityType; int currentDimensionId; float gravityMultiplier; int id; public: Entity( const EntityType* zType, bool hasInventory ); ~Entity(); virtual bool tick( double time ) override; int getId() const; const EntityType* zType() const; int getCurrentDimension() const; friend EntityType; };