#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(); } } }