Example #1
0
 protected override void OnClosing(CancelEventArgs e)
 {
     base.OnClosing(e);
     CatalogViewerUc.StoreLayouts();
     Saveable.SaveAll();
     Application.Current.Shutdown();
 }
Example #2
0
        public void saveObject(Saveable save, Stream stream, SaverOutputType format)
        {
            stream = new NoCloseStream(stream);
            switch (format)
            {
            case SaverOutputType.Json:
                using (var writer = new JsonTextWriter(new StreamWriter(stream)))
                {
                    if (WritePretty)
                    {
                        writer.Formatting = Newtonsoft.Json.Formatting.Indented;
                    }
                    jsonSaver.Value.saveObject(save, writer);
                }
                break;

            case SaverOutputType.Bson:
                using (var writer = new BsonDataWriter(stream))
                {
                    jsonSaver.Value.saveObject(save, writer);
                }
                break;

            case SaverOutputType.Xml:
                using (var writer = new XmlTextWriter(stream, Encoding.Unicode))
                {
                    if (WritePretty)
                    {
                        writer.Formatting = System.Xml.Formatting.Indented;
                    }
                    xmlSaver.Value.saveObject(save, writer);
                }
                break;
            }
        }
Example #3
0
    public void LoadCurrentForm(GameObject g)
    {
        if (g.GetComponent <Form>() != null)
        {
            Form f = g.GetComponent <Form>();
            Saveable.Load(f);
            Debug.Log("Saving Form : " + f.GetType() + " || On Game Object || " + g.name);
        }
        else
        {
            Debug.Log("No  Forms On Object");
        }

        if (recursiveLoad)
        {
            Cycle[] cycles = g.GetComponents <Cycle>();
            for (int i = 0; i < cycles.Length; i++)
            {
                for (int j = 0; j < cycles[i].Cycles.Count; j++)
                {
                    if (cycles[i].Cycles[j].gameObject != g)
                    {
                        LoadCurrentForm(cycles[i].Cycles[j].gameObject);
                    }
                }
            }
        }
    }
        private SavedInstance CreateSavedInstance(string assetId, AssetSource source)
        {
            var prefab = _assetResolver.Resolve(assetId, source);
            // We will temporarily set the resource to disabled. Because we don't want to enable any
            // of the components yet.
            bool prefabActiveState = prefab.gameObject.activeSelf;

            prefab.SetActive(false);

            GameObject instance = Object.Instantiate(prefab);

            SceneManager.MoveGameObjectToScene(instance, _scene);

            // After instantiating we reset the resource back to it's original state.
            prefab.SetActive(prefabActiveState);

            Saveable saveable = instance.GetComponent <Saveable>();

            if (saveable == null)
            {
                Debug.LogWarning("Save Instance Manager: No saveable added to spawned object." +
                                 $" Scanning for ({nameof(ISaveableComponent)})s during runtime is more costly.");

                saveable = instance.AddComponent <Saveable>();
                saveable.ScanAddSaveableComponents();
            }

            var guidProvider = instance.GetComponent <GuidComponent>() ?? instance.AddComponent <GuidComponent>();

            SavedInstance savedInstance = instance.AddComponent <SavedInstance>();

            savedInstance.Configure(saveable, this);

            return(savedInstance);
        }
Example #5
0
    public void AddListener(Saveable instance, SaveablePrefab scriptablePrefab, string identification)
    {
        SaveablePrefabData prefabData;

        // Is there no data yet for this scriptable prefab? Create it.
        if (!saveReferences.TryGetValue(scriptablePrefab, out prefabData))
        {
            prefabData = new SaveablePrefabData();

            prefabData.prefabGUID  = scriptablePrefab.GetGuid();
            prefabData.trimmedguid = $"{this.gameObject.scene.name}{prefabData.prefabGUID.Substring(0, 4)}";

            saveReferences.Add(scriptablePrefab, prefabData);
        }

        // Add identification keys for each saveable object.
        if (!prefabData.saveableGUIDS.ContainsKey(instance))
        {
            string saveableGUID = (string.IsNullOrEmpty(identification) ? $"I{prefabData.trimmedguid}{prefabData.saveableGUIDS.Count}" : identification);

            instance.saveIdentification.UseConstant   = true;
            instance.saveIdentification.ConstantValue = saveableGUID;

            isSaveable = true;

            prefabData.saveableGUIDS.Add(instance, saveableGUID);
        }
    }
Example #6
0
    public void Save()
    {
        float saveDataString = activeAvatar;

        //First save out all brushes
        //Second save out the actual avatar data with pointers towards this brush data
        List <string> brushesToSave = new List <string>();


        for (int i = 0; i < brushHolder.brushes.Length; i++)
        {
            string fileName = brushHolder.brushes[i].name + "_" + saveDataString;

            print(fileName);

            brushesToSave.Add(brushHolder.brushes[i].name + "_" + saveDataString);
            Saveable.Save(brushHolder.brushes[i].particles, "DNA/" + fileName);
        }

        AvatarData a = new AvatarData(activeAvatar, themes.activeTheme, animations.activeAnimation);

        string avatarFileName = "/AVAS/AVA_" + activeAvatar + ".ava";

        SaveOut(a, avatarFileName);
    }
