Esempio n. 1
0
    private void Update()
    {
        //單點滑鼠右鍵
        //if (Input.GetMouseButton(1))
        if (Input.GetMouseButtonDown(1))
        {
            Vector3    mousePosition = Input.mousePosition;
            Ray        ray           = Camera.main.ScreenPointToRay(mousePosition);
            RaycastHit hit;

            if (Physics.Raycast(ray, out hit, 1000))
            {
                //Debug.DrawLine(ray.origin, hit.point);

                if (OnRMBDown != null)
                {
                    OnRMBDown(hit);
                }
                SetTarget(hit);
            }
        }

        //單選物件 (滑鼠左鍵)
        //if (Input.GetMouseButtonDown(0))
        if (Input.GetMouseButtonDown(0))
        {
            Vector3    mousePosition = Input.mousePosition;
            Ray        ray           = Camera.main.ScreenPointToRay(mousePosition);
            RaycastHit hit;

            if (Physics.Raycast(ray, out hit, 1000))
            {
                if (OnLMBDown != null)
                {
                    OnLMBDown(hit);
                }

                SelectObj(hit);
            }
        }

        //target選取結束
        if (Input.GetMouseButtonUp(1))
        {
            if (currentTargetedObj != null)
            {
                currentTargetedObj.BeingDischosen();
                currentTargetedObj = null;
            }
        }
    }