void CheckClick() { if(GM.uiManager.isMenu && GM.uiManager.lastTooltip != "VillagerInfo") return; if(!Input.GetMouseButtonUp(0) && !Input.GetMouseButtonDown(0)) return; if(Input.GetMouseButtonDown(0)){ wasClick = true; prevPos = Input.mousePosition; return; } if(wasClick && Input.GetMouseButtonUp(0)){ wasClick = false; float leniency = 6f; if(Mathf.Clamp(prevPos.x, Input.mousePosition.x - leniency, Input.mousePosition.x + leniency) != prevPos.x){ return; }else if(Mathf.Clamp(prevPos.y, Input.mousePosition.y - leniency, Input.mousePosition.y + leniency) != prevPos.y){ return; } } if(!UnityEngine.EventSystems.EventSystem.current.IsPointerOverGameObject()){ if(GM.uiManager.toolTip){ GM.uiManager.KillTooltip(true); if(GM.aiManager.resetTarget){ GM.aiManager.ResetCameraTarget(); } return; } }else{ return; } Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit hit; if(Physics.Raycast(ray, out hit)){ if(hit.transform.GetComponent<Spot>()){ lastSpot = hit.transform.GetComponent<Spot>(); //Debug.Log(hit.collider.gameObject); if(!lastSpot.filled){ GM.uiManager.QuickBuildTooltip(); }else{ GM.uiManager.StructInfo(lastSpot.GetComponentInChildren<PhysicalStructure>()); } } if(hit.transform.parent == GM.aiManager.villagerParent.transform){ //GM.aiManager.SetCameraTarget(hit.transform); VillagerAI tvai = hit.transform.GetComponent<VillagerAI>(); GM.uiManager.VillagerInfo(tvai.villager); } } }