bool TySceneManager::IsCurrentScene(TyScene * pScene) { bool current = false; if( HasScene(pScene) ) { if ( m_CurrentScene == pScene ) current = true; } return current; }
void SceneMgr::OnSceneTrigger(uint32 sceneInstanceID, std::string const& triggerName) { if (!HasScene(sceneInstanceID)) return; if (_isDebuggingScenes) ChatHandler(GetPlayer()->GetSession()).PSendSysMessage(LANG_COMMAND_SCENE_DEBUG_TRIGGER, sceneInstanceID, triggerName.c_str()); SceneTemplate const* sceneTemplate = GetSceneTemplateFromInstanceId(sceneInstanceID); sScriptMgr->OnSceneTrigger(GetPlayer(), sceneInstanceID, sceneTemplate, triggerName); }
void SceneMgr::OnSceneComplete(uint32 sceneInstanceID) { if (!HasScene(sceneInstanceID)) return; if (_isDebuggingScenes) ChatHandler(GetPlayer()->GetSession()).PSendSysMessage(LANG_COMMAND_SCENE_DEBUG_COMPLETE, sceneInstanceID); SceneTemplate const* sceneTemplate = GetSceneTemplateFromInstanceId(sceneInstanceID); // Must be done before removing aura RemoveSceneInstanceId(sceneInstanceID); if (sceneTemplate->SceneId != 0) RemoveAurasDueToSceneId(sceneTemplate->SceneId); sScriptMgr->OnSceneComplete(GetPlayer(), sceneInstanceID, sceneTemplate); }