//**************************************************************************************************** // //**************************************************************************************************** public void SelectNavigationMode(NAVIGATION_MODE mode) { if (m_navModes.ActiveMode != ( int )mode) { TeleportTo(m_coords.cur.latitude.deg, m_coords.cur.longitude.deg, (mode == NAVIGATION_MODE.MAP) ? MAP_SWITCH_DIST_ENTER : MAP_SWITCH_DIST_EXIT); ShowNavModeAssets(mode); m_navModes.Select(( int )mode); } }
//**************************************************************************************************** // //**************************************************************************************************** public void ShowNavModeAssets(NAVIGATION_MODE mode) { if (m_globe != null) { m_globe.SetActive(mode == NAVIGATION_MODE.GLOBE); } if (m_worldMap != null) { m_worldMap.SetActive(mode == NAVIGATION_MODE.MAP); } m_UI.ShowNavModeAssets(mode); }
//**************************************************************************************************** // //**************************************************************************************************** public void UpdateNavigationMode() { bool showMap = ((m_coords.cur.altitude <= MAP_SWITCH_DIST_ENTER) || ((m_navModes.ActiveMode == ( int )NAVIGATION_MODE.MAP) && (m_coords.cur.altitude < MAP_SWITCH_DIST_EXIT))); NAVIGATION_MODE navMode = ( NAVIGATION_MODE )m_navModes.ActiveMode; if (showMap) { navMode = NAVIGATION_MODE.MAP; } else { navMode = NAVIGATION_MODE.GLOBE; } if (m_navModes.ActiveMode != ( int )navMode) { ScrFade.Begin(FADE_TYPE.FADE_OUT, 0.5f); } else { ScrFade.Begin(FADE_TYPE.FADE_IN, 0.7f); } if (ScrFade.finishedFadeOut) { SelectNavigationMode(navMode); } else if (ScrFade.finishedFadeIn) { if (m_navModes != null) { m_navModes.Update(); } } }