52 lines
1.4 KiB
C#
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);
|
|
}
|
|
}
|