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); }
string ParseVariable(string varName) { Debug.Log("varName = " + varName); //Check YarnSpinner's variable storage first if (variableStorage.GetValue(varName) != Yarn.Value.NULL) { return(variableStorage.GetValue(varName).AsString); } //Handle other variables here if (varName == "$time") { return(Time.time.ToString()); } //If no variables are found, return the variable name return(varName); }
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."); }