EntityType.h 646 B

1234567891011121314151617181920212223242526
  1. #pragma once
  2. #include <ReferenceCounter.h>
  3. #include <Reader.h>
  4. #include <Vec3.h>
  5. class Entity;
  6. class EntityType : public virtual Framework::ReferenceCounter
  7. {
  8. private:
  9. const int id;
  10. protected:
  11. EntityType( int id );
  12. virtual void loadSuperEntity( Entity* zEntity, Framework::StreamReader* zReader ) const;
  13. virtual void createSuperEntity( Entity* zEntity ) const;
  14. virtual Entity* createEntity() const = 0;
  15. public:
  16. virtual Entity* loadEntity( Framework::StreamReader* zReader ) const;
  17. virtual void updateEntity( Entity* e, Framework::StreamReader* zReader ) const;
  18. int getId() const;
  19. };