本文整理汇总了C++中GameObjectPointer::GetByte方法的典型用法代码示例。如果您正苦于以下问题:C++ GameObjectPointer::GetByte方法的具体用法?C++ GameObjectPointer::GetByte怎么用?C++ GameObjectPointer::GetByte使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类GameObjectPointer
的用法示例。
在下文中一共展示了GameObjectPointer::GetByte方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: HandleGOActivate
bool ChatHandler::HandleGOActivate(const char* args, WorldSession *m_session)
{
GameObjectPointer GObj = NULLGOB;
GObj = m_session->GetPlayer()->m_GM_SelectedGO;
if( !GObj )
{
RedSystemMessage(m_session, "No selected GameObject...");
return true;
}
if(GObj->GetByte(GAMEOBJECT_BYTES_1, GAMEOBJECT_BYTES_STATE) == 1)
{
// Close/Deactivate
GObj->SetByte(GAMEOBJECT_BYTES_1,GAMEOBJECT_BYTES_STATE, 0);
GObj->SetUInt32Value(GAMEOBJECT_FLAGS, (GObj->GetUInt32Value(GAMEOBJECT_FLAGS)-1));
} else {
// Open/Activate
GObj->SetByte(GAMEOBJECT_BYTES_1,GAMEOBJECT_BYTES_STATE, 1);
GObj->SetUInt32Value(GAMEOBJECT_FLAGS, (GObj->GetUInt32Value(GAMEOBJECT_FLAGS)+1));
}
BlueSystemMessage(m_session, "Gameobject opened/closed.");
return true;
}
示例2: 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;
}
示例3: 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;
}