Exemplo n.º 1
0
 public void LoadCheckpoint()
 {
     if (File.Exists(Application.persistentDataPath + "/checkpointdata.dat"))
     {
         BinaryFormatter bf   = new BinaryFormatter();
         FileStream      file = File.Open(Application.persistentDataPath + "/checkpointdata.dat", FileMode.Open);
         CheckpointData  data = (CheckpointData)bf.Deserialize(file);
         file.Close();
         Narrator narrator = GameObject.FindGameObjectWithTag("GameController").GetComponent <Narrator> ();
         foreach (OneWayDoor door in OneWayDoor.instances)
         {
             door.loaded = false;
         }
         if (data.checkpoint)
         {
             Transform player = GameObject.FindGameObjectWithTag("Player").transform;
             player.position = data.GetPlayerPosition();
             player.GetComponent <PlayerController> ().SetRotation(data.GetPlayerRotation());
             foreach (OneWayDoor door in OneWayDoor.instances)
             {
                 if (door.transform.position.Equals(data.GetCheckpoinPosition()))
                 {
                     door.Close();
                     door.loaded = true;
                     if (door.playOnRestart)
                     {
                         narrator.Play(door.narration);
                     }
                     break;
                 }
             }
         }
         else
         {
             if (narrator.playOnLoad != null)
             {
                 narrator.Play(narrator.playOnLoad);
             }
         }
     }
 }