public void HandleBeginConversation(IngameController main) { m_popupActive = false; m_currentIndoorScene = LegacyLogic.Instance.ConversationManager.IndoorScene; if (String.IsNullOrEmpty(m_currentIndoorScene)) { main.Minimap.gameObject.SetActive(false); main.HUDControl.gameObject.SetActive(false); main.DangerSense.gameObject.SetActive(false); m_finishIndoorSceneLoad = true; m_finishFade = true; m_conversation.FinishFade = true; m_conversation.gameObject.SetActive(true); m_conversation.Init(); m_container.Init(); } else { m_finishIndoorSceneLoad = false; m_finishFade = false; m_conversation.FinishFade = false; m_conversation.gameObject.SetActive(false); OverlayManager overlay = IngameController.Instance.Overlay; EventHandler callback = delegate(Object sender, EventArgs e) { main.Minimap.gameObject.SetActive(false); main.HUDControl.gameObject.SetActive(false); main.DangerSense.gameObject.SetActive(false); m_finishFade = true; m_conversation.FinishFade = true; m_conversation.gameObject.SetActive(true); m_conversation.Init(); m_container.Init(); IndoorSceneLoader.Instance.RequestIndoorScene(m_currentIndoorScene); CheckOverlayTransition(); }; overlay.FadeFrontTo(1f, 1f, callback); } main.ChangeIngameContext(this); m_InConversation = true; }