#pragma once #include "Entity.h" #include "EntityType.h" class PlayerEntityType; class Player : public Entity { private: Framework::Text name; public: Player( Framework::Vec3 location, int dimensionId ); void setName( Framework::Text name ); const char *getName() const; friend PlayerEntityType; }; class PlayerEntityType : public EntityType { REGISTRABLE( PlayerEntityType ) protected: virtual void loadSuperEntity( Entity *zEntity, Framework::StreamReader *zReader ) const override; virtual void saveSuperEntity( Entity *zEntity, Framework::StreamWriter *zWriter ) const override; public: PlayerEntityType(); virtual Entity *createEntity( Framework::Vec3 position, int dimensionId, Game *zTarget ) const override; }; REGISTER( PlayerEntityType, EntityType )