2017-04-06 01:00:50 +00:00
|
|
|
#ifndef OPENMW_CELL_HPP
|
|
|
|
#define OPENMW_CELL_HPP
|
|
|
|
|
2017-04-09 13:32:44 +00:00
|
|
|
#include "ActorList.hpp"
|
2017-04-06 01:00:50 +00:00
|
|
|
#include "LocalActor.hpp"
|
|
|
|
#include "DedicatedActor.hpp"
|
|
|
|
#include "../mwworld/cellstore.hpp"
|
|
|
|
|
|
|
|
namespace mwmp
|
|
|
|
{
|
|
|
|
class Cell
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
|
|
|
|
Cell(MWWorld::CellStore* cellStore);
|
|
|
|
~Cell();
|
|
|
|
|
2017-04-10 14:10:18 +00:00
|
|
|
void updateLocal(bool forceUpdate);
|
2017-04-07 12:51:34 +00:00
|
|
|
void updateDedicated(float dt);
|
2017-04-08 04:46:33 +00:00
|
|
|
|
2017-04-10 14:10:18 +00:00
|
|
|
void readPositions(ActorList& actorList);
|
2017-04-15 07:47:53 +00:00
|
|
|
void readAnimFlags(ActorList& actorList);
|
2017-04-15 10:42:30 +00:00
|
|
|
void readAnimPlay(ActorList& actorList);
|
2017-04-16 13:42:07 +00:00
|
|
|
void readStatsDynamic(ActorList& actorList);
|
2017-04-16 15:43:13 +00:00
|
|
|
void readSpeech(ActorList& actorList);
|
2017-04-08 07:58:25 +00:00
|
|
|
|
2017-04-06 01:00:50 +00:00
|
|
|
void initializeLocalActors();
|
2017-04-10 14:10:18 +00:00
|
|
|
void initializeDedicatedActors(ActorList& actorList);
|
|
|
|
|
2017-04-06 01:59:55 +00:00
|
|
|
void uninitializeLocalActors();
|
2017-04-08 04:46:33 +00:00
|
|
|
void uninitializeDedicatedActors();
|
|
|
|
|
2017-04-07 07:16:23 +00:00
|
|
|
virtual LocalActor *getLocalActor(std::string actorIndex);
|
2017-04-08 04:46:33 +00:00
|
|
|
virtual DedicatedActor *getDedicatedActor(std::string actorIndex);
|
2017-04-07 07:16:23 +00:00
|
|
|
|
2017-04-06 01:00:50 +00:00
|
|
|
MWWorld::CellStore* getCellStore();
|
|
|
|
std::string getDescription();
|
|
|
|
|
|
|
|
private:
|
|
|
|
MWWorld::CellStore* store;
|
2017-04-10 14:10:18 +00:00
|
|
|
std::map<std::string, LocalActor *> localActors;
|
|
|
|
std::map<std::string, DedicatedActor *> dedicatedActors;
|
2017-04-06 01:00:50 +00:00
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif //OPENMW_CELL_HPP
|