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

82 lines
1.5 KiB
C#

using UnityEngine;
namespace CTS
{
public class CTSRuntimeTerrainHelper : MonoBehaviour
{
public CTSProfile m_CTSProfile;
public bool m_autoApplyProfile = true;
public Terrain m_terrain;
private void Awake()
{
if (m_terrain == null)
{
m_terrain = GetComponent<Terrain>();
}
if (m_autoApplyProfile)
{
if (m_terrain == null)
{
ApplyProfileToActiveTerrains();
}
else
{
ApplyProfileToTerrain();
}
}
}
private void Start()
{
if (m_terrain == null)
{
m_terrain = GetComponent<Terrain>();
}
if (m_autoApplyProfile)
{
if (m_terrain == null)
{
ApplyProfileToActiveTerrains();
}
else
{
ApplyProfileToTerrain();
}
}
}
private void OnGenerateCompleted(Terrain terrain)
{
if (terrain != null)
{
m_terrain = terrain;
ApplyProfileToTerrain();
}
}
public void ApplyProfileToTerrain()
{
if (m_terrain != null)
{
CTSSingleton<CTSTerrainManager>.Instance.AddCTSToTerrain(m_terrain);
CTSSingleton<CTSTerrainManager>.Instance.BroadcastProfileSelect(m_CTSProfile, m_terrain);
}
}
public void ApplyProfileToTerrain(Terrain terrain)
{
CTSSingleton<CTSTerrainManager>.Instance.AddCTSToTerrain(terrain);
CTSSingleton<CTSTerrainManager>.Instance.BroadcastProfileSelect(m_CTSProfile, terrain);
}
public void ApplyProfileToActiveTerrains()
{
CTSSingleton<CTSTerrainManager>.Instance.AddCTSToAllTerrains();
CTSSingleton<CTSTerrainManager>.Instance.BroadcastProfileSelect(m_CTSProfile);
}
}
}