private void ClickNextNode() { CutsceneTreeNode curNode = (CutsceneTreeNode)cutsceneTree.getNode(cutsceneTree.currentIndex); if (curNode.branchList.Count > 0) //go to next node { long linkIndex = curNode.branchList[0].linkIndex; cutsceneTree.SelectNode(linkIndex); UpdateUI(); } else //leave the cutscene { long linkindex = curNode.content.linkIndex; switch (curNode.content.nodeType) { case ZoneNodeType.Battle: ClickBattleNode(linkindex); break; case ZoneNodeType.Cutscene: ClickCutsceneNode(linkindex); break; case ZoneNodeType.Link: ClickLinkNode(linkindex); break; default: break; } } }
private void UpdateUI() { CutsceneTreeNode curNode = (CutsceneTreeNode)cutsceneTree.getNode(cutsceneTree.currentIndex); cutsceneText.text = curNode.content.text; bgImage.sprite = gameDataObject.assetLibrary.getSprite(curNode.content.sheetName, curNode.content.spriteIndex); }
public static Dictionary <long, CutsceneTreeNode> getCutsceneTreeNodeFromList(List <ITreeNode> treeNodeList) { Dictionary <long, CutsceneTreeNode> treeNodeDict = new Dictionary <long, CutsceneTreeNode>(); foreach (var node in treeNodeList) { CutsceneTreeNode wNode = (CutsceneTreeNode)node; treeNodeDict.Add(wNode.index, wNode); } return(treeNodeDict); }
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; 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; }