OpenMW
|
AiPackage to have an actor avoid an opening door. More...
#include <aiavoiddoor.hpp>
Public Member Functions | |
AiAvoidDoor (const MWWorld::ConstPtr &doorPtr) | |
Avoid door until the door is fully open. More... | |
virtual AiAvoidDoor * | clone () const |
Clones the package. More... | |
virtual bool | execute (const MWWorld::Ptr &actor, CharacterController &characterController, AiState &state, float duration) |
virtual int | getTypeId () const |
virtual unsigned int | getPriority () const |
Higher number is higher priority (0 being the lowest) More... | |
virtual bool | canCancel () const |
Can this Ai package be canceled? (default true) More... | |
virtual bool | shouldCancelPreviousAi () const |
Upon adding this Ai package, should the Ai Sequence attempt to cancel previous Ai packages (default true)? More... | |
Public Member Functions inherited from MWMechanics::AiPackage | |
AiPackage () | |
Default constructor. More... | |
virtual | ~AiPackage () |
Default Deconstructor. More... | |
virtual void | writeState (ESM::AiSequence::AiSequence &sequence) const |
virtual void | fastForward (const MWWorld::Ptr &actor, AiState &state) |
Simulates the passing of time. More... | |
virtual MWWorld::Ptr | getTarget () const |
Get the target actor the AI is targeted at (not applicable to all AI packages, default return empty Ptr) More... | |
virtual bool | sideWithTarget () const |
Return true if having this AiPackage makes the actor side with the target in fights (default false) More... | |
virtual bool | followTargetThroughDoors () const |
Return true if the actor should follow the target through teleport doors (default false) More... | |
virtual bool | getRepeat () const |
Return true if this package should repeat. Currently only used for Wander packages. More... | |
void | reset () |
Reset pathfinding state. More... | |
bool | isTargetMagicallyHidden (const MWWorld::Ptr &target) |
Private Attributes | |
float | mDuration |
MWWorld::ConstPtr | mDoorPtr |
ESM::Position | mLastPos |
float | mAdjAngle |
Additional Inherited Members | |
Public Types inherited from MWMechanics::AiPackage | |
enum | TypeId { TypeIdNone = -1, TypeIdWander = 0, TypeIdTravel = 1, TypeIdEscort = 2, TypeIdFollow = 3, TypeIdActivate = 4, TypeIdCombat = 5, TypeIdPursue = 6, TypeIdAvoidDoor = 7, TypeIdFace = 8 } |
Enumerates the various AITypes available. More... | |
Static Public Member Functions inherited from MWMechanics::AiPackage | |
static bool | isReachableRotatingOnTheRun (const MWWorld::Ptr &actor, const ESM::Pathgrid::Point &dest) |
Return if actor's rotation speed is sufficient to rotate to the destination pathpoint on the run. Otherwise actor should rotate while standing. More... | |
Protected Member Functions inherited from MWMechanics::AiPackage | |
bool | pathTo (const MWWorld::Ptr &actor, const ESM::Pathgrid::Point &dest, float duration, float destTolerance=0.0f) |
Handles path building and shortcutting with obstacles avoiding. More... | |
bool | shortcutPath (const ESM::Pathgrid::Point &startPoint, const ESM::Pathgrid::Point &endPoint, const MWWorld::Ptr &actor, bool *destInLOS) |
bool | checkWayIsClearForActor (const ESM::Pathgrid::Point &startPoint, const ESM::Pathgrid::Point &endPoint, const MWWorld::Ptr &actor) |
Check if the way to the destination is clear, taking into account actor speed. More... | |
virtual bool | doesPathNeedRecalc (const ESM::Pathgrid::Point &newDest, const MWWorld::CellStore *currentCell) |
void | evadeObstacles (const MWWorld::Ptr &actor, float duration, const ESM::Position &pos) |
Protected Attributes inherited from MWMechanics::AiPackage | |
PathFinder | mPathFinder |
ObstacleCheck | mObstacleCheck |
float | mTimer |
osg::Vec3f | mLastActorPos |
short | mRotateOnTheRunChecks |
bool | mIsShortcutting |
bool | mShortcutProhibited |
ESM::Pathgrid::Point | mShortcutFailPos |
AiPackage to have an actor avoid an opening door.
The AI will retreat from the door until it has finished opening, walked far away from it, or one second has passed, in an attempt to avoid it
MWMechanics::AiAvoidDoor::AiAvoidDoor | ( | const MWWorld::ConstPtr & | doorPtr | ) |
Avoid door until the door is fully open.
|
inlinevirtual |
Can this Ai package be canceled? (default true)
Reimplemented from MWMechanics::AiPackage.
|
virtual |
Clones the package.
Implements MWMechanics::AiPackage.
|
virtual |
Updates and runs the package (Should run every frame)
Implements MWMechanics::AiPackage.
|
virtual |
Higher number is higher priority (0 being the lowest)
Reimplemented from MWMechanics::AiPackage.
|
virtual |
|
inlinevirtual |
Upon adding this Ai package, should the Ai Sequence attempt to cancel previous Ai packages (default true)?
Reimplemented from MWMechanics::AiPackage.
|
private |
|
private |
|
private |
|
private |