EntityChangedUpdate.cpp 697 B

123456789101112131415161718192021222324
  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. zReader->lese( (char*)&type, 4 );
  13. Entity* e = currentGame->zEntity( id );
  14. if( !e )
  15. {
  16. e = STATIC_REGISTRY( EntityType ).zElement( type )->loadEntity( zReader );
  17. currentGame->zDimensionOrCreate( e->getCurrentDimension() )->addEntity( e );
  18. }
  19. else
  20. STATIC_REGISTRY( EntityType ).zElement( type )->updateEntity( e, zReader );
  21. }