Esempio n. 1
0
    public static void CreateTree(StreamReader file, List<DialogTreeNode> HeroDialogTree)
    {
        string ReadLine = file.ReadLine();//reads in first line of text file
        //string Tempstring;
        int counter = 1;
        while (ReadLine != null)
        {
            DialogTreeNode node = new DialogTreeNode();
            node.lvl = counter;
            counter++;
            node.numbranches = int.Parse(ReadLine.Substring(0, 1));//gets number of branches
            if (node.numbranches > 1)//if more than 1 branch
            {
                node.fail = int.Parse(ReadLine.Substring(1, 2)) - 1;//gets number of next node
                node.success = int.Parse(ReadLine.Substring(3, 2)) - 1;//gets number of next node
            }
            else
            {
                node.next = int.Parse(ReadLine.Substring(1, 2)) - 1;
            }

            //Tempstring = ReadLine.Substring(12);//sets nodes line of dialog

            node.line = ReadLine.Substring(12);//sets nodes line of dialog

            HeroDialogTree.Add(node);//adds node to dialog "tree"

            ReadLine = file.ReadLine();//reads in next line of text file
        }
    }
 private void updateAction(DialogTreeNode currentNode)
 {
     if (currentNode.actionList != null)
     {
         gameDataObject.runActions(currentNode.actionList);
     }
 }
    //called when the dialog first loads, or the user clicks a link
    private void updateDisplay()
    {
        DialogTreeNode currentNode = (DialogTreeNode)dialogTree.getNode(dialogTree.currentIndex);

        updateSpeakerBlock(currentNode);
        updateResponseBlock(currentNode);
        updateAction(currentNode);
    }
Esempio n. 4
0
    public static Dictionary <long, DialogTreeNode> getDialogTreeNodeFromList(List <ITreeNode> treeNodeList)
    {
        Dictionary <long, DialogTreeNode> treeNodeDict = new Dictionary <long, DialogTreeNode>();

        foreach (var node in treeNodeList)
        {
            DialogTreeNode wNode = (DialogTreeNode)node;
            treeNodeDict.Add(wNode.index, wNode);
        }

        return(treeNodeDict);
    }
    private void updateResponseBlock(DialogTreeNode currentNode)
    {
        clearResponsePanel();
        foreach (var branch in currentNode.getBranchList(dialogTree))
        {
            GameObject responseButton = createResponseButton(branch);
            responseButtonList.Add(responseButton);
        }
        GameObject endDialogButton = createEndDialogButton();

        responseButtonList.Add(endDialogButton);
    }
    private void updateSpeakerBlock(DialogTreeNode currentNode)
    {
        var speakerBoxText = speakerBox.GetComponent <Text>();

        speakerBoxText.text = currentNode.content.text;

        var speakerNameText = speakerName.GetComponent <Text>();

        speakerNameText.text = currentNode.content.speaker;

        var speakerPortraitImg = speakerPortrait.GetComponent <Image>();

        //var speakerSprite = Resources.Load<Sprite>("Portraits/" + currentNode.content.portrait);
        var speakerSprite = gameDataObject.assetLibrary.getSprite(currentNode.content.portraitSpritesheetName, currentNode.content.portraitSpritesheeteIndex);

        speakerPortraitImg.sprite = speakerSprite;
    }
Esempio n. 7
0
 public static int Traverse(DialogTreeNode Node, bool success)
 {
     if(Node.next == 0)//if node has more than 1 branch
     {
         if (success)//if transaction was successful
         {
             return Node.success;
         }
         else//if transaction failed
         {
             return Node.fail;
         }
     }
     else
     {
         return Node.next;
     }
 }
