BillBoardNodeInfo Tag2DUpdate(string nodeName, string head, string detail) { // Vector3 pos = graph.transform.position; // string head = "Yellow Curve"; // string detail = "curve is showing something"; BillBoardNodeInfo info = new BillBoardNodeInfo(); info.hyperlink = null; info.nodeName = nodeName; if (head == "Yellow Curve") { info.boardObject = tag2DYellow; } else { info.boardObject = tag2DGreen; } info.boardObject.SetActive(false); // info.boardObject.transform.position = graph.transform.position + new Vector3(70f, 200f, 0); // 70 270 0 // info.boardObject.GetComponent<RectTransform>().anchoredPosition = new Vector2(420f, 240f); info.boardObject.transform.SetParent(graph.transform.Find("GraphContainer").transform.Find("Background").transform.Find("TagAnchorObject").GetComponent <RectTransform>()); info.boardObject.transform.position = graph.transform.Find("GraphContainer").transform.Find("Background").transform.Find("TagAnchorObject").transform.position; info.boardObject.GetComponent <RectTransform>().anchorMin = new Vector2(0, 0); info.boardObject.GetComponent <RectTransform>().anchorMax = new Vector2(1, 1); info.boardObject.transform.Find("Background").transform.Find("Button").GetComponent <Button>().onClick.AddListener(delegate { OkButtonHandler(info.boardObject); }); info.boardObject.transform.Find("Background").transform.Find("HeadingText").GetComponent <Text>().text = head; info.boardObject.transform.Find("Background").transform.Find("TextBackground").transform.Find("Text").GetComponent <Text>().text = detail; return(info); }
void GetBillBoardInfo() { GameObject tag_prefab = Resources.Load("TagLeft") as GameObject; Dictionary <string, Tuple <string, string> > nodeInfo = MetadataParser(); foreach (var node in nodeInfo.Keys) { BillBoardNodeInfo info = TagUpdate(tag_prefab, nodeInfo[node].Item2, node, topo.GetNodePosition(node) + new Vector3(0, 0.5f, 0), node, nodeInfo[node].Item1 ); boardInfo.Add(node, info); } Dictionary <int, Tuple <string, string, string> > tInfo = TimeParser(); foreach (var time in tInfo.Keys) { BillBoardNodeInfo info; if (tInfo[time].Item1 == "Yellow Curve" || tInfo[time].Item1 == "Green Curve") { info = Tag2DUpdate("graph", tInfo[time].Item1, tInfo[time].Item2); } else { info = TagUpdate(tag_prefab, tInfo[time].Item3, tInfo[time].Item1, topo.GetNodePosition(tInfo[time].Item1) + new Vector3(0, 0.5f, 0), tInfo[time].Item1, tInfo[time].Item2 ); } timeInfo.Add(time, new Tuple <BillBoardNodeInfo, bool>(info, false)); } }
BillBoardNodeInfo TagUpdate(GameObject tag_prefab, string hyperlink, string nodeName, Vector3 boardPos, string head, string detail) { BillBoardNodeInfo info = new BillBoardNodeInfo(); info.hyperlink = hyperlink; info.nodeName = nodeName; info.boardObject = Instantiate(tag_prefab) as GameObject; info.boardObject.SetActive(false); info.boardObject.transform.position = boardPos; info.boardObject.transform.Find("Canvas").transform.Find("Button").GetComponent <Button>().onClick.AddListener(delegate { OkButtonHandler(info.boardObject); }); info.boardObject.transform.Find("Canvas").transform.Find("HeadingText").GetComponent <Text>().text = head; info.boardObject.transform.Find("Canvas").transform.Find("TextBackground").transform.Find("Text").GetComponent <Text>().text = detail; if (info.hyperlink == null) { info.boardObject.transform.Find("Canvas").transform.Find("TextBackground").transform.Find("Hyperlink").gameObject.SetActive(false); info.boardObject.transform.Find("Canvas").transform.Find("TextBackground").transform.Find("HyperlinkButton").gameObject.SetActive(false); } else { info.boardObject.transform.Find("Canvas").transform.Find("TextBackground").transform.Find("HyperlinkButton").GetComponent <Button>().onClick.AddListener(delegate { HyperlinkButtonHandler(info.hyperlink); }); } return(info); }