本文整理汇总了C++中GameObject::CalcDistance方法的典型用法代码示例。如果您正苦于以下问题:C++ GameObject::CalcDistance方法的具体用法?C++ GameObject::CalcDistance怎么用?C++ GameObject::CalcDistance使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类GameObject
的用法示例。
在下文中一共展示了GameObject::CalcDistance方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
GameObject *MapManagerScript::FindClosestGameObject( uint32 pEntry, float pX, float pY, float pZ )
{
GameObject *CurrentObject = NULLGOB, *Creturn = NULL;
float closestDistance = 50000.0f, currentDistance;
for ( HM_NAMESPACE::hash_map<uint32, GameObject*>::iterator Iter = _manager->m_gameObjectStorage.begin(); Iter != _manager->m_gameObjectStorage.end(); Iter++ )
{
CurrentObject = ( *Iter ).second;
if ( CurrentObject != NULL )
{
if ( CurrentObject->GetEntry() == pEntry )
{
currentDistance = CurrentObject->CalcDistance(pX, pY, pZ);
if(currentDistance <= closestDistance)
{
closestDistance = currentDistance;
Creturn = CurrentObject;
}
}
}
}
return Creturn;
}
示例2: HandleGOInfo
bool ChatHandler::HandleGOInfo(const char *args, WorldSession *m_session)
{
GameObjectInfo *GOInfo = NULL;
GameObject *GObj = m_session->GetPlayer()->GetSelectedGo();
if( !GObj )
{
RedSystemMessage(m_session, "No selected GameObject...");
return true;
}
SystemMessage(m_session, "%s Informations:",MSG_COLOR_SUBWHITE);
SystemMessage(m_session, "%s Entry:%s%u",MSG_COLOR_GREEN,MSG_COLOR_LIGHTBLUE,GObj->GetEntry());
SystemMessage(m_session, "%s Model:%s%u",MSG_COLOR_GREEN,MSG_COLOR_LIGHTBLUE,GObj->GetUInt32Value(GAMEOBJECT_DISPLAYID));
SystemMessage(m_session, "%s State:%s%u",MSG_COLOR_GREEN,MSG_COLOR_LIGHTBLUE,GObj->GetUInt32Value(GAMEOBJECT_STATE));
SystemMessage(m_session, "%s flags:%s%u",MSG_COLOR_GREEN,MSG_COLOR_LIGHTBLUE,GObj->GetUInt32Value(GAMEOBJECT_FLAGS));
SystemMessage(m_session, "%s dynflags:%s%u",MSG_COLOR_GREEN,MSG_COLOR_LIGHTBLUE,GObj->GetUInt32Value(GAMEOBJECT_DYN_FLAGS));
SystemMessage(m_session, "%s faction:%s%u",MSG_COLOR_GREEN,MSG_COLOR_LIGHTBLUE,GObj->GetUInt32Value(GAMEOBJECT_FACTION));
char gotypetxt[50];
switch( GObj->GetUInt32Value(GAMEOBJECT_TYPE_ID) )
{
case GAMEOBJECT_TYPE_DOOR: strcpy(gotypetxt,"Door"); break;
case GAMEOBJECT_TYPE_BUTTON: strcpy(gotypetxt,"Button"); break;
case GAMEOBJECT_TYPE_QUESTGIVER: strcpy(gotypetxt,"Quest Giver"); break;
case GAMEOBJECT_TYPE_CHEST: strcpy(gotypetxt,"Chest"); break;
case GAMEOBJECT_TYPE_BINDER: strcpy(gotypetxt,"Binder"); break;
case GAMEOBJECT_TYPE_GENERIC: strcpy(gotypetxt,"Generic"); break;
case GAMEOBJECT_TYPE_TRAP: strcpy(gotypetxt,"Trap"); break;
case GAMEOBJECT_TYPE_CHAIR: strcpy(gotypetxt,"Chair"); break;
case GAMEOBJECT_TYPE_SPELL_FOCUS: strcpy(gotypetxt,"Spell Focus"); break;
case GAMEOBJECT_TYPE_TEXT: strcpy(gotypetxt,"Text"); break;
case GAMEOBJECT_TYPE_GOOBER: strcpy(gotypetxt,"Goober"); break;
case GAMEOBJECT_TYPE_TRANSPORT: strcpy(gotypetxt,"Transport"); break;
case GAMEOBJECT_TYPE_AREADAMAGE: strcpy(gotypetxt,"Area Damage"); break;
case GAMEOBJECT_TYPE_CAMERA: strcpy(gotypetxt,"Camera"); break;
case GAMEOBJECT_TYPE_MAP_OBJECT: strcpy(gotypetxt,"Map Object"); break;
case GAMEOBJECT_TYPE_MO_TRANSPORT: strcpy(gotypetxt,"Mo Transport"); break;
case GAMEOBJECT_TYPE_DUEL_ARBITER: strcpy(gotypetxt,"Duel Arbiter"); break;
case GAMEOBJECT_TYPE_FISHINGNODE: strcpy(gotypetxt,"Fishing Node"); break;
case GAMEOBJECT_TYPE_RITUAL: strcpy(gotypetxt,"Ritual"); break;
case GAMEOBJECT_TYPE_MAILBOX: strcpy(gotypetxt,"Mailbox"); break;
case GAMEOBJECT_TYPE_AUCTIONHOUSE: strcpy(gotypetxt,"Auction House"); break;
case GAMEOBJECT_TYPE_GUARDPOST: strcpy(gotypetxt,"Guard Post"); break;
case GAMEOBJECT_TYPE_SPELLCASTER: strcpy(gotypetxt,"Spell Caster"); break;
case GAMEOBJECT_TYPE_MEETINGSTONE: strcpy(gotypetxt,"Meeting Stone"); break;
case GAMEOBJECT_TYPE_FLAGSTAND: strcpy(gotypetxt,"Flag Stand"); break;
case GAMEOBJECT_TYPE_FISHINGHOLE: strcpy(gotypetxt,"Fishing Hole"); break;
case GAMEOBJECT_TYPE_FLAGDROP: strcpy(gotypetxt,"Flag Drop"); break;
default: strcpy(gotypetxt,"Unknown."); break;
}
SystemMessage(m_session, "%s Type:%s%u -- %s",MSG_COLOR_GREEN,MSG_COLOR_LIGHTBLUE,GObj->GetUInt32Value(GAMEOBJECT_TYPE_ID),gotypetxt);
SystemMessage(m_session, "%s Distance:%s%u",MSG_COLOR_GREEN,MSG_COLOR_LIGHTBLUE,GObj->CalcDistance((Object*)m_session->GetPlayer()));
GOInfo = GameObjectNameStorage.LookupEntry(GObj->GetEntry());
if( !GOInfo )
{
RedSystemMessage(m_session, "This GameObject doesn't have template, you won't be able to get some informations nor to spawn a GO with this entry.");
return true;
}
if( GOInfo->Name )
SystemMessage(m_session, "%s Name:%s%s",MSG_COLOR_GREEN,MSG_COLOR_LIGHTBLUE,GOInfo->Name);
SystemMessage(m_session, "%s Size:%s%u",MSG_COLOR_GREEN,MSG_COLOR_LIGHTBLUE,GObj->GetFloatValue(OBJECT_FIELD_SCALE_X));
return true;
}
示例3: HandleGOInfo
bool ChatHandler::HandleGOInfo(const char *args, WorldSession *m_session)
{
std::string name;
GameObjectInfo *GOInfo = NULL;
GameObject *GObj = NULL;
GObj = m_session->GetPlayer()->m_GM_SelectedGO;
if( !GObj )
{
RedSystemMessage(m_session, "No selected GameObject...");
return true;
}
switch( GObj->GetUInt32Value(GAMEOBJECT_TYPE_ID) )
{
case GAMEOBJECT_TYPE_DOOR: name = "Door"; break;
case GAMEOBJECT_TYPE_BUTTON: name = "Button"; break;
case GAMEOBJECT_TYPE_QUESTGIVER: name = "Quest Giver"; break;
case GAMEOBJECT_TYPE_CHEST: name = "Chest"; break;
case GAMEOBJECT_TYPE_BINDER: name = "Binder"; break;
case GAMEOBJECT_TYPE_GENERIC: name = "Generic"; break;
case GAMEOBJECT_TYPE_TRAP: name = "Trap"; break;
case GAMEOBJECT_TYPE_CHAIR: name = "Chair"; break;
case GAMEOBJECT_TYPE_SPELL_FOCUS: name = "Spell Focus"; break;
case GAMEOBJECT_TYPE_TEXT: name = "Text"; break;
case GAMEOBJECT_TYPE_GOOBER: name = "Goober"; break;
case GAMEOBJECT_TYPE_TRANSPORT: name = "Transport"; break;
case GAMEOBJECT_TYPE_AREADAMAGE: name = "Area Damage"; break;
case GAMEOBJECT_TYPE_CAMERA: name = "Camera"; break;
case GAMEOBJECT_TYPE_MAP_OBJECT: name = "Map Object"; break;
case GAMEOBJECT_TYPE_MO_TRANSPORT: name = "Mo Transport"; break;
case GAMEOBJECT_TYPE_DUEL_ARBITER: name = "Duel Arbiter"; break;
case GAMEOBJECT_TYPE_FISHINGNODE: name = "Fishing Node"; break;
case GAMEOBJECT_TYPE_RITUAL: name = "Ritual"; break;
case GAMEOBJECT_TYPE_MAILBOX: name = "Mailbox"; break;
case GAMEOBJECT_TYPE_AUCTIONHOUSE: name = "Auction House"; break;
case GAMEOBJECT_TYPE_GUARDPOST: name = "Guard Post"; break;
case GAMEOBJECT_TYPE_SPELLCASTER: name = "Spell Caster"; break;
case GAMEOBJECT_TYPE_MEETINGSTONE: name = "Meeting Stone"; break;
case GAMEOBJECT_TYPE_FLAGSTAND: name = "Flag Stand"; break;
case GAMEOBJECT_TYPE_FISHINGHOLE: name = "Fishing Hole"; break;
case GAMEOBJECT_TYPE_FLAGDROP: name = "Flag Drop"; break;
default: name = "Unknown type."; break;
}
GOInfo = GameObjectNameStorage.LookupEntry(GObj->GetEntry());
if( !GOInfo )
{
RedSystemMessage(m_session, "This GameObject doesn't have template, you won't be able to get some informations nor to spawn a GO with this entry.");
return true;
}
else
{
BlueSystemMessage(m_session,"Informations:");
GreenSystemMessage(m_session,"Entry:%s %d",MSG_COLOR_LIGHTBLUE, GObj->GetEntry());
GreenSystemMessage(m_session,"Model:%s %d",MSG_COLOR_LIGHTBLUE, GObj->GetUInt32Value(GAMEOBJECT_DISPLAYID));
GreenSystemMessage(m_session,"State:%s %d",MSG_COLOR_LIGHTBLUE, GObj->GetUInt32Value(GAMEOBJECT_STATE));
GreenSystemMessage(m_session,"Flags:%s %d",MSG_COLOR_LIGHTBLUE, GObj->GetUInt32Value(GAMEOBJECT_FLAGS));
GreenSystemMessage(m_session,"DynFlags:%s %d",MSG_COLOR_LIGHTBLUE, GObj->GetUInt32Value(GAMEOBJECT_DYN_FLAGS));
GreenSystemMessage(m_session,"Faction:%s %d",MSG_COLOR_LIGHTBLUE, GObj->GetUInt32Value(GAMEOBJECT_FACTION));
GreenSystemMessage(m_session,"TypeID:%s %d",MSG_COLOR_LIGHTBLUE, GObj->GetUInt32Value(GAMEOBJECT_TYPE_ID));
GreenSystemMessage(m_session,"Type:%s %s", MSG_COLOR_LIGHTBLUE, name.c_str());
GreenSystemMessage(m_session," "); //force whitespace line :/
GreenSystemMessage(m_session,"Distance:%s %d metres",MSG_COLOR_LIGHTBLUE, uint32(GObj->CalcDistance((Object*)m_session->GetPlayer()))); //brackets much :D
GreenSystemMessage(m_session,"Name:%s %s",MSG_COLOR_LIGHTBLUE, GOInfo->Name);
GreenSystemMessage(m_session,"Size:%s %f",MSG_COLOR_LIGHTBLUE, GObj->GetFloatValue(OBJECT_FIELD_SCALE_X));
}
return true;
}
示例4: HandleGOInfo
bool ChatHandler::HandleGOInfo(const char *args, WorldSession *m_session)
{
std::stringstream sstext;
GameObjectInfo *GOInfo = NULL;
GameObject *GObj = NULL;
GObj = m_session->GetPlayer()->m_GM_SelectedGO;
if( !GObj )
{
RedSystemMessage(m_session, "No selected GameObject...");
return true;
}
sstext
<< MSG_COLOR_SUBWHITE << "Informations:\n"
<< MSG_COLOR_GREEN << "Entry: " << MSG_COLOR_LIGHTBLUE << GObj->GetEntry() << "\n"
<< MSG_COLOR_GREEN << "Model: " << MSG_COLOR_LIGHTBLUE << GObj->GetUInt32Value(GAMEOBJECT_DISPLAYID)<< "\n"
<< MSG_COLOR_GREEN << "State: " << MSG_COLOR_LIGHTBLUE << GObj->GetUInt32Value(GAMEOBJECT_STATE)<< "\n"
<< MSG_COLOR_GREEN << "flags: " << MSG_COLOR_LIGHTBLUE << GObj->GetUInt32Value(GAMEOBJECT_FLAGS)<< "\n"
<< MSG_COLOR_GREEN << "dynflags:" << MSG_COLOR_LIGHTBLUE << GObj->GetUInt32Value(GAMEOBJECT_DYN_FLAGS) << "\n"
<< MSG_COLOR_GREEN << "faction: " << MSG_COLOR_LIGHTBLUE << GObj->GetUInt32Value(GAMEOBJECT_FACTION)<< "\n"
<< MSG_COLOR_GREEN << "Type: " << MSG_COLOR_LIGHTBLUE << GObj->GetUInt32Value(GAMEOBJECT_TYPE_ID) << " -- ";
switch( GObj->GetUInt32Value(GAMEOBJECT_TYPE_ID) )
{
case GAMEOBJECT_TYPE_DOOR: sstext << "Door"; break;
case GAMEOBJECT_TYPE_BUTTON: sstext << "Button"; break;
case GAMEOBJECT_TYPE_QUESTGIVER: sstext << "Quest Giver"; break;
case GAMEOBJECT_TYPE_CHEST: sstext << "Chest"; break;
case GAMEOBJECT_TYPE_BINDER: sstext << "Binder"; break;
case GAMEOBJECT_TYPE_GENERIC: sstext << "Generic"; break;
case GAMEOBJECT_TYPE_TRAP: sstext << "Trap"; break;
case GAMEOBJECT_TYPE_CHAIR: sstext << "Chair"; break;
case GAMEOBJECT_TYPE_SPELL_FOCUS: sstext << "Spell Focus"; break;
case GAMEOBJECT_TYPE_TEXT: sstext << "Text"; break;
case GAMEOBJECT_TYPE_GOOBER: sstext << "Goober"; break;
case GAMEOBJECT_TYPE_TRANSPORT: sstext << "Transport"; break;
case GAMEOBJECT_TYPE_AREADAMAGE: sstext << "Area Damage"; break;
case GAMEOBJECT_TYPE_CAMERA: sstext << "Camera"; break;
case GAMEOBJECT_TYPE_MAP_OBJECT: sstext << "Map Object"; break;
case GAMEOBJECT_TYPE_MO_TRANSPORT: sstext << "Mo Transport"; break;
case GAMEOBJECT_TYPE_DUEL_ARBITER: sstext << "Duel Arbiter"; break;
case GAMEOBJECT_TYPE_FISHINGNODE: sstext << "Fishing Node"; break;
case GAMEOBJECT_TYPE_RITUAL: sstext << "Ritual"; break;
case GAMEOBJECT_TYPE_MAILBOX: sstext << "Mailbox"; break;
case GAMEOBJECT_TYPE_AUCTIONHOUSE: sstext << "Auction House"; break;
case GAMEOBJECT_TYPE_GUARDPOST: sstext << "Guard Post"; break;
case GAMEOBJECT_TYPE_SPELLCASTER: sstext << "Spell Caster"; break;
case GAMEOBJECT_TYPE_MEETINGSTONE: sstext << "Meeting Stone"; break;
case GAMEOBJECT_TYPE_FLAGSTAND: sstext << "Flag Stand"; break;
case GAMEOBJECT_TYPE_FISHINGHOLE: sstext << "Fishing Hole"; break;
case GAMEOBJECT_TYPE_FLAGDROP: sstext << "Flag Drop"; break;
default: sstext << "Unknown."; break;
}
sstext
<< "\n"
<< MSG_COLOR_GREEN << "Distance: " << MSG_COLOR_LIGHTBLUE << GObj->CalcDistance((Object*)m_session->GetPlayer());
GOInfo = GameObjectNameStorage.LookupEntry(GObj->GetEntry());
if( !GOInfo )
{
RedSystemMessage(m_session, "This GameObject doesn't have template, you won't be able to get some informations nor to spawn a GO with this entry.");
sstext << "|r";
SystemMessage(m_session, sstext.str().c_str());
return true;
}
sstext
<< "\n"
<< MSG_COLOR_GREEN << "Name: " << MSG_COLOR_LIGHTBLUE << GOInfo->Name << "\n"
<< MSG_COLOR_GREEN << "Size: " << MSG_COLOR_LIGHTBLUE << GObj->GetFloatValue(OBJECT_FIELD_SCALE_X) << "\n"
<< "|r";
SystemMessage(m_session, sstext.str().c_str());
return true;
}
示例5: HandleGOInfo
//.........这里部分代码省略.........
case GAMEOBJECT_TYPE_CHAIR:
gottext << "Chair";
break;
case GAMEOBJECT_TYPE_SPELL_FOCUS:
gottext << "Spell Focus";
break;
case GAMEOBJECT_TYPE_TEXT:
gottext << "Text";
break;
case GAMEOBJECT_TYPE_GOOBER:
gottext << "Goober";
break;
case GAMEOBJECT_TYPE_TRANSPORT:
gottext << "Transport";
break;
case GAMEOBJECT_TYPE_AREADAMAGE:
gottext << "Area Damage";
break;
case GAMEOBJECT_TYPE_CAMERA:
gottext << "Camera";
break;
case GAMEOBJECT_TYPE_MAP_OBJECT:
gottext << "Map Object";
break;
case GAMEOBJECT_TYPE_MO_TRANSPORT:
gottext << "Mo Transport";
break;
case GAMEOBJECT_TYPE_DUEL_ARBITER:
gottext << "Duel Arbiter";
break;
case GAMEOBJECT_TYPE_FISHINGNODE:
gottext << "Fishing Node";
break;
case GAMEOBJECT_TYPE_RITUAL:
gottext << "Ritual";
break;
case GAMEOBJECT_TYPE_MAILBOX:
gottext << "Mailbox";
break;
case GAMEOBJECT_TYPE_AUCTIONHOUSE:
gottext << "Auction House";
break;
case GAMEOBJECT_TYPE_GUARDPOST:
gottext << "Guard Post";
break;
case GAMEOBJECT_TYPE_SPELLCASTER:
gottext << "Spell Caster";
break;
case GAMEOBJECT_TYPE_MEETINGSTONE:
gottext << "Meeting Stone";
break;
case GAMEOBJECT_TYPE_FLAGSTAND:
gottext << "Flag Stand";
break;
case GAMEOBJECT_TYPE_FISHINGHOLE:
gottext << "Fishing Hole";
break;
case GAMEOBJECT_TYPE_FLAGDROP:
gottext << "Flag Drop";
break;
case GAMEOBJECT_TYPE_MINI_GAME:
gottext << "Mini Game";
break;
case GAMEOBJECT_TYPE_LOTTERY_KIOSK:
gottext << "Lottery KIOSK";
break;
case GAMEOBJECT_TYPE_CAPTURE_POINT:
gottext << "Capture Point";
break;
case GAMEOBJECT_TYPE_AURA_GENERATOR:
gottext << "Aura Generator";
break;
case GAMEOBJECT_TYPE_DUNGEON_DIFFICULTY:
gottext << "Dungeon Difficulty";
break;
case GAMEOBJECT_TYPE_BARBER_CHAIR:
gottext << "Barber Chair";
break;
case GAMEOBJECT_TYPE_DESTRUCTIBLE_BUILDING:
gottext << "Destructible Building";
break;
case GAMEOBJECT_TYPE_GUILD_BANK:
gottext << "Guild Bank";
break;
case GAMEOBJECT_TYPE_TRAPDOOR:
gottext << "Trap Door";
break;
default:
gottext << "Unknown.";
break;
}
GreenSystemMessage(m_session, "Type: %s%u|r -- %s", MSG_COLOR_LIGHTBLUE, type, gottext.str().c_str());
GreenSystemMessage(m_session, "Distance: %s%f|r", MSG_COLOR_LIGHTBLUE, GObj->CalcDistance((Object*)m_session->GetPlayer()));
GreenSystemMessage(m_session, "Size: %s%f|r", MSG_COLOR_LIGHTBLUE, GObj->GetFloatValue(OBJECT_FIELD_SCALE_X));
if(GObj->GetInfo())
GreenSystemMessage(m_session, "Name: %s%s|r", MSG_COLOR_LIGHTBLUE, GObj->GetInfo()->Name);
GreenSystemMessage(m_session, "Phase: %s%u|r", MSG_COLOR_LIGHTBLUE, GObj->GetPhaseMask());
SystemMessage(m_session, sstext.str().c_str());
return true;
}