1
0
Fork 1
mirror of https://github.com/TES3MP/openmw-tes3mp.git synced 2025-03-28 20:36:42 +00:00

Store an animation object in the character controller

This commit is contained in:
Chris Robinson 2013-01-16 10:16:37 -08:00
parent 63e685ea39
commit b378bc92a0
2 changed files with 11 additions and 4 deletions

View file

@ -165,11 +165,12 @@ namespace MWMechanics
void Actors::addActor (const MWWorld::Ptr& ptr) void Actors::addActor (const MWWorld::Ptr& ptr)
{ {
MWRender::Animation *anim = MWBase::Environment::get().getWorld()->getAnimation(ptr);
if(!MWWorld::Class::get(ptr).getCreatureStats(ptr).isDead()) if(!MWWorld::Class::get(ptr).getCreatureStats(ptr).isDead())
mActors.insert(std::make_pair(ptr, CharacterController(ptr, CharState_Idle))); mActors.insert(std::make_pair(ptr, CharacterController(ptr, anim, CharState_Idle)));
else else
{ {
mActors.insert(std::make_pair(ptr, CharacterController(ptr, CharState_Dead))); mActors.insert(std::make_pair(ptr, CharacterController(ptr, anim, CharState_Dead)));
MWBase::Environment::get().getWorld()->playAnimationGroup (ptr, "death1", 2); MWBase::Environment::get().getWorld()->playAnimationGroup (ptr, "death1", 2);
} }
} }

View file

@ -3,6 +3,11 @@
#include "../mwworld/ptr.hpp" #include "../mwworld/ptr.hpp"
namespace MWRender
{
class Animation;
}
namespace MWMechanics namespace MWMechanics
{ {
@ -14,12 +19,13 @@ enum CharacterState {
class CharacterController class CharacterController
{ {
MWWorld::Ptr mPtr; MWWorld::Ptr mPtr;
MWRender::Animation *mAnimation;
CharacterState mState; CharacterState mState;
public: public:
CharacterController(const MWWorld::Ptr &ptr, CharacterState state) CharacterController(const MWWorld::Ptr &ptr, MWRender::Animation *anim, CharacterState state)
: mPtr(ptr), mState(state) : mPtr(ptr), mAnimation(anim), mState(state)
{ } { }
CharacterState getState() const CharacterState getState() const