private static RemoteConfigDataStore InitDataStore() { RemoteConfigDataStore asset = ScriptableObject.CreateInstance <RemoteConfigDataStore>(); asset.rsKeyList = new List <RsKvtData>(); //asset.currentEnvironment = "Release"; asset.currentEnvironmentId = null; asset.environments = new List <Environment>(); asset.rulesList = new List <RuleWithSettingsMetadata>(); asset.addedRulesIDs = new List <string>(); asset.updatedRulesIDs = new List <string>(); asset.deletedRulesIDs = new List <string>(); return(asset); }
public static RemoteConfigDataStore GetDataStore() { var pathToDataStore = typeof(RemoteConfigDataManager) .GetField("k_PathToDataStore", BindingFlags.Static | BindingFlags.NonPublic) .GetValue(null) as string; var dataStoreAssetFileName = typeof(RemoteConfigDataManager) .GetField("k_DataStoreAssetFileName", BindingFlags.Static | BindingFlags.NonPublic) .GetValue(null) as string; var dataStoreName = typeof(RemoteConfigDataManager) .GetField("k_DataStoreName", BindingFlags.Static | BindingFlags.NonPublic) .GetValue(null) as string; string formattedPath = Path.Combine(pathToDataStore, string.Format(dataStoreAssetFileName, dataStoreName)); RemoteConfigDataStore asset = InitDataStore(); CheckAndCreateAssetFolder(pathToDataStore); AssetDatabase.CreateAsset(asset, formattedPath); AssetDatabase.SaveAssets(); return(AssetDatabase.LoadAssetAtPath(formattedPath, typeof(RemoteConfigDataStore)) as RemoteConfigDataStore); }