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
|