#pragma once #include "Entity.h" #include "EntityType.h" class ItemEntityType; class ItemEntity : public Entity { private: ItemSlot* slot; ItemEntity(Framework::Vec3 location, int dimensionId, int entityId); public: void prepareTick(const Dimension* zDimension) override; void tick(const Dimension* zDimension) override; void onFall(float collisionSpeed) override; bool hasDefaultModel() const override; ModelInfo* zSpecialModel() const override; friend ItemEntityType; }; class ItemEntityType : public EntityType { public: ItemEntityType(); virtual Entity* createEntity(Framework::Vec3 position, int dimensionId, int entityId) const override; };