EntityChangedUpdate.cpp 766 B

123456789101112131415161718192021222324252627
  1. #include "EntityChangedUpdate.h"
  2. #include "Globals.h"
  3. #include "Registries.h"
  4. EntityChangedUpdateType::EntityChangedUpdateType()
  5. : WorldUpdateType( ID )
  6. {}
  7. void EntityChangedUpdateType::applyUpdate( Framework::StreamReader* zReader )
  8. {
  9. int id;
  10. int type;
  11. zReader->lese( (char*)&id, 4 );
  12. if( id >= 0 )
  13. {
  14. zReader->lese( (char*)&type, 4 );
  15. Entity* e = currentGame->zEntity( id );
  16. if( !e )
  17. {
  18. e = STATIC_REGISTRY( EntityType ).zElement( type )->loadEntity( zReader );
  19. currentGame->zDimensionOrCreate( e->getCurrentDimension() )->addEntity( e );
  20. }
  21. else
  22. STATIC_REGISTRY( EntityType ).zElement( type )->updateEntity( e, zReader );
  23. }
  24. }