Example #7
0
 static void SaveNewForm(Form form)
 {
     form.saveName = GetSafeName();
     form.Embody();
     form.loadedFromFile = false;
     Saveable.Save(form);
 }
Example #8
0
    public void FullRebuild()
    {
        foreach (Form f  in forms)
        {
            if (Saveable.Check(f.saveName))
            {
                Saveable.Delete(f.saveName);
            }
            new WaitForSeconds(3);

            f.alwaysRemake = true;
        }

        Saveable.DeleteAll();
        Reset();
        OnDisable();
        OnEnable();


        Saveable.ClearNames();

        foreach (Form f in forms)
        {
            f.saveName = Saveable.GetSafeName();
            Saveable.Save(f);
            f.alwaysRemake = false;
        }

        DebugThis("" + Saveable.CheckIfAllNamesSafe());
    }
Example #9
0
    private void Initialize()
    {
        isInitialized = true;

        if (characterRendererPrefab != null)
        {
            GameObject characterRenderer = GameObject.Instantiate(characterRendererPrefab);
            characterRenderer.transform.position = new Vector3((Camera.allCamerasCount) * 5, 0, 0);

            if (rawImage != null)
            {
                rawImage.texture = characterRenderer.GetComponent <UICharacterRenderer>().GetTexture();
                rawImage.SetNativeSize();
                rawImage.rectTransform.sizeDelta = rawImage.rectTransform.sizeDelta * 2;
            }

            Saveable getSaveable = characterRenderer.GetComponentInChildren <Saveable>();

            if (getSaveable != null)
            {
                saveable.Add(getSaveable);
            }
        }

        buttonRequestRemove.onClick.AddListener(RequestRemoveSlot);
    }
Example #10
0
    public void RemoveListener(Saveable instance, SaveablePrefab scriptablePrefab)
    {
#if UNITY_EDITOR
        if (!Application.isPlaying)
        {
            return;
        }
#endif
        // We only remove the saved state of a prefab when it is destroyed by code.
        // Not while the scene is being destroyed or when the game is quitting.
        if (destroyingScene || quittingGame)
        {
            return;
        }

        SaveablePrefabData data;

        if (saveReferences.TryGetValue(scriptablePrefab, out data))
        {
            instance.RemoveFromSaveData();

            if (data.saveableGUIDS.Remove(instance))
            {
                isSaveable = true;
            }
            else
            {
                Debug.Log("Tried to remove listener that was never added.");
            }
        }
    }
Example #11
0
 private void saveObject(Saveable saveable, EditorResourceProvider resourceProvider, String filename)
 {
     using (XmlTextWriter writer = new XmlTextWriter(resourceProvider.openWriteStream(filename), Encoding.Unicode))
     {
         writer.Formatting = Formatting.Indented;
         EditorController.XmlSaver.saveObject(saveable, writer);
     }
 }
        public void addItem(String name, Saveable data)
        {
            ScratchAreaItem item = new ScratchAreaItem(name, this);

            item.serialize(data);
            items.Add(item);
            onItemAdded(item);
        }
Example #13
0
 public Object copyObject(Saveable source)
 {
     lastLoadedObject = null;
     saveControl.saveObject(source);
     loadControl.reset();
     saveControl.reset();
     return(lastLoadedObject);
 }
Example #14
0
 public static void Save(Saveable save, Stream stream)
 {
     using (XmlTextWriter textWriter = new XmlTextWriter(stream, Encoding.Unicode))
     {
         textWriter.Formatting = Formatting.Indented;
         xmlSaver.saveObject(save, textWriter);
     }
 }
    public static void SaveDatas(Saveable save, string filePath)
    {
        BinaryFormatter formatter = new BinaryFormatter();
        FileStream      stream    = new FileStream(filePath, FileMode.Create);

        formatter.Serialize(stream, save);
        stream.Close();
        Debug.Log("Saved");
    }
Example #16
0
	//Update Save
	private void UpdateSave(Saveable s){
		//First increment the current update value
		IncrementCurrUpdateNumber(s);
		//Then save at that current value
		string filename  =DIRECTORY +s.filename+GetCurrUpdateNumber(s)+FILE_TYPE;
		BinaryWriter wr = new BinaryWriter(File.Open(filename, FileMode.Create));
		s.WriteUpdateSave(wr);
		wr.Close();//Close out the writeable
	}
 public SaveableObjectStream(Saveable saveable)
 {
     stream               = new MemoryStream();
     xmlWriter            = new XmlTextWriter(stream, Encoding.Unicode);
     xmlWriter.Formatting = Formatting.Indented;
     EditorController.XmlSaver.saveObject(saveable, xmlWriter);
     xmlWriter.Flush();
     stream.Position = 0;
 }
Example #18
0
 public void AddValue(string name, Saveable value)
 {
     if (value != null)
     {
         validate(name, value);
         long objectID = writer.saveObject(value);
         entries.Add(name, new SaveEntry(name, value, value.GetType(), objectID));
     }
 }
