Beispiel #1
0
 public static AllSaveData AdjustSaveData(AllSaveData saveData, int targetVersion)
 {
     if (saveData.saveVersion == 1 && saveData.saveVersion != targetVersion)
     {
         AdjustV1ToV2(saveData);
     }
     saveData.saveVersion = targetVersion;
     return(saveData);
 }
Beispiel #2
0
 private void Awake()
 {
     if (!inEditMode)
     {
         saveData    = SaveSystem.LoadData();
         curShipData = saveData.shipData[saveData.currentShipID];
         AssembleShip(curShipData);
     }
 }
Beispiel #3
0
    public static void SaveData(AllSaveData allSaveData)
    {
        DirectoryInfo dirInfo = Directory.CreateDirectory(Application.persistentDataPath + saveFolderName);

        string       json = JsonUtility.ToJson(allSaveData);
        StreamWriter sw   = File.CreateText(GetFullPath());

        sw.Write(json);
        sw.Close();
    }
Beispiel #4
0
    public static void SaveSingleShip(ShipData ship, bool selectAsActive)
    {
        AllSaveData saveData = LoadData();

        saveData.shipData.Add(ship);
        if (selectAsActive)
        {
            saveData.currentShipID = saveData.shipData.Count - 1;
        }
        SaveData(saveData);
    }
Beispiel #5
0
 private static void AdjustV1ToV2(AllSaveData saveData)
 {
     for (int i = 0; i < saveData.shipData.Count; i++)
     {
         var shipData = saveData.shipData[i];
         for (int j = 0; j < shipData.availableSystems.Count; j++)
         {
             shipData.AddAvailableSystem(shipData.systemDatas[j].system);
         }
     }
 }
Beispiel #6
0
    public AllSaveData GetSaveData()
    {
        AllSaveData allSaveData = new AllSaveData();

        allSaveData.currentShipID = selectedShip;
        allSaveData.shipData      = new List <ShipData>();
        for (int i = 0; i < allShips.Length; i++)
        {
            allSaveData.shipData.Add(allShips[i].shipData);
        }
        return(allSaveData);
    }
 private void Initialize()
 {
     if (!initialized)
     {
         if (saveData == null)
         {
             saveData = SaveSystem.LoadData();
         }
         FillShipEntries();
         heldVerticalTimer = new Timer(heldVerticalChangeSelectionTime, true);
         uiInput           = InputManager.Instance.generalUIInputManager;
         initialized       = true;
         Subscribe();
     }
 }
Beispiel #8
0
    public void Save()
    {
        if (dontSave)
        {
            return;
        }

        DateTime         lastSaveTime     = DateTime.UtcNow;
        CropsManagerData cropsManagerData = cropsManager.SaveData();
        CoinManagerData  coinManagerData  = coinManager.SaveData();
        AllSaveData      allSaveData      = new AllSaveData(cropsManagerData, coinManagerData, lastSaveTime);
        BinaryFormatter  bf = new BinaryFormatter();
        //Application.persistentDataPath is a string, so if you wanted you can put that into debug.log if you want to know where save games are located
        FileStream file = File.Create(saveFilePath); //you can call it anything you want

        bf.Serialize(file, allSaveData);
        file.Close();
    }
Beispiel #9
0
    private static AllSaveData LoadDefaultSaveData()
    {
        AllSaveDataSO allSaveDataSO = Resources.Load <AllSaveDataSO>("DefaultSaveData");

        if (allSaveDataSO != null)
        {
            var saveData = allSaveDataSO.GetSaveData();
            saveData.saveVersion = CurrentSaveVersion;
            return(saveData);
        }
        else
        {
            Debug.LogError("DefaultSaveData not found!");
            AllSaveData allSaveData = new AllSaveData();
            allSaveData.shipData.Add(ShipData.GetDefaultShipData());
            allSaveData.currentShipID = 0;
            return(allSaveData);
        }
    }
Beispiel #10
0
    public void Load()
    {
        if (File.Exists(saveFilePath))
        {
            BinaryFormatter bf          = new BinaryFormatter();
            FileStream      file        = File.Open(saveFilePath, FileMode.Open);
            AllSaveData     allSaveData = (AllSaveData)bf.Deserialize(file);
            file.Close();

            cropsManager.LoadData(allSaveData.cropsManagerData);
            coinManager.LoadData(allSaveData.coinManagerData, allSaveData.lastSaveTime);
        }
        else
        {
            cropsManager.Initialise();
            coinManager.Initialise();
            dontSave = false;
        }
    }
Beispiel #11
0
    public static AllSaveData LoadData()
    {
        string      path = GetFullPath();
        AllSaveData saveData;

        if (File.Exists(path))
        {
            string textData = File.ReadAllText(path);
            saveData = JsonUtility.FromJson <AllSaveData>(textData);
            if (saveData.saveVersion != AllSaveData.CurrentSaveVersion)
            {
                //Handle differences between versions
                VersionAdjuster.AdjustSaveData(saveData, AllSaveData.CurrentSaveVersion);
                SaveData(saveData);
            }
            return(saveData);
        }
        else
        {
            saveData = AllSaveData.GetDefaultSaveData();
            SaveData(saveData);
            return(saveData);
        }
    }