EntityChangedUpdate.cpp 927 B

123456789101112131415161718192021222324252627282930313233
  1. #include "EntityChangedUpdate.h"
  2. #include "Game.h"
  3. #include "EntityType.h"
  4. EntityChangedUpdate::EntityChangedUpdate( int entityId, Framework::Vec3<int> pos, int dimension )
  5. : WorldUpdate( EntityChangedUpdateType::ID, dimension, pos, pos ),
  6. entityId( entityId )
  7. {}
  8. EntityChangedUpdate::~EntityChangedUpdate()
  9. {}
  10. void EntityChangedUpdate::onUpdate( Dimension* zDimension )
  11. {}
  12. void EntityChangedUpdate::write( Framework::StreamWriter* zWriter )
  13. {
  14. Entity* entity = Game::INSTANCE->zEntity( entityId, getAffectedDimension() );
  15. if( entity )
  16. {
  17. int type = entity->zType()->getId();
  18. WorldUpdate::write( zWriter );
  19. zWriter->schreibe( (char*)&entityId, 4 );
  20. zWriter->schreibe( (char*)&type, 4 );
  21. StaticRegistry<EntityType>::INSTANCE.zElement( type )->saveEntity( entity, zWriter );
  22. }
  23. }
  24. EntityChangedUpdateType::EntityChangedUpdateType()
  25. : WorldUpdateType( ID )
  26. {}