示例#1
0
    private void Fire()
    {
        Ray        ray = Camera.main.ScreenPointToRay(Input.mousePosition);
        RaycastHit hit;


        if (Physics.Raycast(ray, out hit))
        {
            if (hit.collider.gameObject.GetComponent <PhysGunTarget>())
            {
                if (hit.collider.gameObject.GetComponent <PhysGunTarget>().IsTargetable)
                {
                    isLatched = true;
                    target    = hit.collider.gameObject.GetComponent <PhysGunTarget>();
                    if (!target.IsTargetted)
                    {
                        target.OnStart();
                    }
                    return;
                }
            }
            else
            {
                if (target)
                {
                    target.OnFinish();
                }
                isLatched = false;
                target    = null;
            }
        }
    }
示例#2
0
 public void RemoveTarget()
 {
     seekerIsLocked       = false;
     seekerOffsetLocked   = false;
     seekerOffset         = Vector3.zero;
     seekerHorizontalPull = 0.0f;
     isLatched            = false;
     target    = null;
     hasPushed = false;
 }
示例#3
0
 private void ResetBeam()
 {
     lr.positionCount = 0;
     isLatched        = false;
     if (target)
     {
         target.OnFinish();
     }
     target = null;
 }
 public void OnEnable()
 {
     targ = (PhysGunTarget)target;
 }