// Player Inputs. private void InputProcess() { // Mouse if (Input.GetMouseButtonUp(0) == false) { return; } Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit[] hits = Physics.RaycastAll(ray); foreach (var hit in hits) { // Camp OnClick or not CampOnClick CampClickScript = hit.transform.gameObject.GetComponent <CampOnClick>(); if (CampClickScript != null) { CampClickScript.OnClick(); return; } // Character OnClick or not SoldierOnClick SoldierClickScript = hit.transform.gameObject.GetComponent <SoldierOnClick>(); if (SoldierClickScript != null) { SoldierClickScript.OnClick(); return; } } }
// 玩家输入 private void InputProcess() { // Mouse左键 if (Input.GetMouseButtonUp(0) == false) { return; } //由摄像机产生一条射线 Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit[] hits = Physics.RaycastAll(ray); // 走访每一个被Hit到的GameObject foreach (RaycastHit hit in hits) { // 是否有兵营点击 CampOnClick CampClickScript = hit.transform.gameObject.GetComponent <CampOnClick>(); if (CampClickScript != null) { CampClickScript.OnClick(); return; } // 是否有角色点击 SoldierOnClick SoldierClickScript = hit.transform.gameObject.GetComponent <SoldierOnClick>(); if (SoldierClickScript != null) { SoldierClickScript.OnClick(); return; } } }