#include "EntityType.h" #include "Entity.h" #include "Registries.h" EntityType::EntityType( int id ) : id( id ) { STATIC_REGISTRY( EntityType ).registerT( this, id ); } void EntityType::loadSuperEntity( Entity* zEntity, Framework::StreamReader* zReader ) const { zEntity->loadInventory( zReader ); zReader->lese( (char*)&zEntity->id, 4 ); zReader->lese( (char*)&zEntity->maxHP, 4 ); zReader->lese( (char*)&zEntity->currentHP, 4 ); zReader->lese( (char*)&zEntity->stamina, 4 ); zReader->lese( (char*)&zEntity->maxStamina, 4 ); zReader->lese( (char*)&zEntity->hunger, 4 ); zReader->lese( (char*)&zEntity->maxHunger, 4 ); zReader->lese( (char*)&zEntity->thirst, 4 ); zReader->lese( (char*)&zEntity->maxThirst, 4 ); zReader->lese( (char*)&zEntity->speed.x, 4 ); zReader->lese( (char*)&zEntity->speed.y, 4 ); zReader->lese( (char*)&zEntity->speed.z, 4 ); zReader->lese( (char*)&zEntity->faceDir.x, 4 ); zReader->lese( (char*)&zEntity->faceDir.y, 4 ); zReader->lese( (char*)&zEntity->currentDimensionId, 4 ); zReader->lese( (char*)&zEntity->location.x, 4 ); zReader->lese( (char*)&zEntity->location.y, 4 ); zReader->lese( (char*)&zEntity->location.z, 4 ); if( zEntity->target ) delete zEntity->target; zEntity->target = ActionTarget::load( zReader ); } void EntityType::createSuperEntity( Entity* zEntity ) const {} Entity* EntityType::loadEntity( Framework::StreamReader* zReader ) const { Entity* entity = createEntity(); createSuperEntity( entity ); loadSuperEntity( entity, zReader ); return entity; } void EntityType::updateEntity( Entity* e, Framework::StreamReader* zReader ) const { loadSuperEntity( e, zReader ); } int EntityType::getId() const { return id; }