public static void LoadHolding(string reality, Player player) { if (string.IsNullOrEmpty(reality)) { Debug.LogError("Reality is null or em empty, cannot load held item."); return; } if (player == null) { Debug.LogError("Null player, cannot perform IO operation for held item."); return; } // Get file path. string path = OutputUtils.RealitySaveDirectory + reality + OutputUtils.HeldItemSaveFile; // Get the player holding monobehaviour. PlayerHolding holding = player.Holding; ItemSaveData sd = InputUtils.FileToObject <ItemSaveData>(path); // Apply! if (sd == null || string.IsNullOrEmpty(sd.Prefab)) { holding.CmdDrop(false, true, player.gameObject, null); } else { holding.ServerEquip(sd.Prefab, player.gameObject, sd.Data.Serialize()); } }
public static void SaveHolding(string reality, Player player) { if (string.IsNullOrEmpty(reality)) { Debug.LogError("Reality is null or em empty, cannot save held item."); return; } if (player == null) { Debug.LogError("Null player, cannot perform IO operation for held item."); return; } // Get file path. string path = OutputUtils.RealitySaveDirectory + reality + OutputUtils.HeldItemSaveFile; // Get the player holding monobehaviour. PlayerHolding holding = player.Holding; if (holding.Item == null) { OutputUtils.ObjectToFile(null, path); } else { ItemSaveData sd = holding.Item.GetSaveData(); OutputUtils.ObjectToFile(sd, path); } // Done! }
public void CreateDefaultSave() { QuestStageData[] questStagesArray = { new QuestStageData { quest = Str.Main, stage = 0 }, new QuestStageData { quest = Str.Warbler, stage = 0 }, new QuestStageData { quest = Str.Frog, stage = 0 }, new QuestStageData { quest = Str.Turtle, stage = 0 } }; PlayerData playerData = new PlayerData { position = ToArray(new Vector3(369.7f, 32.45f, 411.16f)), rotation = ToArray(new Quaternion(0f, 0f, 0f, 1f)) }; PlayerHolding playerHolding = new PlayerHolding { itemHolding = QuestItem.QuestItemEnum.None }; WarblerChildrenStatus warblerChildrenStatus = new WarblerChildrenStatus { foundChild1 = false, foundChild2 = false, foundChild3 = false }; ItemStatus itemStatus = new ItemStatus { foundSeed = false, foundSoil = false, foundRain = false, seedPos = ToArray(seedItem.transform.position), soilPos = ToArray(soilItem.transform.position), rainPos = ToArray(rainItem.transform.position) }; Data saveData = new Data { questStageData = questStagesArray, playerData = playerData, playerHolding = playerHolding, warblerChildrenStatus = warblerChildrenStatus, itemStatus = itemStatus }; SerializeData(Str.SaveDefaultName, saveData); //SerializeJson(saveDefaultName, saveData); }
public void SaveData() { return; Logger.Warning("Saving data..."); QuestStageData[] questStagesArray = { new QuestStageData { quest = Str.Main, stage = mainQuest.QuestStage }, new QuestStageData { quest = Str.Warbler, stage = warblerQuest.QuestStage }, new QuestStageData { quest = Str.Frog, stage = frogQuest.QuestStage }, new QuestStageData { quest = Str.Turtle, stage = turtleQuest.QuestStage } }; PlayerData playerData = new PlayerData { position = ToArray(Services.PlayerMovement.transform.position), rotation = ToArray(Services.PlayerMovement.transform.rotation) }; PlayerHolding playerHolding = new PlayerHolding { itemHolding = Services.PlayerItemHolder._holdingItem ? Services.PlayerItemHolder._currentlyHeldItem.GetComponent <QuestItem>().itemEnum : QuestItem.QuestItemEnum.None }; Yarn.Unity.InMemoryVariableStorage questMemory = Services.DialogueController.InMemoryVariableStorage; WarblerChildrenStatus warblerChildrenStatus = new WarblerChildrenStatus { foundChild1 = questMemory.GetValue(Str.Child1String).AsBool, foundChild2 = questMemory.GetValue(Str.Child2String).AsBool, foundChild3 = questMemory.GetValue(Str.Child3String).AsBool }; ItemStatus itemStatus = new ItemStatus { foundSeed = questMemory.GetValue(Str.SeedString).AsBool, foundSoil = questMemory.GetValue(Str.SoilString).AsBool, foundRain = questMemory.GetValue(Str.RainString).AsBool, seedPos = ToArray(seedItem.transform.position), soilPos = ToArray(soilItem.transform.position), rainPos = ToArray(rainItem.transform.position) }; Data saveData = new Data { questStageData = questStagesArray, playerData = playerData, playerHolding = playerHolding, warblerChildrenStatus = warblerChildrenStatus, itemStatus = itemStatus }; SerializeData(Str.SaveName, saveData); //SerializeJson(saveName, saveData); Logger.Warning("Data saved successfully."); }