/* Handle the repair behavior */ void Update() { if (Input.GetMouseButtonDown(1) && Physics.Raycast( m_LookTransform.position, m_LookTransform.forward, out m_Hit, m_InteractDistance, 1 << 9)) { // Start repairing m_RepairableSystem = m_Hit.transform.GetComponent <Repairable>(); m_Repairing = (m_RepairableSystem != null); animator.SetBool("Repairing", m_Repairing); effects.PlayBlowtorch(); } else if (Input.GetMouseButton(1) && m_Repairing) { // continue repairing m_RepairableSystem.Repair(m_RepairSpeed * Time.deltaTime); } else if (Input.GetMouseButtonUp(1) && m_Repairing) { m_RepairableSystem = null; m_Repairing = false; animator.SetBool("Repairing", false); effects.Stop(); } }