Files
UltimateFishing2020/Assets/Scripts/Assembly-CSharp/Hook.cs
2026-03-04 10:03:45 +08:00

96 lines
2.2 KiB
C#

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<Rigidbody>();
waterDisplacementObject = GetComponent<WaterDisplacementObject>();
}
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<LineHandler>().lineType != LineHandler.LineType.OneSegment)
{
currentFishingLine = connector.transform.parent.GetComponent<LineHandler>().currentRodFishingLineComponent;
if (!(currentFishingLine.hook != this))
{
currentFishingLine.hook = this;
linkConnectorUp = connector;
base.transform.position = linkConnectorUp.position;
hingeJointUp.connectedBody = linkConnectorUp;
linkConnectorUp.GetComponent<MeshRenderer>().enabled = false;
}
}
}
private void EnableDisableMeshRenderers(bool value)
{
MeshRenderer[] componentsInChildren = base.gameObject.GetComponentsInChildren<MeshRenderer>();
SkinnedMeshRenderer[] componentsInChildren2 = base.gameObject.GetComponentsInChildren<SkinnedMeshRenderer>();
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;
}
}