#if GRIFFIN using UnityEngine; using System.Collections; using System.Collections.Generic; namespace Pinwheel.Griffin.ErosionTool { [System.Serializable] public class GThermalErosionConfigs { [SerializeField] private float erosionRate; public float ErosionRate { get { return erosionRate; } set { erosionRate = Mathf.Max(0, value); } } [SerializeField] private AnimationCurve erosionOverTime; public AnimationCurve ErosionOverTime { get { if (erosionOverTime == null) { erosionOverTime = AnimationCurve.Linear(0, 1, 1, 1); } return erosionOverTime; } set { erosionOverTime = value; } } [SerializeField] private float erosionMultiplier; public float ErosionMultiplier { get { return erosionMultiplier; } set { erosionMultiplier = Mathf.Max(0, value); } } [SerializeField] private float restingAngle; public float RestingAngle { get { return restingAngle; } set { restingAngle = Mathf.Clamp(value, 0f, 90f); } } [SerializeField] private AnimationCurve restingAngleOverTime; public AnimationCurve RestingAngleOverTime { get { if (restingAngleOverTime == null) { restingAngleOverTime = AnimationCurve.Linear(0, 1, 1, 1); } return restingAngleOverTime; } set { restingAngleOverTime = value; } } [SerializeField] private float restingAngleMultiplier; public float RestingAngleMultiplier { get { return restingAngleMultiplier; } set { restingAngleMultiplier = Mathf.Max(0, value); } } [SerializeField] private int iterationCount; public int IterationCount { get { return iterationCount; } set { iterationCount = value; } } public GThermalErosionConfigs() { erosionRate = 0.1f; erosionOverTime = AnimationCurve.Linear(0, 1, 1, 1); erosionMultiplier = 1f; restingAngle = 30f; restingAngleOverTime = AnimationCurve.Linear(0, 1, 1, 1); restingAngleMultiplier = 1f; iterationCount = 10; } } } #endif