Files
UltimateFishing/Assets/Scripts/Assembly-CSharp/TrophyFishSpawner.cs
2026-02-21 16:45:37 +08:00

52 lines
1.4 KiB
C#

using System.Collections.Generic;
using UnityEngine;
public class TrophyFishSpawner : MonoBehaviour
{
public List<Transform> spawnPoints = new List<Transform>();
public List<Fish> fishPrefabs = new List<Fish>();
public bool isSaltwater;
private void Awake()
{
for (int i = 0; i < spawnPoints.Count; i++)
{
spawnPoints[i].GetComponent<MeshRenderer>().enabled = false;
}
if (!GlobalSettings.Instance.saveManager.isProfileLoaded)
{
for (int j = 0; j < fishPrefabs.Count; j++)
{
SpawnFish(fishPrefabs[j]);
}
}
else
{
for (int k = 0; k < GlobalSettings.Instance.fishManager.fishDefinitions.Count; k++)
{
SpawnFish(GlobalSettings.Instance.fishManager.fishDefinitions[k].fishPrefab);
}
}
}
public void SpawnFish(Fish fishPrefab)
{
FishManager.FishDefinition fishDefinition = null;
if (GlobalSettings.Instance.saveManager.isProfileLoaded)
{
fishDefinition = GlobalSettings.Instance.fishManager.GetFishDefinition(fishPrefab.species);
if (fishDefinition == null || fishDefinition.caughtCount == 0 || !fishDefinition.isAvailable || isSaltwater != fishDefinition.fishPrefab.isSaltwater)
{
return;
}
}
Fish fish = null;
fish = Object.Instantiate(fishPrefab);
fish.transform.parent = spawnPoints[Random.Range(0, spawnPoints.Count)];
fish.transform.localPosition = Vector3.zero;
fish.InitializeTrophyRoom(fishDefinition);
}
}