void GameInterface::setAprilRunning() { Current *current = StarkGlobal->getCurrent(); Resources::ModelItem *april = current->getInteractive(); Movement *movement = april->getMovement(); Walk *walk = dynamic_cast<Walk *>(movement); walk->setRunning(); }
Command *Command::opItem3DRunTo(Script *script, const ResourceReference &itemRef, const ResourceReference &targetRef, int32 suspend) { FloorPositionedItem *item = itemRef.resolve<FloorPositionedItem>(); Math::Vector3d targetPosition = getObjectPosition(targetRef); Walk *walk = new Walk(item); walk->setDestination(targetPosition); walk->setRunning(); walk->start(); item->setMovement(walk); if (suspend) { script->suspend(item); item->setMovementSuspendedScript(script); return this; // Stay on the same command while suspended } else { return nextCommand(); } }