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

74 lines
1.6 KiB
C#

using UnityEngine;
[AddComponentMenu("Enviro/Seasons for Meshes")]
public class EnviroMeshSeasons : MonoBehaviour
{
public Material SpringMaterial;
public Material SummerMaterial;
public Material AutumnMaterial;
public Material WinterMaterial;
private MeshRenderer myRenderer;
private void Start()
{
myRenderer = GetComponent<MeshRenderer>();
if (myRenderer == null)
{
Debug.LogError("Please correct script placement! We need a MeshRenderer to work with!");
base.enabled = false;
}
UpdateSeasonMaterial();
EnviroSky.instance.OnSeasonChanged += delegate
{
UpdateSeasonMaterial();
};
}
private void OnEnable()
{
if (SpringMaterial == null)
{
Debug.LogError("Please assign a spring material in Inspector!");
base.enabled = false;
}
if (SummerMaterial == null)
{
Debug.LogError("Please assign a summer material in Inspector!");
base.enabled = false;
}
if (AutumnMaterial == null)
{
Debug.LogError("Please assign a autumn material in Inspector!");
base.enabled = false;
}
if (WinterMaterial == null)
{
Debug.LogError("Please assign a winter material in Inspector!");
base.enabled = false;
}
}
private void UpdateSeasonMaterial()
{
switch (EnviroSky.instance.Seasons.currentSeasons)
{
case SeasonVariables.Seasons.Spring:
myRenderer.sharedMaterial = SpringMaterial;
break;
case SeasonVariables.Seasons.Summer:
myRenderer.sharedMaterial = SummerMaterial;
break;
case SeasonVariables.Seasons.Autumn:
myRenderer.sharedMaterial = AutumnMaterial;
break;
case SeasonVariables.Seasons.Winter:
myRenderer.sharedMaterial = WinterMaterial;
break;
}
}
}