private void Update() { if (!_used) { return; } this._hits = Physics.RaycastAll(this.baseTransform.position, this.tipTransform.position - this.baseTransform.transform.position); if (!(_hits?.Length > 0)) { return; } foreach (var raycastHit in _hits) { Cable cable = raycastHit.collider.GetComponentInParent <Cable>(); if (cable && cable.State == CableState.FULL) { cable.Cut(); } } }