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); }
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; }
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; } }
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; }
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; }
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; }