private void ClearText(RaycastHit[] _newHits) { List <Collider> toKeepList = new List <Collider> (); foreach (RaycastHit curHit in _newHits) { toKeepList.Add(curHit.collider); } foreach (Collider curCol in miniMapHitList) { if (toKeepList.Contains(curCol)) { continue; } UI_DisplayText displayTextRef = curCol.GetComponent <UI_DisplayText>(); if (displayTextRef != null) { displayTextRef.HideText(); } } }
private void Update() { RaycastHit[] hits = Physics.RaycastAll(mainCamera.ScreenPointToRay(Input.mousePosition), 1000.0f, mainCamMask); mainHitList.Clear(); if (hits.Length > 0) { foreach (RaycastHit curHit in hits) { mainHitList.Add(curHit.collider); } } hits = Physics.RaycastAll(miniMapCamera.ScreenPointToRay(Input.mousePosition), 1000.0f, miniMapCamMask); ClearText(hits); miniMapHitList.Clear(); if (hits.Length > 0) { foreach (RaycastHit curHit in hits) { miniMapHitList.Add(curHit.collider); } foreach (Collider curCol in miniMapHitList) { UI_DisplayText displayTextRef = curCol.gameObject.GetComponent <UI_DisplayText>(); if (displayTextRef != null) { displayTextRef.DisplayText(); } } } /*hits = Physics.RaycastAll (UICamera.ScreenPointToRay (Input.mousePosition)); * uiHitList.Clear(); * if(hits.Length > 0) * { * foreach (RaycastHit curHit in hits) * uiHitList.Add(curHit.collider); * }*/ if (Input.GetMouseButtonDown(0)) { Collider waypoint = miniMapHitList.Find(mmh => mmh.CompareTag("Waypoint")); if (waypoint != null) { miniMapHitList.Remove(waypoint.GetComponent <Collider>()); Destroy(waypoint.gameObject); return; } foreach (Collider curCol in miniMapHitList) { WaypointComponent waypointRef = curCol.gameObject.GetComponent <WaypointComponent>(); if (waypointRef != null) { if (WaypointComponent.currentWaypoint != null) { waypointRef.DestroyWaypoint(); } waypointRef.CreateWaypoint(); break; } } } }