public static InfoDictionary <TravelStationDefinition> Load(
            InfoDictionary <DownloadableContentDefinition> downloadableContents)
        {
            try
            {
                var raws = LoaderHelper
                           .DeserializeJson <Dictionary <string, Raw.TravelStationDefinition> >("Travel Stations");
                var defs = new InfoDictionary <TravelStationDefinition>(
                    raws.ToDictionary(kv => kv.Key,
                                      kv => GetTravelStationDefinition(downloadableContents, kv)));
                foreach (var kv in raws.Where(kv => string.IsNullOrEmpty(kv.Value.PreviousStation) == false))
                {
                    if (defs.ContainsKey(kv.Value.PreviousStation) == false)
                    {
                        throw new KeyNotFoundException("could not find travel station '" + kv.Value.PreviousStation +
                                                       "'");
                    }

                    defs[kv.Key].PreviousStation = defs[kv.Value.PreviousStation];
                }
                return(defs);
            }
            catch (Exception e)
            {
                throw new InfoLoadException("failed to load travel stations", e);
            }
        }
Ejemplo n.º 2
0
        public static InfoDictionary <ItemBalanceDefinition> Load(InfoDictionary <ItemTypeDefinition> itemTypes)
        {
            try
            {
                var raws = LoaderHelper.DeserializeJson <Dictionary <string, Raw.ItemBalanceDefinition> >("Item Balance");
                var defs =
                    new InfoDictionary <ItemBalanceDefinition>(raws.ToDictionary(kv => kv.Key,
                                                                                 kv =>
                                                                                 GetItemBalanceDefinition(itemTypes, kv)));
                foreach (var kv in raws.Where(kv => string.IsNullOrEmpty(kv.Value.Base) == false))
                {
                    if (defs.ContainsKey(kv.Value.Base) == false)
                    {
                        throw new KeyNotFoundException("could not find item balance '" + kv.Value.Base + "'");
                    }

                    defs[kv.Key].Base = defs[kv.Value.Base];
                }
                return(defs);
            }
            catch (Exception e)
            {
                throw new InfoLoadException("failed to load item balance", e);
            }
        }
 public static AssetLibraryManager Load()
 {
     try
     {
         var raw = LoaderHelper.DeserializeJson <Raw.AssetLibraryManager>("Asset Library Manager");
         return(GetAssetLibraryManager(raw));
     }
     catch (Exception e)
     {
         throw new InfoLoadException("failed to load asset library manager", e);
     }
 }
Ejemplo n.º 4
0
 public static InfoDictionary <WeaponTypeDefinition> Load()
 {
     try
     {
         var raws = LoaderHelper.DeserializeJson <Dictionary <string, Raw.WeaponTypeDefinition> >("Weapon Types");
         return(new InfoDictionary <WeaponTypeDefinition>(raws.ToDictionary(kv => kv.Key, GetWeaponTypeDefinition)));
     }
     catch (Exception e)
     {
         throw new InfoLoadException("failed to load weapon types", e);
     }
 }
 public static InfoDictionary <DownloadablePackageDefinition> Load()
 {
     try
     {
         var raws = LoaderHelper
                    .DeserializeJson <Dictionary <string, Raw.DownloadablePackage> >("Downloadable Packages");
         return(new InfoDictionary <DownloadablePackageDefinition>(
                    raws.ToDictionary(kv => kv.Key,
                                      GetDownloadablePackage)));
     }
     catch (Exception e)
     {
         throw new InfoLoadException("failed to load downloadable packages", e);
     }
 }
Ejemplo n.º 6
0
 public static InfoDictionary <Platform, PlatformConfiguration> Load()
 {
     try
     {
         var raws = LoaderHelper
                    .DeserializeJson <Dictionary <Platform, Raw.PlatformConfiguration> >("Platform Configurations");
         return(new InfoDictionary <Platform, PlatformConfiguration>(
                    raws.ToDictionary(kv => kv.Key,
                                      GetPlatformConfiguration)));
     }
     catch (Exception e)
     {
         throw new InfoLoadException("failed to load platform configurations", e);
     }
 }
Ejemplo n.º 7
0
 public static InfoDictionary <ItemNamePartDefinition> Load()
 {
     try
     {
         var raws = LoaderHelper
                    .DeserializeJson <Dictionary <string, Raw.ItemNamePartDefinition> >("Item Name Parts");
         return(new InfoDictionary <ItemNamePartDefinition>(
                    raws.ToDictionary(kv => kv.Key,
                                      GetItemNamePartDefinition)));
     }
     catch (Exception e)
     {
         throw new InfoLoadException("failed to load item name parts", e);
     }
 }
