private void LoadKeepersAndSave() { var getKeeperUrl = string.Format(LoadUrlFormat, _backendScriptId, _backendMainKeeperId); Debug.Log("Start loading keeper from " + getKeeperUrl); var www = new WWW(getKeeperUrl); ContinuationManager.Add(() => www.isDone, () => { if (!string.IsNullOrEmpty(www.error)) { Debug.LogError(string.Format("Failed to load main keepers from URL [{0}].\nError: {1}", getKeeperUrl, www.error)); } else { try { var version = new KeeperVersion(www.text); version.Id = _editorData.GetVersionsCount() + 1; _editorData.SaveKeeperVersion(version); Debug.Log(string.Format("Keeper was loaded and saved!\nLoaded data:\n{0}", www.text)); Repaint(); } catch (Exception e) { Debug.LogError(string.Format("Keeper was loaded, but not saved.\nSaving error:\n{0}", e.Message)); } } }); }
private void GenerateSources(KeeperVersion version) { try { var json = version.KeeperJson; List <Dictionary <string, string> > keepers; List <Dictionary <string, string> > items; using (var reader = new JsonTextReader(new StringReader(json))) { GetItemsSignatures(reader, out keepers, out items); } RewriteActualDataSignatures(keepers, items); using (var reader = new JsonTextReader(new StringReader(json))) { ReadKeepersSignatureAndGenerate(reader); } using (var reader = new JsonTextReader(new StringReader(json))) { PushActualData(reader); } } catch (Exception e) { Debug.LogError("Error when creating sources: " + e.Message); } }
private void RemoveVersion(KeeperVersion version) { if (EditorUtility.DisplayDialog("Attention", string.Format("Are you sure than you want to remove version {0} created at {1} from base?", version.Id, version.LoadingDateTime), "Yes", "No")) { _editorData.Remove(version); Repaint(); } }
private void SetAsActual(KeeperVersion version) { var json = version.KeeperJson; List <Dictionary <string, string> > keepers; List <Dictionary <string, string> > items; using (var reader = new JsonTextReader(new StringReader(json))) { GetItemsSignatures(reader, out keepers, out items); } RewriteActualDataSignatures(keepers, items); using (var reader = new JsonTextReader(new StringReader(json))) { PushActualData(reader); } }
private void ShowVersion(KeeperVersion version) { EditorGUILayout.BeginHorizontal(); EditorGUILayout.BeginVertical(); EditorGUILayout.LabelField(string.Format("Id: {0}", version.Id)); EditorGUILayout.LabelField(string.Format("LoadingDateTime: {0}", version.LoadingDateTime.ToString(CultureInfo.InvariantCulture))); EditorGUILayout.LabelField(string.Format("Text length: {0}", version.KeeperJson.Length)); EditorGUILayout.EndVertical(); if (GUILayout.Button("Generate sources\n(and set as actual)", GUILayout.Height(60))) { GenerateSources(version); } if (GUILayout.Button("Set as actual", GUILayout.Height(60))) { SetAsActual(version); } if (GUILayout.Button("Remove", GUILayout.Height(60))) { RemoveVersion(version); } EditorGUILayout.EndHorizontal(); EditorGUILayout.Space(); }
public void Remove(KeeperVersion version) { _dbEditor.Table <KeeperVersion>().Delete(v => v.Id == version.Id); }
public void SaveKeeperVersion(KeeperVersion version) { _dbEditor.Insert(version); }