本文整理汇总了C++中CreatureObject::executeObjectControllerAction方法的典型用法代码示例。如果您正苦于以下问题:C++ CreatureObject::executeObjectControllerAction方法的具体用法?C++ CreatureObject::executeObjectControllerAction怎么用?C++ CreatureObject::executeObjectControllerAction使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CreatureObject
的用法示例。
在下文中一共展示了CreatureObject::executeObjectControllerAction方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: teleport
void PlayerZoneComponent::teleport(SceneObject* sceneObject, float newPositionX, float newPositionZ, float newPositionY, uint64 parentID) {
//sceneObject->setTeleporting(true);
CreatureObject* player = NULL;
if (sceneObject->isPlayerCreature()) {
player = cast<CreatureObject*>( sceneObject);
}
if (player != NULL && sceneObject->getParent() != NULL && parentID != 0) {
ManagedReference<SceneObject*> par = sceneObject->getParent();
if (par->isVehicleObject() || par->isMount()) {
player->executeObjectControllerAction(String("dismount").hashCode());
}
}
ZoneComponent::teleport(sceneObject, newPositionX, newPositionZ, newPositionY, parentID);
if (player != NULL) {
PlayerObject* ghost = player->getPlayerObject();
ghost->setTeleporting(true);
ghost->updateLastValidatedPosition();
player->setMovementCounter(0);
ghost->setClientLastMovementStamp(0);
}
}
示例2: switchZone
void PlayerZoneComponent::switchZone(SceneObject* sceneObject, const String& newTerrainName, float newPostionX, float newPositionZ, float newPositionY, uint64 parentID) {
if (sceneObject->isPlayerCreature()) {
CreatureObject* player = cast<CreatureObject*>( sceneObject);
PlayerObject* ghost = player->getPlayerObject();
ManagedReference<SceneObject*> par = sceneObject->getParent();
if (par != NULL && (par->isVehicleObject() || par->isMount())) {
player->executeObjectControllerAction(String("dismount").hashCode());
}
ghost->setSavedParentID(0);
ghost->setTeleporting(true);
ghost->updateLastValidatedPosition();
player->setMovementCounter(0);
ghost->setClientLastMovementStamp(0);
ghost->unloadSpawnedChildren();
}
ZoneComponent::switchZone(sceneObject, newTerrainName, newPostionX, newPositionZ, newPositionY, parentID);
}