EntityType.cpp 1.1 KB

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