1
0
Fork 1
mirror of https://github.com/TES3MP/openmw-tes3mp.git synced 2025-01-15 22:19:54 +00:00
openmw-tes3mp/apps/openmw/mwmp/LocalPlayer.hpp

85 lines
2.5 KiB
C++

//
// Created by koncord on 14.01.16.
//
#ifndef OPENMW_LOCALPLAYER_HPP
#define OPENMW_LOCALPLAYER_HPP
#include <components/openmw-mp/Base/BasePlayer.hpp>
#include <RakNetTypes.h>
namespace mwmp
{
class Networking;
class LocalPlayer : public BasePlayer
{
public:
LocalPlayer();
virtual ~LocalPlayer();
void update();
void charGen(int stageFirst, int stageEnd);
bool charGenThread(); // return true if CGStage::current == CGStage::end
bool hasFinishedCharGen();
void updateStatsDynamic(bool forceUpdate = false);
void updateAttributes(bool forceUpdate = false);
void updateSkills(bool forceUpdate = false);
void updateLevel(bool forceUpdate = false);
void updatePosition(bool forceUpdate = false);
void updateCell(bool forceUpdate = false);
void updateChar();
void updateEquipment(bool forceUpdate = false);
void updateInventory(bool forceUpdate = false);
void updateAttackState(bool forceUpdate = false);
void updateDeadState(bool forceUpdate = false);
void updateAnimFlags(bool forceUpdate = false);
void addItems();
void addSpells();
void addJournalItems();
void removeItems();
void removeSpells();
void setDynamicStats();
void setAttributes();
void setSkills();
void setLevel();
void setPosition();
void setCell();
void setClass();
void setEquipment();
void setInventory();
void setSpellbook();
void sendClass();
void sendInventory();
void sendSpellbook();
void sendCellStates();
void sendSpellAddition(std::string id);
void sendSpellAddition(const ESM::Spell &spell);
void sendSpellRemoval(std::string id);
void sendSpellRemoval(const ESM::Spell &spell);
void sendJournalEntry(const std::string& id, int index, const MWWorld::Ptr& actor);
void sendJournalIndex(const std::string& id, int index);
void sendAttack(Attack::TYPE type);
void clearCellStates();
void clearCurrentContainer();
void storeCellState(ESM::Cell cell, int stateType);
void storeCurrentContainer(const MWWorld::Ptr& container, bool loot);
void prepareAttack(Attack::TYPE type, bool state);
private:
Networking *getNetworking();
MWWorld::Ptr getPlayerPtr();
};
}
#endif //OPENMW_LOCALPLAYER_HPP