这篇教程C++ DoUseDoorOrButton函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中DoUseDoorOrButton函数的典型用法代码示例。如果您正苦于以下问题:C++ DoUseDoorOrButton函数的具体用法?C++ DoUseDoorOrButton怎么用?C++ DoUseDoorOrButton使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了DoUseDoorOrButton函数的28个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: switchvoid instance_blackrock_depths::SetData(uint32 uiType, uint32 uiData){ switch (uiType) { case TYPE_RING_OF_LAW: // If finished the arena event after theldren fight if (uiData == DONE && m_auiEncounter[0] == SPECIAL) DoRespawnGameObject(GO_ARENA_SPOILS, HOUR); else if (uiData == DONE) { for (GuidSet::const_iterator itr = m_sArenaCrowdNpcGuids.begin(); itr != m_sArenaCrowdNpcGuids.end(); ++itr) { if (Creature* pSpectator = instance->GetCreature(*itr)) pSpectator->SetFactionTemporary(FACTION_ARENA_NEUTRAL, TEMPFACTION_RESTORE_RESPAWN); } } m_auiEncounter[0] = uiData; break; case TYPE_VAULT: if (uiData == SPECIAL) { ++m_uiCofferDoorsOpened; if (m_uiCofferDoorsOpened == MAX_RELIC_DOORS) { SetData(TYPE_VAULT, IN_PROGRESS); Creature* pConstruct = NULL; // Activate vault constructs for (GuidSet::const_iterator itr = m_sVaultNpcGuids.begin(); itr != m_sVaultNpcGuids.end(); ++itr) { pConstruct = instance->GetCreature(*itr); if (pConstruct) pConstruct->RemoveAurasDueToSpell(SPELL_STONED); } if (!pConstruct) return; // Summon doomgrip pConstruct->SummonCreature(NPC_WATCHER_DOOMGRIP, aVaultPositions[0], aVaultPositions[1], aVaultPositions[2], aVaultPositions[3], TEMPSUMMON_DEAD_DESPAWN, 0); } // No need to store in this case return; } if (uiData == DONE) { DoUseDoorOrButton(GO_SECRET_DOOR); DoToggleGameObjectFlags(GO_SECRET_SAFE, GO_FLAG_NO_INTERACT, false); } m_auiEncounter[1] = uiData; break; case TYPE_ROCKNOT: if (uiData == SPECIAL) ++m_uiBarAleCount; else { if (uiData == DONE) { HandleBarPatrons(PATRON_PISSED); SetBarDoorIsOpen(); } m_auiEncounter[2] = uiData; } break; case TYPE_TOMB_OF_SEVEN: // Don't set the same data twice if (uiData == m_auiEncounter[3]) break; // Combat door DoUseDoorOrButton(GO_TOMB_ENTER); // Start the event if (uiData == IN_PROGRESS) DoCallNextDwarf(); if (uiData == FAIL) { // Reset dwarfes for (uint8 i = 0; i < MAX_DWARFS; ++i) { if (Creature* pDwarf = GetSingleCreatureFromStorage(aTombDwarfes[i])) { if (!pDwarf->isAlive()) pDwarf->Respawn(); } } m_uiDwarfRound = 0; m_uiDwarfFightTimer = 0; } if (uiData == DONE) { DoRespawnGameObject(GO_CHEST_SEVEN, HOUR); DoUseDoorOrButton(GO_TOMB_EXIT); } m_auiEncounter[3] = uiData; break; case TYPE_LYCEUM: if (uiData == DONE) {//.........这里部分代码省略.........
开发者ID:ElunaLuaEngine,项目名称:ElunaMangosWotlk,代码行数:101,
示例2: switchvoid instance_draktharon_keep::SetData(uint32 uiType, uint32 uiData){ switch(uiType) { case TYPE_TROLLGORE: if (uiData == IN_PROGRESS) m_bTrollgoreConsume = true; if (uiData == SPECIAL) m_bTrollgoreConsume = false; m_auiEncounter[uiType] = uiData; break; case TYPE_NOVOS: if (uiData == IN_PROGRESS) { // Sort the dummies DoSortNovosDummies(); // Cast some visual spells Creature* pTarget = instance->GetCreature(m_novosChannelGuid); for (uint8 i = 0; i < MAX_CRYSTALS; ++i) { Creature* pCaster = instance->GetCreature(m_aNovosCrystalInfo[i].m_channelGuid); if (pCaster && pTarget) pCaster->CastSpell(pTarget, SPELL_BEAM_CHANNEL, false); m_aNovosCrystalInfo[i].m_bWasUsed = false; } // Achievement related m_bNovosAddGrounded = false; } else if (uiData == SPECIAL) { // Achievement related m_bNovosAddGrounded = true; } else if (uiData == FAIL) { // Interrupt casted spells for (uint8 i = 0; i < MAX_CRYSTALS; ++i) { Creature* pDummy = instance->GetCreature(m_aNovosCrystalInfo[i].m_channelGuid); if (pDummy) pDummy->InterruptNonMeleeSpells(false); // And reset used crystals if (m_aNovosCrystalInfo[i].m_bWasUsed) DoUseDoorOrButton(m_aNovosCrystalInfo[i].m_crystalGuid); } } m_auiEncounter[uiType] = uiData; break; case TYPE_KING_DRED: if (uiData == IN_PROGRESS) m_uiDreadAddsKilled = 0; m_auiEncounter[uiType] = uiData; break; case TYPE_THARONJA: m_auiEncounter[uiType] = uiData; break; } if (uiData == DONE) { OUT_SAVE_INST_DATA; std::ostringstream saveStream; saveStream << m_auiEncounter[0] << " " << m_auiEncounter[1] << " " << m_auiEncounter[2] << " " << m_auiEncounter[3]; m_strInstData = saveStream.str(); SaveToDB(); OUT_SAVE_INST_DATA_COMPLETE; }}
开发者ID:Calixa,项目名称:murlocs_434,代码行数:74,
示例3: SetData void SetData(uint32 uiType, uint32 uiData) { switch(uiType) { case TYPE_MAGTHERIDON_EVENT: m_auiEncounter[0] = uiData; if (uiData == NOT_STARTED) m_uiRespawnTimer = 10000; if (uiData != IN_PROGRESS) { if (GameObject* pDoor = instance->GetGameObject(m_uiDoorGUID)) pDoor->SetGoState(GO_STATE_ACTIVE); } break; case TYPE_CHANNELER_EVENT: switch(uiData) { case NOT_STARTED: // Reset all channelers once one is reset. if (m_auiEncounter[1] != NOT_STARTED) { m_auiEncounter[1] = NOT_STARTED; if (ChannelerGUID.empty()) { debug_log(" C++ DoYell函数代码示例 C++ DoUpdateWorldState函数代码示例
|