예제 #1
0
    public static void SaveStructures(GameObject[] structures)
    {
        BinaryFormatter formatter = new BinaryFormatter();
        string          path      = Application.persistentDataPath + "/structures.data";
        FileStream      stream    = new FileStream(path, FileMode.Create);

        StructureSaveData saveData = new StructureSaveData(structures);

        formatter.Serialize(stream, saveData);
        stream.Close();
    }
예제 #2
0
    public static StructureSaveData LoadStructures()
    {
        string path = Application.persistentDataPath + "/structures.data";

        if (File.Exists(path))
        {
            BinaryFormatter formatter = new BinaryFormatter();
            FileStream      stream    = new FileStream(path, FileMode.Open);

            StructureSaveData saveData = formatter.Deserialize(stream) as StructureSaveData;
            stream.Close();
            return(saveData);
        }
        else
        {
            Debug.LogError("no file at " + path);
            return(null);
        }
    }
예제 #3
0
 public void LoadBuild(StructureInformation info, StructureSaveData structureData)
 {
     if (Info != info)
     {
         return;
     }
     leftBuildTime     = structureData.leftBuildTime;
     currentStageIndex = structureData.stageIndex;
     ID = structureData.ID;
     if (leftBuildTime > 0 && currentStageIndex >= 0 && currentStageIndex < info.Stages.Count)
     {
         IsBuilt = false;
         if (Info.AutoBuild)
         {
             StartConstruct();
         }
     }
     else
     {
         BuildComplete();
     }
 }