Ejemplo n.º 1
0
    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;
    }
Ejemplo n.º 2
0
 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>();
 }