コード例 #1
0
        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));
                    }
                }
            });
        }
コード例 #2
0
 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);
     }
 }
コード例 #3
0
 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();
     }
 }
コード例 #4
0
        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);
            }
        }
コード例 #5
0
 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();
 }
コード例 #6
0
 public void Remove(KeeperVersion version)
 {
     _dbEditor.Table <KeeperVersion>().Delete(v => v.Id == version.Id);
 }
コード例 #7
0
 public void SaveKeeperVersion(KeeperVersion version)
 {
     _dbEditor.Insert(version);
 }