Entity.h 807 B

12345678910111213141516171819202122232425262728293031323334353637
  1. #pragma once
  2. #include <Model3D.h>
  3. #include "EntityType.h"
  4. #include "Inventory.h"
  5. class Entity : public Framework::Model3D, public Inventory
  6. {
  7. protected:
  8. float maxHP;
  9. float currentHP;
  10. float stamina;
  11. float maxStamina;
  12. float hunger;
  13. float maxHunger;
  14. float thirst;
  15. float maxThirst;
  16. float targetDistanceLimit;
  17. Framework::Vec3<float> speed;
  18. Framework::Vec3<float> faceDir;
  19. const EntityType* zEntityType;
  20. int currentDimensionId;
  21. float gravityMultiplier;
  22. int id;
  23. public:
  24. Entity( const EntityType* zType, bool hasInventory );
  25. ~Entity();
  26. virtual bool tick( double time ) override;
  27. int getId() const;
  28. const EntityType* zType() const;
  29. int getCurrentDimension() const;
  30. friend EntityType;
  31. };