55 lines
1.8 KiB
C#
55 lines
1.8 KiB
C#
// Distant Lands 2024
|
|
// COZY: Stylized Weather 3
|
|
// All code included in this file is protected under the Unity Asset Store Eula
|
|
|
|
using UnityEngine;
|
|
|
|
|
|
|
|
namespace DistantLands.Cozy.Data
|
|
{
|
|
|
|
[System.Serializable]
|
|
[CreateAssetMenu(menuName = "Distant Lands/Cozy/Material Manager Profile", order = 361)]
|
|
public class MaterialManagerProfile : CozyProfile
|
|
{
|
|
|
|
|
|
public Texture snowTexture;
|
|
public float snowNoiseSize = 10;
|
|
public Color snowColor = Color.white;
|
|
public float puddleScale = 2;
|
|
|
|
|
|
|
|
[System.Serializable]
|
|
public class ModulatedValue
|
|
{
|
|
public enum ModulationSource { dayPercent, yearPercent, precipitation, temperature, snowAmount, rainAmount }
|
|
public enum ModulationTarget { terrainLayerColor, terrainLayerTint, materialColor, materialValue, globalColor, globalValue }
|
|
[Tooltip("The source that will modulate the target.")]
|
|
public ModulationSource modulationSource;
|
|
[Tooltip("The target type that will be modulated.")]
|
|
public ModulationTarget modulationTarget;
|
|
[Tooltip("The gradient that will pass a color to the modulation target based on the modulation source.")]
|
|
public Gradient mappedGradient;
|
|
[Tooltip("The curve that will pass a float value to the modulation target based on the modulation source.")]
|
|
public AnimationCurve mappedCurve;
|
|
|
|
[Tooltip("The terrain layer that this profile impacts.")]
|
|
public TerrainLayer targetLayer;
|
|
[Tooltip("The material that this profile impacts.")]
|
|
public Material targetMaterial;
|
|
|
|
public string targetVariableName;
|
|
|
|
|
|
}
|
|
|
|
[ModulatedProperty]
|
|
public ModulatedValue[] modulatedValues;
|
|
|
|
}
|
|
|
|
|
|
} |