1 #ifndef OPENMW_MWWORLD_PROJECTILEMANAGER_H
2 #define OPENMW_MWWORLD_PROJECTILEMANAGER_H
7 #include <osg/PositionAttitudeTransform>
11 #include "../mwbase/soundmanager.hpp"
38 class EffectAnimationTime;
39 class RenderingManager;
53 const MWWorld::Ptr& caster,
const std::string& sourceName,
const osg::Vec3f& fallbackDirection);
56 const osg::Vec3f& pos,
const osg::Quat& orient,
MWWorld::Ptr bow,
float speed,
float attackStrength);
75 osg::ref_ptr<osg::PositionAttitudeTransform>
mNode;
125 void createModel (
State& state,
const std::string& model,
const osg::Vec3f& pos,
const osg::Quat& orient,
126 bool rotate,
bool createLight, osg::Vec4 lightDiffuseColor, std::string texture =
"");
MWPhysics::PhysicsSystem * mPhysics
Definition: projectilemanager.hpp:71
boost::shared_ptr< MWRender::EffectAnimationTime > mEffectAnimationTime
Definition: projectilemanager.hpp:76
Wrapper class that constructs and provides access to the most commonly used resource subsystems...
Definition: resourcesystem.hpp:24
void operator=(const ProjectileManager &)
std::vector< ProjectileState > mProjectiles
Definition: projectilemanager.hpp:120
Definition: renderingmanager.hpp:63
MWWorld::Ptr getCaster()
Definition: projectilemanager.cpp:591
Definition: esmreader.hpp:21
bool mStack
Definition: projectilemanager.hpp:104
std::vector< MWBase::SoundPtr > mSounds
Definition: projectilemanager.hpp:106
std::string mSpellId
Definition: projectilemanager.hpp:95
std::string mBowId
Definition: projectilemanager.hpp:113
Definition: projectilemanager.hpp:110
ProjectileManager(osg::Group *parent, Resource::ResourceSystem *resourceSystem, MWRender::RenderingManager *rendering, MWPhysics::PhysicsSystem *physics)
Definition: projectilemanager.cpp:126
bool readRecord(ESM::ESMReader &reader, uint32_t type)
Definition: projectilemanager.cpp:505
void update(float dt)
Definition: projectilemanager.cpp:309
Definition: loadinglistener.hpp:8
Definition: physicssystem.hpp:51
float mSpeed
Definition: projectilemanager.hpp:102
MWWorld::Ptr mCasterHandle
Definition: projectilemanager.hpp:82
Definition: esmwriter.hpp:17
Definition: projectilemanager.hpp:45
int mActorId
Definition: projectilemanager.hpp:78
Definition: projectilemanager.hpp:73
void createModel(State &state, const std::string &model, const osg::Vec3f &pos, const osg::Quat &orient, bool rotate, bool createLight, osg::Vec4 lightDiffuseColor, std::string texture="")
Definition: projectilemanager.cpp:164
Resource::ResourceSystem * mResourceSystem
Definition: projectilemanager.hpp:69
std::string mIdArrow
Definition: projectilemanager.hpp:90
float mAttackStrength
Definition: projectilemanager.hpp:116
std::vector< MagicBoltState > mMagicBolts
Definition: projectilemanager.hpp:119
std::vector< std::string > mIdMagic
Definition: projectilemanager.hpp:87
Pointer to a const LiveCellRef.
Definition: ptr.hpp:90
void clear()
Removes all current projectiles. Should be called when switching to a new worldspace.
Definition: projectilemanager.cpp:443
MWRender::RenderingManager * mRendering
Definition: projectilemanager.hpp:70
void launchMagicBolt(const std::string &spellId, bool stack, const ESM::EffectList &effects, const MWWorld::Ptr &caster, const std::string &sourceName, const osg::Vec3f &fallbackDirection)
If caster is an actor, the actor's facing orientation is used. Otherwise fallbackDirection is used...
Definition: projectilemanager.cpp:235
int countSavedGameRecords() const
Definition: projectilemanager.cpp:586
osg::Vec3f mVelocity
Definition: projectilemanager.hpp:115
osg::ref_ptr< osg::PositionAttitudeTransform > mNode
Definition: projectilemanager.hpp:75
void moveMagicBolts(float dt)
Definition: projectilemanager.cpp:315
void launchProjectile(MWWorld::Ptr actor, MWWorld::ConstPtr projectile, const osg::Vec3f &pos, const osg::Quat &orient, MWWorld::Ptr bow, float speed, float attackStrength)
Definition: projectilemanager.cpp:291
ESM::EffectList mEffects
Definition: projectilemanager.hpp:100
Pointer to a LiveCellRef.
Definition: ptr.hpp:19
Definition: projectilemanager.hpp:93
std::string mSourceName
Definition: projectilemanager.hpp:98
void moveProjectiles(float dt)
Definition: projectilemanager.cpp:387
void write(ESM::ESMWriter &writer, Loading::Listener &progress) const
Definition: projectilemanager.cpp:461
std::vector< std::string > mSoundIds
Definition: projectilemanager.hpp:107
EffectList, ENAM subrecord.
Definition: effectlist.hpp:33
osg::ref_ptr< osg::Group > mParent
Definition: projectilemanager.hpp:68