76 lines
2.1 KiB
C#
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;
|
|
}
|
|
}
|