本文整理汇总了C++中GameObjectPointer::GetEntry方法的典型用法代码示例。如果您正苦于以下问题:C++ GameObjectPointer::GetEntry方法的具体用法?C++ GameObjectPointer::GetEntry怎么用?C++ GameObjectPointer::GetEntry使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类GameObjectPointer
的用法示例。
在下文中一共展示了GameObjectPointer::GetEntry方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: HellfirePeninsulaBannerAI
HellfirePeninsulaBannerAI(GameObjectPointer go) : GameObjectAIScript(go)
{
m_bannerStatus = BANNER_STATUS_NEUTRAL;
Status = 50;
switch(go->GetEntry())
{
case TOWER_WEST:
ControlPointName = "The Stadium";
towerid = TOWER_STADIUM;
break;
case TOWER_NORTH:
ControlPointName = "The Overlook";
towerid = TOWER_OVERLOOK;
break;
case TOWER_SOUTH:
ControlPointName = "Broken Hill";
towerid = TOWER_BROKENHILL;
break;
default:
ControlPointName = "Unknown";
break;
}
}
示例2: GameObjectAIScript
ZangarmarshBannerAI(GameObjectPointer go) : GameObjectAIScript(go)
{
m_bannerStatus = BANNER_STATUS_NEUTRAL;
Status = 50;
switch(go->GetEntry())
{
case G_TOWER_EAST:
ControlPointName = "East Beacon";
towerid = TOWER_EAST;
break;
case G_TOWER_WEST:
ControlPointName = "West Beacon";
towerid = TOWER_WEST;
break;
default:
ControlPointName = "Unknown";
break;
}
}
示例3: TerokkarForestBannerAI
explicit TerokkarForestBannerAI(GameObjectPointer go) : GameObjectAIScript(go)
{
map<uint32, uint32> StoredPlayers;
uint32 Status;
const char* ControlPointName;
uint32 towerid;
uint32 m_bannerStatus;
m_bannerStatus = BANNER_STATUS_NEUTRAL;
Status = 50;
switch(go->GetEntry())
{
case G_TOWER_1:
ControlPointName = "Tower 1";
towerid = TOWER_1;
break;
case G_TOWER_2:
ControlPointName = "Tower 2";
towerid = TOWER_2;
break;
case G_TOWER_3:
ControlPointName = "Tower 3";
towerid = TOWER_3;
break;
case G_TOWER_4:
ControlPointName = "Tower 4";
towerid = TOWER_4;
break;
case G_TOWER_5:
ControlPointName = "Tower 5";
towerid = TOWER_5;
break;
default:
ControlPointName = "Unknown";
break;
}
}
示例4: HandleGODelete
bool ChatHandler::HandleGODelete(const char *args, WorldSession *m_session)
{
GameObjectPointer GObj = m_session->GetPlayer()->m_GM_SelectedGO;
if( !GObj )
{
RedSystemMessage(m_session, "No selected GameObject...");
return true;
}
if(GObj->m_spawn != 0 && GObj->m_spawn->entry == GObj->GetEntry())
{
uint32 cellx=float2int32(((_maxX-GObj->m_spawn->x)/_cellSize));
uint32 celly=float2int32(((_maxY-GObj->m_spawn->y)/_cellSize));
GObj->DeleteFromDB();
if(cellx < _sizeX && celly < _sizeY)
{
CellSpawns * c = GObj->GetMapMgr()->GetBaseMap()->GetSpawnsListAndCreate(cellx, celly);
for(GOSpawnList::iterator itr = c->GOSpawns.begin(); itr != c->GOSpawns.end(); ++itr)
{
if((*itr) == GObj->m_spawn)
{
c->GOSpawns.erase(itr);
break;
}
}
delete GObj->m_spawn;
GObj->m_spawn = NULL;
}
}
GObj->Despawn(0);
GObj->Destructor();
GObj = NULLGOB;
m_session->GetPlayer()->m_GM_SelectedGO = NULLGOB;
return true;
}
示例5: HandleGOInfo
bool ChatHandler::HandleGOInfo(const char *args, WorldSession *m_session)
{
std::stringstream sstext;
GameObjectInfo *GOInfo = NULL;
GameObjectPointer GObj = NULLGOB;
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 << (uint32)GObj->GetByte(GAMEOBJECT_BYTES_1, GAMEOBJECT_BYTES_STATE)<< "\n"
<< MSG_COLOR_GREEN << "flags: " << MSG_COLOR_LIGHTBLUE << GObj->GetUInt32Value(GAMEOBJECT_FLAGS)<< "\n"
<< MSG_COLOR_GREEN << "dynflags:" << MSG_COLOR_LIGHTBLUE << GObj->GetUInt32Value(GAMEOBJECT_DYNAMIC) << "\n"
<< MSG_COLOR_GREEN << "faction: " << MSG_COLOR_LIGHTBLUE << GObj->GetUInt32Value(GAMEOBJECT_FACTION)<< "\n"
<< MSG_COLOR_GREEN << "Type: " << MSG_COLOR_LIGHTBLUE << (uint32)GObj->GetByte(GAMEOBJECT_BYTES_1, GAMEOBJECT_BYTES_TYPE_ID) << " -- ";
switch( GObj->GetByte(GAMEOBJECT_BYTES_1, GAMEOBJECT_BYTES_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(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;
}
示例6: HandleGOSpawn
bool ChatHandler::HandleGOSpawn(const char *args, WorldSession *m_session)
{
std::stringstream sstext;
char* pEntryID = strtok((char*)args, " ");
if (!pEntryID)
return false;
uint32 EntryID = atoi(pEntryID);
bool Save = false;
char* pSave = strtok(NULL, " ");
if (pSave)
Save = (atoi(pSave)>0?true:false);
OUT_DEBUG("Spawning GameObject By Entry '%u'", EntryID);
sstext << "Spawning GameObject By Entry '" << EntryID << "'" << '\0';
SystemMessage(m_session, sstext.str().c_str());
GameObjectPointer go = m_session->GetPlayer()->GetMapMgr()->CreateGameObject(EntryID);
if(go == NULL)
{
sstext << "GameObject Info '" << EntryID << "' Not Found" << '\0';
SystemMessage(m_session, sstext.str().c_str());
return true;
}
PlayerPointer chr = m_session->GetPlayer();
uint32 mapid = chr->GetMapId();
float x = chr->GetPositionX();
float y = chr->GetPositionY();
float z = chr->GetPositionZ();
float o = chr->GetOrientation();
go->SetInstanceID(chr->GetInstanceID());
go->CreateFromProto(EntryID,mapid,x,y,z,o,0.0f,0.0f,0.0f,0.0f);
go->SetRotation(o);
go->PushToWorld(m_session->GetPlayer()->GetMapMgr());
// Create sapwn instance
GOSpawn * gs = new GOSpawn;
gs->entry = go->GetEntry();
gs->facing = go->GetOrientation();
gs->faction = go->GetUInt32Value(GAMEOBJECT_FACTION);
gs->flags = go->GetUInt32Value(GAMEOBJECT_FLAGS);
gs->id = objmgr.GenerateGameObjectSpawnID();
gs->orientation1 = go->GetFloatValue(GAMEOBJECT_ROTATION);
gs->orientation2 = go->GetFloatValue(GAMEOBJECT_ROTATION_01);
gs->orientation3 = go->GetFloatValue(GAMEOBJECT_ROTATION_02);
gs->orientation4 = go->GetFloatValue(GAMEOBJECT_ROTATION_03);
gs->scale = go->GetFloatValue(OBJECT_FIELD_SCALE_X);
gs->x = go->GetPositionX();
gs->y = go->GetPositionY();
gs->z = go->GetPositionZ();
gs->state = go->GetByte(GAMEOBJECT_BYTES_1, GAMEOBJECT_BYTES_STATE);
//gs->stateNpcLink = 0;
uint32 cx = m_session->GetPlayer()->GetMapMgr()->GetPosX(m_session->GetPlayer()->GetPositionX());
uint32 cy = m_session->GetPlayer()->GetMapMgr()->GetPosY(m_session->GetPlayer()->GetPositionY());
m_session->GetPlayer()->GetMapMgr()->GetBaseMap()->GetSpawnsListAndCreate(cx,cy)->GOSpawns.push_back(gs);
go->m_spawn = gs;
//go->AddToWorld();
if(Save == true)
{
// If we're saving, create template and add index
go->SaveToDB();
}
return true;
}
示例7: HandleGOSelect
bool ChatHandler::HandleGOSelect(const char *args, WorldSession *m_session)
{
GameObjectPointer GObj = NULLGOB;
unordered_set<ObjectPointer >::iterator Itr = m_session->GetPlayer()->GetInRangeSetBegin();
unordered_set<ObjectPointer >::iterator Itr2 = m_session->GetPlayer()->GetInRangeSetEnd();
float cDist = 9999.0f;
float nDist = 0.0f;
bool bUseNext = false;
if(args)
{
if(args[0] == '1')
{
if(m_session->GetPlayer()->m_GM_SelectedGO == NULL)
bUseNext = true;
for(;;Itr++)
{
if(Itr == Itr2 && GObj == NULL && bUseNext)
Itr = m_session->GetPlayer()->GetInRangeSetBegin();
else if(Itr == Itr2)
break;
if((*Itr)->GetTypeId() == TYPEID_GAMEOBJECT)
{
// Find the current go, move to the next one
if(bUseNext)
{
// Select the first.
GObj = TO_GAMEOBJECT(*Itr);
break;
} else {
if(((*Itr) == m_session->GetPlayer()->m_GM_SelectedGO))
{
// Found him. Move to the next one, or beginning if we're at the end
bUseNext = true;
}
}
}
}
}
}
if(!GObj)
{
for( ; Itr != Itr2; Itr++ )
{
if( (*Itr)->GetTypeId() == TYPEID_GAMEOBJECT )
{
if( (nDist = m_session->GetPlayer()->CalcDistance( *Itr )) < cDist )
{
cDist = nDist;
nDist = 0.0f;
GObj = TO_GAMEOBJECT(*Itr);
}
}
}
}
if( GObj == NULL )
{
RedSystemMessage(m_session, "No inrange GameObject found.");
return true;
}
m_session->GetPlayer()->m_GM_SelectedGO = GObj;
GreenSystemMessage(m_session, "Selected GameObject [ %s ] which is %.3f meters away from you.",
GameObjectNameStorage.LookupEntry(GObj->GetEntry())->Name, m_session->GetPlayer()->CalcDistance(GObj));
return true;
}