EntityType.cpp 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. #include "EntityType.h"
  2. #include "Entity.h"
  3. #include "Globals.h"
  4. #include "Registries.h"
  5. EntityType::EntityType(int id, ModelInfo model)
  6. : id(id),
  7. model(model)
  8. {}
  9. Entity* EntityType::loadEntity(Framework::StreamReader* zReader) const
  10. {
  11. int id;
  12. zReader->lese((char*)&id, 4);
  13. Framework::Vec3<float> position;
  14. zReader->lese((char*)&position.x, 4);
  15. zReader->lese((char*)&position.y, 4);
  16. zReader->lese((char*)&position.z, 4);
  17. float maxSpeed;
  18. zReader->lese((char*)&maxSpeed, 4);
  19. bool specialModel = 0;
  20. zReader->lese((char*)&specialModel, 1);
  21. Entity* e;
  22. if (specialModel)
  23. {
  24. ModelInfo model(zReader);
  25. e = new Entity(
  26. this, model.getModel(), model.getTexture(), id, position, maxSpeed, model.getSize());
  27. }
  28. else
  29. {
  30. e = new Entity(
  31. this, model.getModel(), model.getTexture(), id, position, maxSpeed, model.getSize());
  32. }
  33. if (World::INSTANCE->zKamera()->getEntityId() == id)
  34. {
  35. e->setPlayerControlled();
  36. }
  37. return e;
  38. }
  39. int EntityType::getId() const
  40. {
  41. return id;
  42. }