diff options
author | Blaymoira <none@none> | 2008-12-11 21:32:08 +0100 |
---|---|---|
committer | Blaymoira <none@none> | 2008-12-11 21:32:08 +0100 |
commit | 236553f40804c30d4ed8f1a29e01a76dd7be809a (patch) | |
tree | 5b7e5d38aa0e1e002a932fb86d2c01e0289b1599 /src/game/MotionMaster.cpp | |
parent | 5d003e3a6079388149473f0a3da6089b47404a29 (diff) | |
parent | f2028e1583bf935fc3d096748d5b07428cdcaa00 (diff) |
*Merged 459
--HG--
branch : trunk
Diffstat (limited to 'src/game/MotionMaster.cpp')
-rw-r--r-- | src/game/MotionMaster.cpp | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/game/MotionMaster.cpp b/src/game/MotionMaster.cpp index d3167e180a0..0195e3ebdf6 100644 --- a/src/game/MotionMaster.cpp +++ b/src/game/MotionMaster.cpp @@ -319,6 +319,31 @@ void MotionMaster::Mutate(MovementGenerator *m) push(m); } +void MotionMaster::MovePath(uint32 path_id, bool repeatable) +{ + if(!path_id) + return; + //We set waypoint movement as new default movement generator + // clear ALL movement generators (including default) + while(!empty()) + { + MovementGenerator *curr = top(); + curr->Finalize(*i_owner); + pop(); + if( !isStatic( curr ) ) + delete curr; + } + + sLog.outError("attempting to move"); + //i_owner->GetTypeId()==TYPEID_PLAYER ? + //Mutate(new WaypointMovementGenerator<Player>(path_id, repeatable)): + Mutate(new WaypointMovementGenerator<Creature>(path_id, repeatable)); + + DEBUG_LOG("%s (GUID: %u) start moving over path(Id:%u, repeatable: %s)", + i_owner->GetTypeId()==TYPEID_PLAYER ? "Player" : "Creature", + i_owner->GetGUIDLow(), path_id, repeatable ? "YES" : "NO" ); +} + void MotionMaster::propagateSpeedChange() { Impl::container_type::iterator it = Impl::c.begin(); |