132 lines
3.0 KiB
C#
132 lines
3.0 KiB
C#
#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
|