AddEntityUpdate.cpp 807 B

123456789101112131415161718192021222324252627282930313233
  1. #include "AddEntityUpdate.h"
  2. #include "Dimension.h"
  3. #include "EntityType.h"
  4. #include "StaticRegistry.h"
  5. AddEntityUpdate::AddEntityUpdate( Entity* entity, int dimension )
  6. : WorldUpdate( AddEntityUpdateType::ID, dimension, entity->getPosition(), entity->getPosition() ),
  7. entity( entity )
  8. {}
  9. AddEntityUpdate::~AddEntityUpdate()
  10. {
  11. entity->release();
  12. }
  13. void AddEntityUpdate::onUpdate( Dimension* zDimension )
  14. {
  15. zDimension->addEntity( dynamic_cast<Entity*>(entity->getThis()) );
  16. }
  17. void AddEntityUpdate::write( Framework::StreamWriter* zWriter )
  18. {
  19. int id = entity->zType()->getId();
  20. zWriter->schreibe( (char*)&id, 4 );
  21. StaticRegistry<EntityType>::INSTANCE.zElement( id )->saveEntity( entity, zWriter );
  22. }
  23. AddEntityUpdateType::AddEntityUpdateType()
  24. : WorldUpdateType( ID )
  25. {}