Пример #1
0
    public static void SaveShips(List <ShipData> shipsInProgress, List <ShipData> finishedShips)
    {
        BinaryFormatter formatter = new BinaryFormatter();
        string          path      = Application.persistentDataPath + "/ships.data";
        FileStream      stream    = new FileStream(path, FileMode.Create);

        ShipsBuildingData saveData = new ShipsBuildingData(shipsInProgress, finishedShips);

        formatter.Serialize(stream, saveData);
        stream.Close();
    }
Пример #2
0
    public void LoadSceneObjects()
    {
        //getting resources
        GameManager.instance.setResources(PlayerPrefs.GetInt("Resource0"),
                                          PlayerPrefs.GetInt("Resource1"),
                                          PlayerPrefs.GetInt("Resource2"));

        DeleteAll("StructureTile");
        StructureData[] data = SaveSystem.LoadStructures().data;

        foreach (StructureData structure in data)
        {
            //print ("name " + structure.name);
            Vector2 structurePosition = new Vector2(structure.position[0], structure.position[1]);
            // GameObject go = GameObject.Find("SceneManager");
            ObjectPairList other        = this.GetComponent(typeof(ObjectPairList)) as ObjectPairList;
            string         nameToReturn = structure.name;
            GameObject     loadedObject;
            //Debug.Log (nameToReturn);
            if (nameToReturn.EndsWith("(Clone)"))
            {
                //Debug.Log(nameToReturn.Split('(')[0].Trim());
                loadedObject = other.returnGameObject(nameToReturn.Split('(') [0].Trim());
            }
            else
            {
                loadedObject = other.returnGameObject(nameToReturn);
            }
            //Modified
            if (structure.duration > 0)
            {
                loadedObject = other.returnGameObject("ConstructionSite");
            }
            GameObject    instantiatedObject = Instantiate(loadedObject, structurePosition, Quaternion.identity);
            StructureInfo script             = instantiatedObject.GetComponent <StructureInfo> ();
            script.X        = (int)structurePosition.x;
            script.Y        = (int)structurePosition.y;
            script.Name     = structure.name;
            script.Level    = structure.level;
            script.Duration = structure.duration;
        }
        GameManager.instance.Invoke("updateStructureState", 0.1f);


        //ship part
        ShipsBuildingData allShips = SaveSystem.LoadShips();

        GameManager.instance.setShipsInProgress(allShips.shipsInProgress);
        GameManager.instance.setFinishedShips(allShips.finishedShips);
    }
Пример #3
0
    public static ShipsBuildingData LoadShips()
    {
        string path = Application.persistentDataPath + "/ships.data";

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

            ShipsBuildingData saveData = formatter.Deserialize(stream) as ShipsBuildingData;
            stream.Close();
            return(saveData);
        }
        else
        {
            Debug.LogError("no file at " + path);
            return(null);
        }
    }