Esempio n. 8
0
    private static ITreeNode getTreeNodeFromDataStr(string nodeDataStr, TreeType treeType)
    {
        var dataList = ParseHelper.getSplitList(nodeDataStr, Environment.NewLine);

        ITreeNode node = null;

        switch (treeType)
        {
        case TreeType.World:

            var worldTreeNode = new WorldTreeNode(Int64.Parse(dataList[0]), dataList[1], null, null, (WorldNodeContent)getTreeNodeContentFromStr(dataList[2], treeType));
            node = worldTreeNode;
            break;

        case TreeType.Zone:
            var zoneTreeNode = new ZoneTreeNode(Int64.Parse(dataList[0]), dataList[1], null, null, (ZoneNodeContent)getTreeNodeContentFromStr(dataList[2], treeType));
            node = zoneTreeNode;
            break;

        case TreeType.Dialog:
            var dialogTreeNode = new DialogTreeNode(Int64.Parse(dataList[0]), dataList[1], null, null, (DialogNodeContent)getTreeNodeContentFromStr(dataList[2], treeType));
            node = dialogTreeNode;
            break;

        case TreeType.Quest:
            var questTreeNode = new QuestTreeNode(Int64.Parse(dataList[0]), dataList[1], null, null, (QuestNodeContent)getTreeNodeContentFromStr(dataList[2], treeType));
            node = questTreeNode;
            break;

        case TreeType.Battle:
            var battleTreeNode = new BattleTreeNode(Int64.Parse(dataList[0]), dataList[1], null, null, (BattleNodeContent)getTreeNodeContentFromStr(dataList[2], treeType));
            node = battleTreeNode;
            break;

        case TreeType.Info:
            var infoTreeNode = new InfoTreeNode(Int64.Parse(dataList[0]), dataList[1], null, null, (InfoNodeContent)getTreeNodeContentFromStr(dataList[2], treeType));
            node = infoTreeNode;
            break;

        case TreeType.Store:
            var storeTreeNode = new StoreTreeNode(Int64.Parse(dataList[0]), dataList[1], null, null, (StoreNodeContent)getTreeNodeContentFromStr(dataList[2], treeType));
            node = storeTreeNode;
            break;

        case TreeType.Cutscene:
            var cutsceneTreeNode = new CutsceneTreeNode(Int64.Parse(dataList[0]), dataList[1], null, null, (CutsceneNodeContent)getTreeNodeContentFromStr(dataList[2], treeType));
            node = cutsceneTreeNode;
            break;

        default: break;
        }

        if (dataList.Count > 3)
        {
            node.flagSetList = getFlagSetFromDataStr(dataList[3]);
        }
        if (dataList.Count > 4)
        {
            node.actionList = getTreeNodeActionListFromDataStr(dataList[4]);
        }

        return(node);
    }
    private static ITreeNode getTreeNodeFromDataStr(string nodeDataStr, TreeType treeType)
    {
        var dataList = ParseHelper.getSplitList(nodeDataStr, Environment.NewLine);

            ITreeNode node = null;
            switch(treeType)
            {
                case TreeType.World:

                    var worldTreeNode =  new WorldTreeNode(Int64.Parse(dataList[0]), dataList[1], null, null, (WorldNodeContent)getTreeNodeContentFromStr(dataList[2], treeType));
                    node = worldTreeNode;
                    break;
                case TreeType.Zone:
                    var zoneTreeNode = new ZoneTreeNode(Int64.Parse(dataList[0]), dataList[1], null, null, (ZoneNodeContent)getTreeNodeContentFromStr(dataList[2], treeType));
                    node = zoneTreeNode;
                    break;
                case TreeType.Dialog:
                    var dialogTreeNode = new DialogTreeNode(Int64.Parse(dataList[0]), dataList[1], null, null, (DialogNodeContent)getTreeNodeContentFromStr(dataList[2], treeType));
                node = dialogTreeNode;
                    break;
                case TreeType.Quest:
                    var questTreeNode = new QuestTreeNode(Int64.Parse(dataList[0]), dataList[1], null, null, (QuestNodeContent)getTreeNodeContentFromStr(dataList[2], treeType));
                    node = questTreeNode;
                    break;
                case TreeType.Battle:
                    var battleTreeNode = new BattleTreeNode(Int64.Parse(dataList[0]), dataList[1], null, null, (BattleNodeContent)getTreeNodeContentFromStr(dataList[2], treeType));
                    node = battleTreeNode;
                    break;
                case TreeType.Info:
                     var infoTreeNode = new InfoTreeNode(Int64.Parse(dataList[0]), dataList[1], null, null, (InfoNodeContent)getTreeNodeContentFromStr(dataList[2], treeType));
                   node = infoTreeNode;
                    break;
                default: break;
            }

            if (dataList.Count > 3)
            {
                node.flagSetList = getFlagSetFromDataStr(dataList[3]);
            }
            if (dataList.Count > 4)
            {
                node.actionList = getTreeNodeActionListFromDataStr(dataList[4]);
            }

            return node;
    }
Esempio n. 10
0
    private void updateSpeakerBlock(DialogTreeNode currentNode)
    {
        var speakerBoxText = speakerBox.GetComponent<Text>();
        speakerBoxText.text = currentNode.content.text;

        var speakerNameText = speakerName.GetComponent<Text>();
        speakerNameText.text = currentNode.content.speaker;

        var speakerPortraitImg = speakerPortrait.GetComponent<Image>();

        //var speakerSprite = Resources.Load<Sprite>("Portraits/" + currentNode.content.portrait);
        var speakerSprite = gameDataObject.assetLibrary.getSprite(currentNode.content.portraitSpritesheetName, currentNode.content.portraitSpritesheeteIndex);

        speakerPortraitImg.sprite = speakerSprite;

    }
Esempio n. 11
0
 private void updateResponseBlock(DialogTreeNode currentNode)
 {
     clearResponsePanel();
     foreach (var branch in currentNode.getBranchList(dialogTree))
     {
        GameObject responseButton =  createResponseButton(branch);
         responseButtonList.Add(responseButton);
         
     }
     GameObject endDialogButton = createEndDialogButton();
     responseButtonList.Add(endDialogButton);
 }
Esempio n. 12
0
 private void updateAction(DialogTreeNode currentNode)
 {
     if (currentNode.actionList != null)
     {
         gameDataObject.runActions(currentNode.actionList);
     }
 }
    private void updateSpeakerBlock(DialogTreeNode currentNode)
    {
        var speakerBoxText = speakerBox.GetComponent<Text>();
        speakerBoxText.text = currentNode.content.text;

        var speakerNameText = speakerName.GetComponent<Text>();
        speakerNameText.text = currentNode.content.speaker;

        var speakerPortraitImg = speakerPortrait.GetComponent<Image>();

        var speakerSprite = Resources.Load<Sprite>("Portraits/" + currentNode.content.portrait);

        speakerPortraitImg.sprite = speakerSprite;
    }