示例#1
0
 public MovingMap(
     TerrainDB terrainDB,
     IF16CPDClient client,
     ITheaterMapRetriever theaterMapRetriever       = null,
     IMapRingRenderer mapRingRenderer               = null,
     ICenterAirplaneRenderer centerAirplaneRenderer = null
     )
 {
     _mapRingRenderer        = mapRingRenderer ?? new MapRingRenderer();
     _centerAirplaneRenderer = centerAirplaneRenderer ?? new CenterAirplaneRenderer();
     _theaterMapRetriever    = theaterMapRetriever ?? new TheaterMapRetriever(terrainDB, client);
 }
示例#2
0
 private void EnsureTerrainIsLoaded()
 {
     if (_terrainDB == null)
     {
         _terrainDB = _terrainDBFactory.Create(false);
         if (_terrainDB != null)
         {
             _theaterMapRetriever = new TheaterMapRetriever(_terrainDB, Manager.Client);
             PublishTheaterMapForClients();
         }
     }
 }
 private void EnsureTerrainIsLoaded()
 {
     if (_terrainDB == null)
     {
         var curFlightData = ReadF4SharedMem();
         if (curFlightData == null)
         {
             return;
         }
         string bmsBaseDir = curFlightData.StringData.data.Where(x => (x.strId == (uint)StringIdentifier.BmsBasedir)).First().value;
         if (string.IsNullOrEmpty(bmsBaseDir))
         {
             return;
         }
         _terrainDB = _terrainDBFactory.Create(bmsBaseDir, false);
         if (_terrainDB != null)
         {
             _theaterMapRetriever = new TheaterMapRetriever(_terrainDB, Manager.Client);
             PublishTheaterMapForClients();
         }
     }
 }