Exemplo n.º 1
0
    public CollectionSaveData SaveInfo()
    {
        CollectionSaveData saveData = new CollectionSaveData();

        for (int i = 0; i < map.Length; i++)               //row
        {
            for (int j = 0; j < map[i].mapCol.Length; j++) //col
            {
                PlotSaveData temp = map[i].mapCol[j].SaveInfo();
                temp.ID[0] = i;
                temp.ID[1] = j;

                string plotStringData = JsonUtility.ToJson(temp);
                //Debug.Log(plotStringData);

                saveData.plotData.Add(plotStringData);
            }
        }

        saveData.UpgradesUnlocked = UpgradesUnlocked;

        saveData.Events    = new bool[3];
        saveData.Events[0] = EnergyUp.activeSelf;
        saveData.Events[1] = EnergyDown.activeSelf;
        saveData.Events[2] = Growth.activeSelf;

        return(saveData);
    }
Exemplo n.º 2
0
    public void LoadInfo(CollectionSaveData info)
    {
        UpgradesUnlocked = info.UpgradesUnlocked;
        upgrades.LoadGame(UpgradesUnlocked);

        bool EnergyUpActive   = info.Events[0];
        bool EnergyDownActive = info.Events[1];
        bool GrowthActive     = info.Events[2];

        for (int k = 0; k < info.plotData.Count; k++)
        {
            PlotSaveData temp = JsonUtility.FromJson <PlotSaveData>(info.plotData[k]);

            int i = temp.ID[0];
            int j = temp.ID[1];

            map[i].mapCol[j].LoadInfo(temp);
        }

        EnergyUp.SetActive(false);
        EnergyDown.SetActive(false);
        Growth.SetActive(false);

        if (EnergyUpActive == true)
        {
            EnergyUp.SetActive(true);
        }
        else if (EnergyDownActive)
        {
            EnergyDown.SetActive(true);
        }
        else if (GrowthActive)
        {
            Growth.SetActive(true);
        }
    }
Exemplo n.º 3
0
    public void SaveGame()
    {
        List <string> dataArray = new List <string>();

        List <SlotSaveData> inventorySaveData = inventory.SaveInfo();//Inventory Save Data

        for (int i = 0; i < inventorySaveData.Count; i++)
        {
            string inventoryStringData = JsonUtility.ToJson(inventorySaveData[i]);
            dataArray.Add(inventoryStringData);
        }

        dataArray.Add("BREAK");

        List <SlotSaveData> storageSaveData = storage.SaveInfo();//Storage Save Data

        for (int i = 0; i < storageSaveData.Count; i++)
        {
            string storageStringData = JsonUtility.ToJson(storageSaveData[i]);
            dataArray.Add(storageStringData);
        }

        dataArray.Add("BREAK");

        List <FluctuationSaveData> itemDatabaseSaveData = itemDatabase.SaveInfo();//Item Save Data

        for (int i = 0; i < itemDatabaseSaveData.Count; i++)
        {
            string itemDatabaseStringData = JsonUtility.ToJson(itemDatabaseSaveData[i]);
            dataArray.Add(itemDatabaseStringData);
        }

        dataArray.Add("BREAK");

        TickSaveData tickSaveData   = tickAll.SaveInfo();//Day Save Data
        string       tickStringData = JsonUtility.ToJson(tickSaveData);

        //Debug.Log(tickStringData);
        dataArray.Add(tickStringData);

        dataArray.Add("BREAK");

        int tempBank = bank.SaveGame();

        dataArray.Add(tempBank.ToString());

        dataArray.Add("BREAK");

        string mainMissionData = JsonUtility.ToJson(mainMissions.SaveGame());

        dataArray.Add(mainMissionData.ToString());

        dataArray.Add("BREAK");

        string sideMissionData = JsonUtility.ToJson(sideMissions.SaveGame());

        dataArray.Add(sideMissionData.ToString());

        dataArray.Add("BREAK");

        for (int i = 0; i < plotCollections.Length; i++)
        {
            CollectionSaveData collectionSaveData = plotCollections[i].SaveInfo();//Plot Save Data

            string plotStringData = JsonUtility.ToJson(collectionSaveData);
            dataArray.Add(plotStringData);
            //Debug.Log(plotStringData);

            dataArray.Add("BREAK");
        }

        //write to file
        string tempPath = path + "/" + gameDataFileName;

        File.WriteAllLines(tempPath, dataArray);

        loadGameButton.interactable = true;
    }
Exemplo n.º 4
0
    public void LoadGame()
    {
        NewGame();

        //load from file
        string filePath = path + "/" + gameDataFileName;

        if (File.Exists(filePath))
        {
            string[] dataAsJson = File.ReadAllLines(filePath);

            //Stage 1 get Save Data

            List <SlotSaveData>        inventorySaveData    = new List <SlotSaveData>();        //Inventory Save Data
            List <SlotSaveData>        storageSaveData      = new List <SlotSaveData>();        //Storage Save Data
            List <FluctuationSaveData> itemDatabaseSaveData = new List <FluctuationSaveData>(); //Item Save Data
            TickSaveData tickSaveData = new TickSaveData();                                     //Day Save Data
            List <CollectionSaveData> collectionSaveData = new List <CollectionSaveData>();
            int bankData = 0;
            MainMissionSaveData        mainMissionSaveData = new MainMissionSaveData();
            SideMissionManagerSaveData sideMissionSaveData = new SideMissionManagerSaveData();

            int phase = 0;

            for (int i = 0; i < dataAsJson.Length; i++)
            {
                string line = dataAsJson[i];

                if (line != "BREAK")
                {
                    switch (phase)
                    {
                    case 0:    //invent
                        SlotSaveData tempI = JsonUtility.FromJson <SlotSaveData>(line);
                        inventorySaveData.Add(tempI);
                        break;

                    case 1:    //storage
                        SlotSaveData tempS = JsonUtility.FromJson <SlotSaveData>(line);
                        storageSaveData.Add(tempS);
                        break;

                    case 2:    //items
                        FluctuationSaveData tempIt = JsonUtility.FromJson <FluctuationSaveData>(line);
                        itemDatabaseSaveData.Add(tempIt);
                        break;

                    case 3:    //tick
                        tickSaveData = JsonUtility.FromJson <TickSaveData>(line);
                        break;

                    case 4:    //tick
                        bankData = int.Parse(line);
                        break;

                    case 5:    //Main Missions
                        mainMissionSaveData = JsonUtility.FromJson <MainMissionSaveData>(line);
                        break;

                    case 6:    //Side Missions
                        sideMissionSaveData = JsonUtility.FromJson <SideMissionManagerSaveData>(line);
                        break;

                    default:    //Plots e.g. anything thats not the first 4 fixed things
                        CollectionSaveData tempC = JsonUtility.FromJson <CollectionSaveData>(line);
                        collectionSaveData.Add(tempC);
                        break;
                    }
                }
                else
                {
                    phase = phase + 1;
                }
            }//End for

            //Stage 2, load
            inventory.LoadInfo(inventorySaveData);

            storage.LoadInfo(storageSaveData);

            itemDatabase.LoadInfo(itemDatabaseSaveData);

            tickAll.LoadInfo(tickSaveData);

            bank.LoadGame(bankData);

            mainMissions.LoadGame(mainMissionSaveData);

            sideMissions.LoadGame(sideMissionSaveData);

            for (int i = 0; i < plotCollections.Length; i++)
            {
                plotCollections[i].LoadInfo(collectionSaveData[i]);
            }
        }
    }