1
0
Fork 1
mirror of https://github.com/TES3MP/openmw-tes3mp.git synced 2025-01-15 18:49:54 +00:00
openmw-tes3mp/apps/openmw/mwmp/ActorList.hpp
David Cernat 64c94346b6 [Client] Always send attack starts by actors immediately
Previously, creatures with fast attack animations would have their attack updated right after being started, which happened so quickly that it prevented the attack start from actually being sent by the client.
2019-11-30 15:50:05 +02:00

68 lines
2.2 KiB
C++

#ifndef OPENMW_ACTORLIST_HPP
#define OPENMW_ACTORLIST_HPP
#include <components/openmw-mp/Base/BaseActor.hpp>
#include "../mwworld/cellstore.hpp"
#include <RakNetTypes.h>
#include "LocalActor.hpp"
namespace mwmp
{
class Networking;
class ActorList : public BaseActorList
{
public:
ActorList();
virtual ~ActorList();
void reset();
void addActor(BaseActor baseActor);
void addPositionActor(BaseActor baseActor);
void addAnimFlagsActor(BaseActor baseActor);
void addAnimPlayActor(BaseActor baseActor);
void addSpeechActor(BaseActor baseActor);
void addStatsDynamicActor(BaseActor baseActor);
void addDeathActor(BaseActor baseActor);
void addEquipmentActor(BaseActor baseActor);
void addAiActor(BaseActor baseActor);
void addAiActor(const MWWorld::Ptr& actorPtr, const MWWorld::Ptr& targetPtr, unsigned int aiAction);
void addAttackActor(BaseActor baseActor);
void addAttackActor(const MWWorld::Ptr& actorPtr, const mwmp::Attack &attack);
void addCastActor(BaseActor baseActor);
void addCellChangeActor(BaseActor baseActor);
void sendPositionActors();
void sendAnimFlagsActors();
void sendAnimPlayActors();
void sendSpeechActors();
void sendStatsDynamicActors();
void sendDeathActors();
void sendEquipmentActors();
void sendAiActors();
void sendAttackActors();
void sendCastActors();
void sendCellChangeActors();
void sendActorsInCell(MWWorld::CellStore* cellStore);
private:
Networking *getNetworking();
std::vector<BaseActor> positionActors;
std::vector<BaseActor> animFlagsActors;
std::vector<BaseActor> animPlayActors;
std::vector<BaseActor> speechActors;
std::vector<BaseActor> statsDynamicActors;
std::vector<BaseActor> deathActors;
std::vector<BaseActor> equipmentActors;
std::vector<BaseActor> aiActors;
std::vector<BaseActor> attackActors;
std::vector<BaseActor> castActors;
std::vector<BaseActor> cellChangeActors;
};
}
#endif //OPENMW_ACTORLIST_HPP