private static void SaveTemporary(SavableObject data) { string stream = JsonUtility.ToJson(data); PlayerPrefs.SetString(data.ToString(), stream); Debug.Log(data.name + " \tsaved!"); }
public override object Read(ES2Reader reader) { SavableObject data = new SavableObject(); Read(reader, data); return(data); }
public static void SaveToXML(string path) { data.gameObjectList.Clear(); var allGameObjects = Object.FindObjectsOfType <GameObject>(); foreach (GameObject o in allGameObjects) { SavableObject savableObject = new SavableObject(); savableObject.name = o.name; savableObject.transform.position = o.transform.position; savableObject.transform.rotation = o.transform.rotation; savableObject.transform.localScale = o.transform.localScale; if (o.GetComponent <MeshFilter>()) { savableObject.mesh = o.GetComponent <MeshFilter>().sharedMesh; } List <string> componentNames = new List <string>(); var components = o.GetComponents(typeof(Component)); foreach (var item in components) { componentNames.Add(item.GetType().ToString()); } savableObject.components = componentNames; data.gameObjectList.Add(savableObject); } XmlSerializer serializer = new XmlSerializer(typeof(Data)); FileStream stream = new FileStream(path, FileMode.Create); serializer.Serialize(stream, data); stream.Close(); Debug.Log($"Save Successfully {allGameObjects.Length} objects"); }
public override void acceptSavableObject(SavableObject savObj) { events = new List <string>(); for (int i = 0; i < (int)savObj.data["eventCount"]; i++) { events.Add((string)savObj.data["event" + i]); } }
public override void acceptSavableObject(SavableObject savObj) { currentVoiceLineIndex = (int)savObj.data["currentVoiceLineIndex"]; float playBackTime = (float)savObj.data["playBackTime"]; setVoiceLine(currentVoiceLineIndex, playBackTime); lastPlayedCheckPointLineIndex = (int)savObj.data["lastPlayedCheckPointLineIndex"]; }
//存档控制---------------------------- private static void SaveTemporary(SavableObject data) { //此方法将数据保存到内存,但不保存到磁盘 data.UpdateData(); string stream = JsonUtility.ToJson(data); PlayerPrefs.SetString(data.ToString(), stream); Debug.Log(data.name + " \tsaved!"); }
public void Load(SavableObject o) { using ( var reader = new BinaryReader(File.Open(savePath, FileMode.Open)) ) { o.Load(new GameDataReader(reader)); } }
//VRCTS private void SetSavableObj(GameObject obj, string libName) { obj.AddComponent <SavableObject>(); SavableObject savable = obj.GetComponent <SavableObject>(); if (savable != null) { savable.lib = libName; } }
public void Save(SavableObject o) { using ( var writer = new BinaryWriter(File.Open(savePath, FileMode.Create)) ) { o.Save(new GameDataWriter(writer)); } }
public override void Write(object obj, ES2Writer writer) { SavableObject data = (SavableObject)obj; // Add your writer.Write calls here. writer.Write(data.data); writer.Write(data.isSpawnedObject); writer.Write(data.isSpawnedScript); writer.Write(data.scriptType); writer.Write(data.prefabName); }
public override void Read(ES2Reader reader, object c) { SavableObject data = (SavableObject)c; // Add your reader.Read calls here to read the data into the object. data.data = reader.ReadDictionary <System.String, System.Object>(); data.isSpawnedObject = reader.Read <System.Boolean>(); data.isSpawnedScript = reader.Read <System.Boolean>(); data.scriptType = reader.Read <System.String>(); data.prefabName = reader.Read <System.String>(); }
public static void Load(SavableObject data) { if (!PlayerPrefs.HasKey(data.ToString())) { Debug.Log("No data found for " + data.name); return; } string stream = PlayerPrefs.GetString(data.ToString()); JsonUtility.FromJsonOverwrite(stream, data); Debug.Log(data.name + " \tloaded!"); }
public override SavableObject getSavableObject() {//2017-07-28: copied from Rigidbody2DLock.getSavableObject() SavableObject so = new SavableObject(this); int counter = 0; foreach (string str in events) { so.data.Add("event" + counter, str); counter++; } so.data.Add("eventCount", counter); return(so); }
public override SavableObject getSavableObject() { SavableObject so = new SavableObject(this); int counter = 0; foreach (GameObjectId goId in lockHolders) { so.data.Add("gameObjectId" + counter, goId); counter++; } so.data.Add("gameObjectCount", counter); return(so); }
public override void acceptSavableObject(SavableObject savObj) { lockHolders = new List <GameObjectId>(); for (int i = 0; i < (int)savObj.data["gameObjectCount"]; i++) { lockHolders.Add((GameObjectId)savObj.data["gameObjectId" + i]); } if (lockHolders.Count > 0) { lockRB2D(); } else { removeLock(); } }
/// <summary> /// Instantiates an instance of a prefab based on a SavableData object loaded from a binary file. /// </summary> /// <param name="data">The SavableData containing information about the object to be instantiated.</param> /// <returns> The instantiated gameobject. </returns> GameObject SpawnMyObject(SavableData data) { // Instantiate gameobject Vector3 pos = new Vector3(data.X, data.Y, data.Z); Quaternion rot = new Quaternion(data.Rx, data.Ry, data.Rz, data.Rw); GameObject obj = Instantiate(Resources.Load(data.Lib + "/" + data.Name), pos, rot, transform) as GameObject; // Add a SavableObject component to the gameobject if it does not have one so that it can be loaded/saved later on. SavableObject savable = obj.GetComponent <SavableObject>(); if (savable == null) { savable = obj.AddComponent <SavableObject>(); } Debug.Log("Load From Lib: " + data.Lib); savable.lib = data.Lib; savable.objName = data.Name; return(obj); }
public override void acceptSavableObject(SavableObject savObj) { holdThresholdScale = (float)savObj.data["holdThresholdScale"]; tapCount = (int)savObj.data["tapCount"]; }
public override void acceptSavableObject(SavableObject savObj) { integrity = (float)savObj.data["integrity"]; alreadyBroken = (bool)savObj.data["alreadyBroken"]; setIntegrity(integrity); }
/// <summary> /// 手动保存一个对象 /// </summary> public static void Save(SavableObject data) { SaveTemporary(data); PlayerPrefs.Save(); Debug.Log("Data saved to disc."); }
/// <summary> /// "Load": replaces its current state with the state in the given SavableObject /// </summary> /// <param name="savObj"></param> public abstract void acceptSavableObject(SavableObject savObj);
public override void acceptSavableObject(SavableObject savObj) { chargesLeft = (int)savObj.data["chargesLeft"]; setChargesLeft(chargesLeft); chargeTime = (float)savObj.data["chargeTime"]; }
public override void acceptSavableObject(SavableObject savObj) { currentEnergyLevel = (float)savObj.data["currentEnergyLevel"]; }
public override void acceptSavableObject(SavableObject savObj) { prefabName = (string)savObj.data["prefabName"]; spawnTag = (string)savObj.data["spawnTag"]; }
public override void acceptSavableObject(SavableObject savObj) { cracked = (bool)savObj.data["cracked"]; setCracked(cracked); }
public override void acceptSavableObject(SavableObject savObj) { }
public override void acceptSavableObject(SavableObject savObj) { stats["deathCount"] = Mathf.Max(stats["deathCount"], (int)savObj.data["deathCount"]); }
public GameObject get(PoolableTypes objectType, Transform locationData = null, Guid parentGuid = new Guid()) { List <GameObject> instanciatedGameObjectsList; if (disabledGameObjects.TryGetValue(objectType, out instanciatedGameObjectsList)) { int lastIndex = instanciatedGameObjectsList.Count - 1; GameObject go = instanciatedGameObjectsList[lastIndex]; instanciatedGameObjectsList.RemoveAt(lastIndex); activeGameObjects.Add(go); IPoolableObject ipo = go.GetComponent <IPoolableObject>(); if (ipo == null) { ipo = go.GetComponentInChildren <IPoolableObject>(); } if (locationData != null) { go.transform.position = locationData.position; go.transform.rotation = locationData.rotation; go.transform.forward = locationData.forward; } ipo.OnPoolCreation(); if (parentGuid != Guid.Empty) { Guid objectId = Guid.Empty; Guid getId; Bot botScript = go.GetComponent <Bot>(); if (botScript != null) { objectId = botScript.Id; } else { SavableObject savableObjectScript = go.GetComponent <SavableObject>(); if (savableObjectScript != null) { objectId = savableObjectScript.Id; } } if (objectId != Guid.Empty && !GameObjectStateManager.Instance.ParentIds.TryGetValue(objectId, out getId)) { GameObjectStateManager.Instance.ParentIds.Add(objectId, parentGuid); } } go.SetActive(true); if (objectType == PoolableTypes.Enemy) { enemyList.Add(go); } else if (objectType == PoolableTypes.PlayerBot) { playerBotList.Add(go); } return(go); } return(null); }
public override void acceptSavableObject(SavableObject savObj) { range = (float)savObj.data["range"]; energy = (float)savObj.data["energy"]; init(range, energy); }