IEnumerator InitNodesRoutine() { for (int i = 0; i < size; ++i) { yield return(null); Node n = nodes [i]; NodeVisuals nv = GetComponent <NodeVisuals> (); nodesVisuals [i] = nv; n.Load(); nv.Load(); yield return(null); for (int j = 0; j < 3; ++j) { Interface iface = n.Interfaces [j]; interfaces [i * 3 + j] = iface; InterfaceVisuals iv = iface.GetComponent <InterfaceVisuals> (); interfacesVisuals [i * 3 + j] = iv; iv.iface = iface; iv.infoObject = Instantiate(interfaceInfoPrefab, canvasTransform); iv.InitVisuals(); } } }
public void OnNodeClick(Node node) { if (nodePanels.ContainsKey(node)) { nodePanels [node].center.transform.SetAsLastSibling(); return; } GameObject radial = Instantiate(radialMenuPrefab, canvasTransform); Center center = radial.GetComponent <Center> (); NodeVisuals visuals = node.GetComponent <NodeVisuals> (); center.node = node; center.level = this; center.transform.position = cam.WorldToScreenPoint(visuals.meshRenderer.transform.position) + new Vector3(0, 150f); nodePanels.Add(node, new Pair(center, visuals)); }
public Pair(Center center, NodeVisuals visuals) { this.center = center; this.visuals = visuals; }