public static CustomEnvironmentInfoSaveData DeserializeFromJSONString(string stringData) { VersionCheck versionCheck = null; try { versionCheck = JsonConvert.DeserializeObject <VersionCheck>(stringData); } catch { } if (versionCheck == null) { return(null); } CustomEnvironmentInfoSaveData result = null; if (versionCheck.version == "1.0.0") { try { return(JsonConvert.DeserializeObject <CustomEnvironmentInfoSaveData>(stringData)); } catch { return(null); } } return(result); }
public virtual void Init(CustomEnvironmentInfoSaveData saveData) { _environmentName = saveData.environmentName; var colorScheme = CreateInstance <CustomColorSchemeSO>(); colorScheme.Init(saveData.colorScheme); _colorScheme = colorScheme; var sceneInfo = CreateInstance <CustomSceneInfo>(); sceneInfo.Init(saveData.sceneInfo); _sceneInfo = sceneInfo; _serializedName = saveData.serializedName; var environmentType = CreateInstance <CustomEnvironmentTypeSO>(); environmentType.Init(saveData.environmentType); _environmentType = environmentType; _environmentSizeData = new CustomEnvironmentSizeData(saveData.environmentSizeData); _environmentIntensityReductionOptions = new CustomEnvironmentIntensityReductionOptions(saveData.environmentIntensityReductionOptions); _environmentKeywords = new List <string>(saveData.environmentKeywords); }
private static void GetAllEnvironmentInfos() { if (_environmentInfos == null || forceReload) { _environmentInfos = new List <EnvironmentInfoSO>(); var files = Directory.EnumerateFiles("CustomEnvironments"); foreach (var file in files) { var environmentInfo = ScriptableObject.CreateInstance <CustomEnvironmentInfoSO>(); var saveData = CustomEnvironmentInfoSaveData.DeserializeFromJSONString(File.ReadAllText(file)); environmentInfo.Init(saveData); _environmentInfos.Add(environmentInfo); } forceReload = false; } }