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; } } }
public void RemoveTarget() { seekerIsLocked = false; seekerOffsetLocked = false; seekerOffset = Vector3.zero; seekerHorizontalPull = 0.0f; isLatched = false; target = null; hasPushed = false; }
private void ResetBeam() { lr.positionCount = 0; isLatched = false; if (target) { target.OnFinish(); } target = null; }
public void OnEnable() { targ = (PhysGunTarget)target; }