public void Rewind(int restartTime) { rewinded = true; playerRecord.endTime = godTime - 1; // set the endtime of the player's record godTime = restartTime; // resets the godTime records.Add(playerRecord); // adds the player's record to the list of records playerRecord = new PastSelfRecord(godTime); // player's record is blanked // Current activeSelves are destroyed foreach (GameObject self in activeSelves) { Destroy(self); } // new activeSelves are set (alongside the corresponding record indexes) List <GameObject> newActiveSelf = new List <GameObject>(); foreach (PastSelfRecord record in records) { if (record.isActive(godTime)) { record.index = newActiveSelf.Count; newActiveSelf.Add(Instantiate(pastSelfPrehab)); } } activeSelves = newActiveSelf; }
private void Start() { records = new List <PastSelfRecord>(); player = GameObject.Find("Character"); playerRecord = new PastSelfRecord(0); activeSelves = new List <GameObject>(); godEnvironment = GameObject.Find("gOD").GetComponent <NewGodScriptEnvironment>(); }