Example #19
0
 /// <summary>
 /// Save current database
 /// </summary>
 /// <param name="path">Path to the database</param>
 public void Save(string path)
 {
     System.IO.File.Delete(path);
     using (var db = new LiteDatabase(path)) {
         var collection = db.GetCollection <Saveable>("classifier");
         var s          = new Saveable(this);
         collection.Insert(s);
     }
 }
Example #20
0
 public void saveObject(Saveable save, XmlWriter xmlWriter)
 {
     this.xmlWriter = xmlWriter;
     xmlWriter.WriteStartElement(DOCUMENT);
     saveControl.saveObject(save);
     xmlWriter.WriteEndElement();
     saveControl.reset();
     xmlWriter.Flush();
 }
Example #21
0
        /// <summary>
        /// Add saveable from the notification list. So it can recieve load/save requests.
        /// </summary>
        /// <param name="saveable"> Reference to the saveable that listens to the Save Master </param>
        public static void AddListener(Saveable saveable)
        {
            if (saveable != null && activeSaveGame != null)
            {
                saveable.OnLoadRequest(activeSaveGame);
            }

            saveables.Add(saveable);
        }
 // Use this for initialization
 void Start()
 {
     saveable    = GetComponent <Saveable>();
     enemyHealth = GetComponent <ActorHealth>();
     if (enemyHealth == null)
     {
         enemyHealth = GetComponentInChildren <ActorHealth>();
     }
 }
Example #23
0
 /// <summary>
 /// Remove saveable from the notification list. So it no longers recieves load/save requests.
 /// </summary>
 /// <param name="saveable"> Reference to the saveable that listens to the Save Master </param>
 public static void RemoveListener(Saveable saveable)
 {
     if (saveables.Remove(saveable))
     {
         if (saveable != null && activeSaveGame != null)
         {
             saveable.OnSaveRequest(activeSaveGame);
         }
     }
 }
Example #24
0
        /// <summary>
        /// Wipe all data of a specified saveable
        /// </summary>
        /// <param name="saveable"></param>
        public static void WipeSaveable(Saveable saveable)
        {
            if (activeSaveGame == null)
            {
                Debug.LogError("Failed to wipe scene data: No save game loaded.");
                return;
            }

            saveable.WipeData(activeSaveGame);
        }
Example #25
0
        public Saveable GetTYPE(string name, Saveable defaultValue)
        {
            SaveEntry retVal;

            if (entries.TryGetValue(name, out retVal))
            {
                return((Saveable)retVal.Value);
            }
            return(defaultValue);
        }
Example #26
0
        public void DestroyObject(Saveable saveable)
        {
            if (spawnInfo.ContainsKey(saveable.gameObject))
            {
                spawnInfo.Remove(saveable.gameObject);
                loadedIDs.Remove(saveable.saveIdentification);

                isDirty = true;
            }
        }
    public static Saveable LoadDatas(string filePath)
    {
        BinaryFormatter formatter = new BinaryFormatter();
        FileStream      stream    = new FileStream(filePath, FileMode.Open);
        Saveable        data      = (Saveable)formatter.Deserialize(stream);

        stream.Close();
        Debug.Log("Loaded");
        return(data);
    }
Example #28
0
    private float GetId(GameObject go)
    {
        Saveable saveable = go.GetComponent <Saveable>();

        if (saveable != null)
        {
            return(saveable.Id);
        }
        return(-1f);
    }
Example #29
0
        public void DestroyObject(SavedInstance savedInstance, Saveable saveable)
        {
            if (spawnInfo.ContainsKey(savedInstance))
            {
                spawnInfo.Remove(savedInstance);
                loadedIDs.Remove(saveable.SaveIdentification);

                changesMade++;
            }
        }
Example #30
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="saveable"> Reference to the saveable that listens to the Save Master </param>
 /// <param name="saveData"> Should it try to save the saveable data to the save file when being removed? </param>
 public static void RemoveListener(Saveable saveable, bool saveData)
 {
     if (saveData)
     {
         RemoveListener(saveable);
     }
     else
     {
         saveables.Remove(saveable);
     }
 }
Example #31
0
 public void removeObj(Saveable obj)
 {
     savedObjs.Remove(obj);
 }
Example #32
0
        /*private void pictureBox1_MouseHover(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Left)
            {
                clickZoom(sender, e);
            }
        }*/

        private void saveButton_Click(object sender, EventArgs e)
        {
            SaveFileDialog sfd = new SaveFileDialog();
            sfd.InitialDirectory = curDir;
            sfd.Filter = "XML Files | *.xml";
            sfd.DefaultExt = "xml";
            if (sfd.ShowDialog() == DialogResult.Cancel)
            {
                return;
            }
            Saveable sa = new Saveable();
            sa.imageList = imageList;
            sa.indexList = indexList;
            XmlSerializer serializer = new XmlSerializer(typeof(Saveable));
            using (TextWriter writer = new StreamWriter(@sfd.FileName))
            {
                serializer.Serialize(writer, sa);
            }

        }
Example #33
0
 public void addObj(Saveable obj)
 {
     savedObjs.Add(obj);
 }