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); } }
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); } }
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); } }
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); } }
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); } }
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); } }
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); } }