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

76 lines
2.1 KiB
C#

using System.Collections;
using UnityEngine;
using UnityEngine.UI;
public class FishDebugger : MonoBehaviour
{
public static float ForceMod = 1f;
[SerializeField]
private InputField idField;
[SerializeField]
private InputField forceModField;
[SerializeField]
private InputField weightField;
[SerializeField]
private GameObject _Canvas;
private void Start()
{
_Canvas.SetActive(value: false);
ForceMod = 1f;
}
private void Update()
{
if (GameManager.Instance.isDevModeAllowed && Input.GetKey(KeyCode.LeftShift) && Input.GetKeyDown(KeyCode.P))
{
_Canvas.SetActive(!_Canvas.activeSelf);
}
}
public void Generate()
{
Vector3 position = FScriptsHandler.Instance.m_PlayerMain.currentRod.currentLure.transform.position;
ForceMod = float.Parse(forceModField.text);
StartCoroutine(GenerateOneFish(position, int.Parse(idField.text)));
}
public IEnumerator GenerateOneFish(Vector3 startPos, int id)
{
yield return null;
GameManager.GameFish gameFish = GameManager.Instance.gameFish[id];
float num = float.Parse(weightField.text);
FLure currentLure = FScriptsHandler.Instance.m_PlayerMain.currentRod.currentLure;
FFish component = Object.Instantiate(GameManager.Instance.gameFish[id].GetFishModel(num), FScriptsHandler.Instance.transform).GetComponent<FFish>();
component.fFishSystem = Object.FindObjectOfType<FFishSystem>();
component.fishWeight = num;
component.fishSpecies = gameFish.speciesName;
component.transform.localScale = GameManager.Instance.gameFish[id].GetFishScale(num);
component.transform.position = startPos;
component.currentFeedingZone = FindNearestFeedingZone(startPos);
component.currentSearchLure = currentLure;
component.EnableFish();
}
private FishFeedingZone FindNearestFeedingZone(Vector3 pos)
{
float num = float.PositiveInfinity;
FishFeedingZone result = null;
FishFeedingZone[] array = Object.FindObjectsOfType<FishFeedingZone>();
foreach (FishFeedingZone fishFeedingZone in array)
{
float num2 = Vector3.Distance(fishFeedingZone.transform.position, pos);
if (num2 < num)
{
result = fishFeedingZone;
num = num2;
}
}
return result;
}
}