#pragma once #include #include #include #include "StaticRegistry.h" class Dimension; class WorldUpdate : public Framework::ReferenceCounter { private: int affectedDimensionId; Framework::Vec3 minAffected; Framework::Vec3 maxAffected; public: WorldUpdate( int dimensionId, Framework::Vec3 minAffected, Framework::Vec3 maxAffected ); virtual void onUpdate( Dimension *zDimension ) = 0; virtual void write( Framework::StreamWriter *zWriter ) = 0; int getAffectedDimension() const; const Framework::Vec3 &getMinAffectedPoint() const; const Framework::Vec3 &getMaxAffectedPoint() const; }; class WorldUpdateType : public Framework::ReferenceCounter { protected: WorldUpdateType( int id ); };