public void LoadGame(string loadName) { if (File.Exists(Application.persistentDataPath + "/" + loadName + "/WorkerControllerSave.save")) { BinaryFormatter bf = new BinaryFormatter(); FileStream file = File.Open(Application.persistentDataPath + "/" + loadName + "/WorkerControllerSave.save", FileMode.Open); WorkerControllerSave save = (WorkerControllerSave)bf.Deserialize(file); file.Close(); //Assign variables foreach (KeyValuePair <string, Worker> worker in mWorkers) { int i = save.WorkerNames.IndexOf(worker.Key); worker.Value.mValue = save.workers[i].mValue; worker.Value.mCount = save.workers[i].mCount; worker.Value.mCapCount = save.workers[i].mCapCount; worker.Value.mPower = save.workers[i].mPower; worker.Value.mCurTime = save.workers[i].mCurTime; worker.Value.mMaxTime = save.workers[i].mMaxTime; } popCap = save.popCap; } else { Debug.Log("No Workercontroller save found"); } }
//Saved Game private WorkerControllerSave CreateSaveGameObject() { WorkerControllerSave save = new WorkerControllerSave(); //assign wariables //issue with saving working variables foreach (KeyValuePair <string, Worker> worker in mWorkers) { save.WorkerNames.Add(worker.Key); WorkerControllerData tmp = new WorkerControllerData(); tmp.mName = worker.Key; tmp.mType = worker.Value.mType; tmp.mValue = worker.Value.mValue; tmp.mCount = worker.Value.mCount; tmp.mCapCount = worker.Value.mCapCount; tmp.mPower = worker.Value.mPower; tmp.mCurTime = worker.Value.mCurTime; tmp.mMaxTime = worker.Value.mMaxTime; save.workers.Add(tmp); } save.popCap = popCap; return(save); }
public void SaveGame(string saveName) { WorkerControllerSave save = CreateSaveGameObject(); BinaryFormatter bf = new BinaryFormatter(); FileStream file = File.Create(Application.persistentDataPath + "/" + saveName + "/WorkerControllerSave.save"); bf.Serialize(file, save); file.Close(); Debug.Log("Saved Worker controller..."); }