示例#1
0
    private void FixedUpdate()
    {
        RaycastHit hit;
        Vector3    dir = transform.forward;

        if (Physics.Raycast(this.transform.position, dir, out hit, LayerMask.NameToLayer("UI")))
        {
            //Generate Laser Beam
            laserLine.SetPosition(1, Vector3.forward * hit.distance);

            //Generate Laser EndPoint
            //if (laserEndPt == null) laserEndPt = Instantiate(laserShadowFX);
            //laserEndPt.SetActive(true);
            //laserEndPt.transform.position = hit.point;


            //Trigger Action If applicable
            TabletButton btn = hit.transform.gameObject.GetComponent <TabletButton>();
            Debug.Log(hit.transform.gameObject.name);
            if (btn)
            {
                btn.ButtonOn();
                fish_mem_btn = btn;
            }
            else if (fish_mem_btn)
            {
                fish_mem_btn.ButtonOff();
                fish_mem_btn = null;
            }
            if (btn && pressed)
            {
                btn.ButtonAction();
                fish_mem_btn = null;
            }
        }
        //else if (laserEndPt)
        //{
        //    laserEndPt.SetActive(false);
        //}
    }