Example #1
0
        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);
        }
Example #2
0
        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);
        }