using UnityEngine; public class Hook : MonoBehaviour { public int hookID = -1; [HideInInspector] public Rigidbody linkConnectorUp; public HingeJoint hingeJointUp; public Transform baitContainer; public Transform fishPoint; [HideInInspector] public FishStats takeFish; [HideInInspector] public GameObject currentBait; private bool isRendererEnabled = true; [HideInInspector] public FishingLine currentFishingLine; [HideInInspector] public Rigidbody rigidbody; [HideInInspector] public WaterDisplacementObject waterDisplacementObject; private void Start() { rigidbody = GetComponent(); waterDisplacementObject = GetComponent(); } private void Update() { CheckIsCorrectTerreinPosition(); if ((bool)takeFish) { if (isRendererEnabled) { EnableDisableMeshRenderers(value: false); } } else if (!isRendererEnabled) { EnableDisableMeshRenderers(value: true); } } private void CheckIsCorrectTerreinPosition() { if (waterDisplacementObject.deepProbe.z > 0f && waterDisplacementObject.deepProbe.x == 0f) { ScriptsHandler.Instance.m_PlayerMain.ResetCast(); } } public void Link(Rigidbody connector) { if (connector.transform.parent.GetComponent().lineType != LineHandler.LineType.OneSegment) { currentFishingLine = connector.transform.parent.GetComponent().currentRodFishingLineComponent; if (!(currentFishingLine.hook != this)) { currentFishingLine.hook = this; linkConnectorUp = connector; base.transform.position = linkConnectorUp.position; hingeJointUp.connectedBody = linkConnectorUp; linkConnectorUp.GetComponent().enabled = false; } } } private void EnableDisableMeshRenderers(bool value) { MeshRenderer[] componentsInChildren = base.gameObject.GetComponentsInChildren(); SkinnedMeshRenderer[] componentsInChildren2 = base.gameObject.GetComponentsInChildren(); MeshRenderer[] array = componentsInChildren; for (int i = 0; i < array.Length; i++) { array[i].enabled = value; } SkinnedMeshRenderer[] array2 = componentsInChildren2; for (int i = 0; i < array2.Length; i++) { array2[i].enabled = value; } isRendererEnabled = value; } }