WorldUpdate.h 892 B

123456789101112131415161718192021222324252627282930313233343536
  1. #pragma once
  2. #include <ReferenceCounter.h>
  3. #include <Vec3.h>
  4. #include <Writer.h>
  5. #include "StaticRegistry.h"
  6. class Dimension;
  7. class WorldUpdate : public Framework::ReferenceCounter
  8. {
  9. private:
  10. int affectedDimensionId;
  11. Framework::Vec3<int> minAffected;
  12. Framework::Vec3<int> maxAffected;
  13. int type;
  14. public:
  15. WorldUpdate( int type, int dimensionId, Framework::Vec3<int> minAffected, Framework::Vec3<int> maxAffected );
  16. virtual void onUpdate( Dimension* zDimension ) = 0;
  17. virtual void write( Framework::StreamWriter* zWriter );
  18. int getAffectedDimension() const;
  19. const Framework::Vec3<int>& getMinAffectedPoint() const;
  20. const Framework::Vec3<int>& getMaxAffectedPoint() const;
  21. int getType() const;
  22. int distanceTo( int x, int y ) const;
  23. };
  24. class WorldUpdateType : public Framework::ReferenceCounter
  25. {
  26. protected:
  27. WorldUpdateType( int id );
  28. };