public void Merge(ResourceParamsDB other) { for (int i = 0; i < other.Count; ++i) { var key = other.GetResourceKey(i); var val = other.GetResourceParams(i); AddOrMerge(key, val); } }
public static bool Fetch(string dbKey, ResourceParamsDB db) { bool ret = false; string keysJson; if (ResourceEditGetPoster.HttpGet(dbKey, out keysJson)) { try { ret = true; var keys = JsonUtility.FromJson <ResourceKeys>(keysJson); int ct = 0; int totalCt = keys.Keys.Count; foreach (var key in keys.Keys) { string paramsJson; if (ResourceEditGetPoster.HttpGet(key, out paramsJson)) { try { var ps = JsonUtility.FromJson <ResourceParams>(paramsJson); db.AddOrMerge(key, ps); } catch (Exception ex) { Debug.LogErrorFormat("{0}\n{1}", ex.Message, ex.StackTrace); ret = false; } } ++ct; if (EditorUtility.DisplayCancelableProgressBar("Fetch", string.Format("{0}/{1}", ct, totalCt), ct * 1.0f / totalCt)) { break; } } if (ret) { Debug.Log("Fetch ok."); } } catch (Exception ex) { Debug.LogErrorFormat("{0}\n{1}", ex.Message, ex.StackTrace); } finally { EditorUtility.ClearProgressBar(); } } return(ret); }
public static bool Commit(string dbKey, ResourceParamsDB db) { bool ret = false; ResourceKeys keys = new ResourceKeys { Keys = db.ResourceKeys }; var keysJson = JsonUtility.ToJson(keys, true); string r; if (ResourceEditGetPoster.HttpPost(dbKey, keysJson, out r)) { try { ret = true; int ct = 0; int totalCt = keys.Keys.Count; foreach (var key in keys.Keys) { ResourceParams ps; if (db.TryGetResourceParams(key, out ps)) { var paramsJson = JsonUtility.ToJson(ps, true); if (!ResourceEditGetPoster.HttpPost(key, paramsJson, out r)) { ret = false; } } ++ct; if (EditorUtility.DisplayCancelableProgressBar("Commit", string.Format("{0}/{1}", ct, totalCt), ct * 1.0f / totalCt)) { break; } } if (ret) { Debug.Log("Commit ok."); } } finally { EditorUtility.ClearProgressBar(); } } return(ret); }