2010-08-03 16:44:52 +00:00
|
|
|
#ifndef GAME_MWWORLD_ACTIONTELEPORT_H
|
|
|
|
#define GAME_MWWORLD_ACTIONTELEPORT_H
|
|
|
|
|
|
|
|
#include <string>
|
|
|
|
|
|
|
|
#include <components/esm/defs.hpp>
|
|
|
|
|
|
|
|
#include "action.hpp"
|
|
|
|
|
|
|
|
namespace MWWorld
|
|
|
|
{
|
2012-07-27 10:00:10 +00:00
|
|
|
class ActionTeleport : public Action
|
2010-08-03 16:44:52 +00:00
|
|
|
{
|
|
|
|
std::string mCellName;
|
|
|
|
ESM::Position mPosition;
|
|
|
|
|
2014-08-24 20:51:47 +00:00
|
|
|
/// Teleports this actor and also teleports anyone following that actor.
|
2012-07-27 10:00:10 +00:00
|
|
|
virtual void executeImp (const Ptr& actor);
|
|
|
|
|
2014-08-24 20:51:47 +00:00
|
|
|
/// Teleports only the given actor (internal use).
|
|
|
|
void teleport(const Ptr &actor);
|
|
|
|
|
2010-08-03 16:44:52 +00:00
|
|
|
public:
|
|
|
|
|
2012-07-27 10:00:10 +00:00
|
|
|
ActionTeleport (const std::string& cellName, const ESM::Position& position);
|
2014-08-24 20:51:47 +00:00
|
|
|
///< If cellName is empty, an exterior cell is assumed.
|
2010-08-03 16:44:52 +00:00
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif
|