public void SaveJson()
    {
        if (!File.Exists(SaveLoadSystem.SaveFolderLocation + WorldName + "/" + WorldName + ".txt"))
        {
            Save.Seed              = SetSeed;
            Save.SeedSet           = true;
            Save.WorldName         = WorldName;
            Save.ModeName          = ModeName;
            Save.PlayerPosition    = GameObject.Find("Player").transform.position;
            Save.SquareRoomAmount  = SquareRoomAmount;
            Save.CircleRoomAmount  = CircleRoomAmount;
            Save.TShapeRoomAmount  = TShapeRoomAmount;
            Save.LShapeRoomAmount  = LShapeRoomAmount;
            Save.DiamondRoomAmount = DiamondRoomAmount;
            Save.XDimension        = XDimension;
            Save.YDimension        = YDimension;
            for (int i = 0; i < TilesToSave.Count; ++i)
            {
                if (Save.DataPacks.All(t => !t.Equals(TilesToSave[i])))
                {
                    Save.DataPacks.Add(TilesToSave[i]);
                }
            }
            SceenshotTaker.TakeScreenShot_static(256, 256);
            string saveString = JsonUtility.ToJson(Save, true);
            SaveLoadSystem.Save(saveString, WorldName);
        }
        if (File.Exists(SaveLoadSystem.SaveFolderLocation + WorldName + "/" + WorldName + ".txt"))
        {
            string LoadString = SaveLoadSystem.Load(WorldName);

            if (LoadString != null)
            {
                Save = JsonUtility.FromJson <SaveFile>(LoadString);
                for (int i = 0; i < TilesToSave.Count; ++i)
                {
                    if (Save.DataPacks.All(t => !t.Equals(TilesToSave[i])))
                    {
                        Save.DataPacks.Add(TilesToSave[i]);
                    }
                }
                InventoryBackpack backpack = GameObject.Find("Player").GetComponent <InventoryBackpack>();
                Save.ItemPacks.Clear();
                SaveLoadSystem.Save("", WorldName);
                for (int i = 0; i < backpack.Storage.Count; ++i)
                {
                    ItemInventorySave invSave = new ItemInventorySave();
                    invSave.InventorySlot = backpack.Storage[i];
                    if (Save.ItemPacks.All(t => t.InventorySlot.ID != backpack.Storage[i].ID))
                    {
                        Save.ItemPacks.Add(invSave);
                    }
                }
                for (int i = 0; i < backpack.Display.CombindSlots.Count; ++i)
                {
                    for (int a = 0; a < Save.ItemPacks.Count; ++a)
                    {
                        if (backpack.Display.CombindSlots[i].transform.GetChild(0).GetComponent <HoldCustomTile>().CustomTile != null)
                        {
                            if (backpack.Display.CombindSlots[i].transform.GetChild(0).GetComponent <HoldCustomTile>().CustomTile.Item.ItemID == Save.ItemPacks[a].InventorySlot.ID)
                            {
                                Save.ItemPacks[a].SlotNumber = backpack.Display.CombindSlots[i].transform.GetChild(0).GetComponent <HoldCustomTile>().SlotID;
                            }
                        }
                    }
                }
                //Clears the json file incase the backpack amount doesn't match
                if (Save.ItemPacks.Count != backpack.Storage.Count)
                {
                    Save.ItemPacks.Clear();
                    SaveLoadSystem.Save("", WorldName);
                }
                for (int i = 0; i < backpack.Storage.Count; ++i)
                {
                    ItemInventorySave invSave = new ItemInventorySave();
                    invSave.InventorySlot = backpack.Storage[i];
                    if (Save.ItemPacks.All(t => t.InventorySlot.ID != backpack.Storage[i].ID))
                    {
                        Save.ItemPacks.Add(invSave);
                    }
                }
                SceenshotTaker.TakeScreenShot_static(256, 256);
                Save.PlayerPosition = GameObject.Find("Player").transform.position;
                Save.DigPower       = GameObject.Find("Player").GetComponent <DigTier>().CurrentDigTier;
                string saveString = JsonUtility.ToJson(Save, true);
                SaveLoadSystem.Save(saveString, WorldName);
                if (Save.ModeName == "FreeMode")
                {
                    GameObject.Find("GameManager").GetComponent <GameManager>().FreeMode = true;
                }
                if (Save.ModeName == "ScoreMode")
                {
                    GameObject.Find("GameManager").GetComponent <GameManager>().ScoreMode = true;
                }
                if (Save.ModeName == "ExitMode")
                {
                    GameObject.Find("GameManager").GetComponent <GameManager>().ExitMode = true;
                }
            }
        }
    }
Exemplo n.º 2
0
 private void Awake()
 {
     m_instance = this;
     m_camera   = GetComponent <Camera>();
 }