EntityType.cpp 1.1 KB

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