private int GetTriggeredWarbler() { Yarn.Unity.InMemoryVariableStorage questMemory = Services.DialogueController.InMemoryVariableStorage; bool foundChild1 = questMemory.GetValue(Str.Child1String).AsBool; bool foundChild2 = questMemory.GetValue(Str.Child2String).AsBool; bool foundChild3 = questMemory.GetValue(Str.Child3String).AsBool; if (foundChild1 && !warblerFound[0]) { warblerFound[0] = true; return(0); } else if (foundChild2 && !warblerFound[1]) { warblerFound[1] = true; return(1); } else if (foundChild3 && !warblerFound[2]) { warblerFound[2] = true; return(2); } Logger.Warning("No warblers have been found, yet GetTriggeredWarbler was called"); return(0); }
public IEnumerator LoadDataCO() { loadingSave = true; //DeserializeJson(saveName); Data data = DeserializeData(Str.SaveName); Yarn.Unity.InMemoryVariableStorage questMemory = Services.DialogueController.InMemoryVariableStorage; questMemory.SetValue(Str.Child1String, data.warblerChildrenStatus.foundChild1); questMemory.SetValue(Str.Child2String, data.warblerChildrenStatus.foundChild2); questMemory.SetValue(Str.Child3String, data.warblerChildrenStatus.foundChild3); questMemory.SetValue(Str.SeedString, data.itemStatus.foundSeed); questMemory.SetValue(Str.SoilString, data.itemStatus.foundSoil); questMemory.SetValue(Str.RainString, data.itemStatus.foundRain); seedItem.transform.position = ToVec3(data.itemStatus.seedPos); soilItem.transform.position = ToVec3(data.itemStatus.soilPos); rainItem.transform.position = ToVec3(data.itemStatus.rainPos); if (data.playerHolding.itemHolding != QuestItem.QuestItemEnum.None) { QuestItem holding = null; switch (data.playerHolding.itemHolding) { case QuestItem.QuestItemEnum.Seed: holding = seedItem; break; case QuestItem.QuestItemEnum.Soil: holding = soilItem; break; case QuestItem.QuestItemEnum.Rain: holding = rainItem; break; case QuestItem.QuestItemEnum.None: Logger.Warning("Thought to be holding quest item, holding None quest item"); break; } Services.PlayerItemHolder.AttachToTransform(holding); } Services.PlayerMovement.ForceTransform(ToVec3(data.playerData.position), ToQuat(data.playerData.rotation)); foreach (QuestStageData questStageData in data.questStageData) { for (int i = 0; i < questStageData.stage; i++) { QuestManager.AdvanceQuest(questStageData.quest); yield return(null); } } yield return(null); loadingSave = false; }
//get the references to the dialouge runner on the Gameobject private void Start() { instance = GameObject.Find("Dialogue/Dialogue Runner").GetComponent <InMemoryVariableStorage>(); }
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."); }