You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
openmw-tes3mp/apps/openmw/mwmp/LocalActor.hpp

63 lines
1.7 KiB
C++

#ifndef OPENMW_LOCALACTOR_HPP
#define OPENMW_LOCALACTOR_HPP
#include <components/openmw-mp/Base/BaseActor.hpp>
#include "../mwmechanics/creaturestats.hpp"
#include "../mwmechanics/activespells.hpp"
#include "../mwworld/manualref.hpp"
#include "../mwworld/timestamp.hpp"
namespace mwmp
{
class LocalActor : public BaseActor
{
public:
LocalActor();
virtual ~LocalActor();
void update(bool forceUpdate);
void updateCell();
void updatePosition(bool forceUpdate);
void updateAnimFlags(bool forceUpdate);
void updateAnimPlay();
void updateSpeech();
void updateStatsDynamic(bool forceUpdate);
void updateEquipment(bool forceUpdate, bool sendImmediately = false);
void updateAttackOrCast();
void sendEquipment();
void sendSpellsActiveAddition(const std::string id, bool isStackingSpell, const MWMechanics::ActiveSpells::ActiveSpellParams& params);
void sendSpellsActiveRemoval(const std::string id, bool isStackingSpell, MWWorld::TimeStamp timestamp);
void sendDeath(char newDeathState);
MWWorld::Ptr getPtr();
void setPtr(const MWWorld::Ptr& newPtr);
bool hasSentData;
private:
MWWorld::Ptr ptr;
bool posWasChanged;
bool equipmentChanged;
bool wasRunning;
bool wasSneaking;
bool wasForceJumping;
bool wasForceMoveJumping;
bool wasJumping;
bool wasFlying;
MWMechanics::DrawState_ lastDrawState;
MWMechanics::DynamicStat<float> oldHealth;
MWMechanics::DynamicStat<float> oldMagicka;
MWMechanics::DynamicStat<float> oldFatigue;
};
}
#endif //OPENMW_LOCALACTOR_HPP