using System.Collections.Generic; using UnityEngine; public class FishSystem : MonoBehaviour { public List inwaterObjects; public List inwaterFishObjects; private void Start() { } private void FixedUpdate() { } public void AddInwaterObject(WaterDisplacementObject wIobj) { if (!inwaterObjects.Contains(wIobj)) { inwaterObjects.Add(wIobj); } } public void DeleteInwaterObject(WaterDisplacementObject wIobj) { if (inwaterObjects.Contains(wIobj)) { inwaterObjects.Remove(wIobj); } } public void AddInwaterFishObject(FishStats wIobj) { if (!inwaterFishObjects.Contains(wIobj)) { inwaterFishObjects.Add(wIobj); } } public void DeleteInwaterFishObject(FishStats wIobj) { if (inwaterFishObjects.Contains(wIobj)) { inwaterFishObjects.Remove(wIobj); } } public BaitStats DetectNearBaitByDistance(Transform transformObject, float dst) { BaitStats result = null; for (int i = 0; i < inwaterObjects.Count; i++) { if (!(inwaterObjects[i].baitStats != null) || inwaterObjects[i].baitStats.isDisabled) { continue; } Hook component = inwaterObjects[i].baitStats.GetComponent(); Lure component2 = inwaterObjects[i].baitStats.GetComponent(); if ((bool)component) { if ((bool)component.takeFish) { return null; } } else if ((bool)component2 && (bool)component2.takeFish) { return null; } float num = Vector3.Angle(inwaterObjects[i].transform.position - transformObject.position, transformObject.forward); if (Vector3.Distance(transformObject.position, inwaterObjects[i].transform.position) < dst && num < 90f) { result = inwaterObjects[i].baitStats; } } return result; } }