openmw-tes3coop/apps/openmw/mwworld/player.hpp
Lukasz Gromanowski e9844e1b37 Fixes #417: Apply weather instantly when teleporting
Changed teleporting detection from "position tracking" to manually
setting "teleportation" flag ( player->setTeleported(true) ).

Signed-off-by: Lukasz Gromanowski <lgromanowski@gmail.com>
2013-12-31 20:40:23 +01:00

72 lines
1.5 KiB
C++

#ifndef GAME_MWWORLD_PLAYER_H
#define GAME_MWWORLD_PLAYER_H
#include "../mwworld/refdata.hpp"
#include "../mwworld/livecellref.hpp"
#include "../mwmechanics/drawstate.hpp"
namespace ESM
{
struct NPC;
}
namespace MWBase
{
class World;
class Ptr;
}
namespace MWWorld
{
class CellStore;
/// \brief NPC object representing the player and additional player data
class Player
{
LiveCellRef<ESM::NPC> mPlayer;
MWWorld::CellStore *mCellStore;
std::string mSign;
bool mAutoMove;
int mForwardBackward;
bool mTeleported;
public:
Player(const ESM::NPC *player, const MWBase::World& world);
void set (const ESM::NPC *player);
void setCell (MWWorld::CellStore *cellStore);
MWWorld::Ptr getPlayer();
void setBirthSign(const std::string &sign);
const std::string &getBirthSign() const;
void setDrawState (MWMechanics::DrawState_ state);
bool getAutoMove() const;
MWMechanics::DrawState_ getDrawState(); /// \todo constness
void setAutoMove (bool enable);
void setLeftRight (int value);
void setForwardBackward (int value);
void setUpDown(int value);
void setRunState(bool run);
void setSneak(bool sneak);
void yaw(float yaw);
void pitch(float pitch);
void roll(float roll);
bool wasTeleported() const;
void setTeleported(bool teleported);
};
}
#endif