Exemplo n.º 1
0
        public static async Task <HomeIndexViewModel> GetHomeIndexViewModel(TravellerMapService mapService, CharacterBuilder characterBuilder, EquipmentBuilder equipmentBuilder)
        {
            var result = new HomeIndexViewModel()
            {
                Careers         = characterBuilder.Careers,
                m_AnimalClasses = Animals.AE.AnimalBuilderAE.AnimalClassList.Select(ac => ac.Name).ToList(),
                m_AnimalTypes   = Animals.Mgt.AnimalBuilderMgt.AnimalTypeList.Select(at => at.Name).ToList(),
                m_Terrains      = Animals.AE.AnimalBuilderAE.TerrainTypeList.Select(t => t.Name).ToList(),
            };

            mapService.UniverseUpdated += async(s, e) => result.m_Sectors = await mapService.FetchUniverseAsync();

            try
            {
                result.m_Sectors = await mapService.FetchUniverseAsync();                 //do this after hooking up the event to avoid race condition.
            }
            catch
            {
                result.m_Sectors = new List <Sector>();                //off-line mode
            }

            return(result);
        }