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; } } } }
private void Awake() { m_instance = this; m_camera = GetComponent <Camera>(); }