Ejemplo n.º 8
0
 public static InfoDictionary <PlayerClassDefinition> Load(
     InfoDictionary <DownloadableContentDefinition> downloadableContents)
 {
     try
     {
         var raws = LoaderHelper
                    .DeserializeJson <Dictionary <string, Raw.PlayerClassDefinition> >("Player Classes");
         return(new InfoDictionary <PlayerClassDefinition>(
                    raws.ToDictionary(kv => kv.Key,
                                      kv => GetPlayerClassDefinition(downloadableContents, kv))));
     }
     catch (Exception e)
     {
         throw new InfoLoadException("failed to load player classes", e);
     }
 }
Ejemplo n.º 9
0
 public static InfoDictionary <FastTravelStationOrdering> Load(
     InfoDictionary <TravelStationDefinition> travelStations,
     InfoDictionary <DownloadableContentDefinition> downloadableContents)
 {
     try
     {
         var raws = LoaderHelper
                    .DeserializeJson <Dictionary <string, Raw.FastTravelStationOrdering> >("Fast Travel Station Ordering");
         return(new InfoDictionary <FastTravelStationOrdering>(
                    raws.ToDictionary(kv => kv.Key,
                                      kv => GetFastTravelStationOrdering(travelStations, downloadableContents, kv))));
     }
     catch (Exception e)
     {
         throw new InfoLoadException("failed to load fast travel station ordering", e);
     }
 }
 public static InfoDictionary <TravelStationDefinition> Load(
     InfoDictionary <DownloadableContentDefinition> downloadableContents)
 {
     try
     {
         var raws = LoaderHelper
                    .DeserializeJson <Dictionary <string, Raw.TravelStationDefinition> >("Travel Stations");
         var defs = new InfoDictionary <TravelStationDefinition>(
             raws.ToDictionary(kv => kv.Key,
                               kv => GetTravelStationDefinition(downloadableContents, kv)));
         foreach (var kv in raws.Where(kv => string.IsNullOrEmpty(kv.Value.PreviousStation) == false))
         {
             if (defs.ContainsKey(kv.Value.PreviousStation) == false)
             {
                 throw ResourceNotFoundException.Create("travel station", kv.Value.PreviousStation);
             }
             defs[kv.Key].PreviousStation = defs[kv.Value.PreviousStation];
         }
         foreach (var kv in raws
                  .Where(
                      kv =>
                      (kv.Value is Raw.LevelTravelStationDefinition) &&
                      string.IsNullOrEmpty(((Raw.LevelTravelStationDefinition)kv.Value).DestinationStation) == false))
         {
             var rawLevelTravelStation = (Raw.LevelTravelStationDefinition)kv.Value;
             if (defs.ContainsKey(rawLevelTravelStation.DestinationStation) == false)
             {
                 throw ResourceNotFoundException.Create("level travel station",
                                                        rawLevelTravelStation.DestinationStation);
             }
             var levelTravelStation = (LevelTravelStationDefinition)defs[kv.Key];
             levelTravelStation.DestinationStation =
                 (LevelTravelStationDefinition)defs[rawLevelTravelStation.DestinationStation];
         }
         return(defs);
     }
     catch (Exception e)
     {
         throw new InfoLoadException("failed to load travel stations", e);
     }
 }
 public static InfoDictionary <WeaponBalanceDefinition> Load(InfoDictionary <WeaponTypeDefinition> weaponTypes)
 {
     try
     {
         var raws = LoaderHelper
                    .DeserializeJson <Dictionary <string, Raw.WeaponBalanceDefinition> >("Weapon Balance");
         var defs = new InfoDictionary <WeaponBalanceDefinition>(
             raws.ToDictionary(kv => kv.Key,
                               kv => GetWeaponBalanceDefinition(weaponTypes, kv)));
         foreach (var kv in raws.Where(kv => string.IsNullOrEmpty(kv.Value.Base) == false))
         {
             if (defs.ContainsKey(kv.Value.Base) == false)
             {
                 throw ResourceNotFoundException.Create("weapon balance", kv.Value.Base);
             }
             defs[kv.Key].Base = defs[kv.Value.Base];
         }
         return(defs);
     }
     catch (Exception e)
     {
         throw new InfoLoadException("failed to load weapon balance", e);
     }
 }