static void SetOverlayedNodes(List <STNode> nodesArray) { for (int i = 0; i < nodesArray.Count - 1; i++) { bool isOverlayed = false; if (nodesArray[i].isOverlayed == true) { continue; } STOverlayNodes overlayedNodes = null; for (int j = i + 1; j < nodesArray.Count; j++) { if ((nodesArray[i].NodeState == NODE_ST.SIMPLE) && (nodesArray[j].NodeState == NODE_ST.SIMPLE)) { continue; } if (Vector2.Distance(nodesArray[i].transform.position, nodesArray[j].transform.position) < 1.0f) { //Debug.Log (nodesArray[i].transform.position); //Debug.Log (nodesArray[j].transform.position); if (isOverlayed == false) { overlayedNodes = Instantiate(Instance().OverlayInfoPref) as STOverlayNodes; // Debug.Log (nodesArray[i].transform.position); nodesArray[i].isOverlayed = true; isOverlayed = true; //overlayedNodes = new STOverlayNodes(nodesArray[i].transform.position); overlayedNodes.AddNode(nodesArray[i], (nodesArray[i].NodeType == NODE_T.COLLECTABLE)); overlayedNodesList.Add(overlayedNodes); } overlayedNodes.AddNode(nodesArray[j], (nodesArray[j].NodeType == NODE_T.COLLECTABLE)); nodesArray[j].isOverlayed = true; } } } foreach (STOverlayNodes nodeInfo in overlayedNodesList) { nodeInfo.ShowInfo(); } }
static public void HideOverlayedNodes() { int SavedNodesCount = 0; while ((overlayedNodesList.Count - SavedNodesCount) > 0) { STOverlayNodes forDel = overlayedNodesList [SavedNodesCount]; if (forDel.DestroyObjects() == false) { SavedNodesCount++; continue; } Destroy(forDel.gameObject); overlayedNodesList.Remove(forDel); } //overlayedNodesList.Clear(); }