1234567891011121314151617181920212223242526272829303132 |
- #pragma once
- #include <Reader.h>
- #include <ReferenceCounter.h>
- #include <Writer.h>
- #include <Vec3.h>
- #include "StaticRegistry.h"
- class Entity;
- class Game;
- class EntityType : public virtual Framework::ReferenceCounter
- {
- private:
- const int id;
- protected:
- EntityType( int id );
- virtual void loadSuperEntity( Entity *zEntity, Framework::StreamReader *zReader ) const;
- virtual void saveSuperEntity( Entity *zEntity, Framework::StreamWriter *zWriter ) const;
- virtual void createSuperEntity( Entity *zEntity ) const;
- virtual Entity *createEntity( Framework::Vec3<float> position, int dimensionId, Game *zTarget ) const = 0;
- public:
- virtual Entity *loadEntity( Game *zTarget, Framework::StreamReader *zReader ) const;
- virtual void saveEntity( Entity *zEntity, Framework::StreamWriter *zWriter ) const;
- virtual Entity *createEntityAt( Framework::Vec3<float> position, int dimensionId, Game *zTarget ) const;
- int getId() const;
- };
|