コード例 #1
0
    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);
    }
コード例 #2
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);
        }
コード例 #3
0
    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.");
    }