12345678910111213141516171819202122232425262728293031 |
- #include "EntityChangedUpdate.h"
- #include "Globals.h"
- #include "Registries.h"
- EntityChangedUpdateType::EntityChangedUpdateType()
- : WorldUpdateType( ID )
- {}
- void EntityChangedUpdateType::applyUpdate( Framework::StreamReader* zReader )
- {
- int id;
- int type;
- zReader->lese( (char*)&id, 4 );
- if( id >= 0 )
- {
- zReader->lese( (char*)&type, 4 );
- Entity* e = currentGame->zEntity( id );
- if( !e )
- {
- e = STATIC_REGISTRY( EntityType ).zElement( type )->loadEntity( zReader );
- currentGame->zDimensionOrCreate( e->getCurrentDimension() )->addEntity( e );
- }
- else
- {
- e->lock();
- STATIC_REGISTRY( EntityType ).zElement( type )->updateEntity( e, zReader );
- e->unlock();
- }
- }
- }
|