308 lines
7.5 KiB
C#
308 lines
7.5 KiB
C#
#if GRIFFIN
|
|
using UnityEngine;
|
|
|
|
namespace Pinwheel.Griffin.GroupTool
|
|
{
|
|
[System.Serializable]
|
|
public struct GRenderingOverride
|
|
{
|
|
[SerializeField]
|
|
private bool overrideCastShadow;
|
|
public bool OverrideCastShadow
|
|
{
|
|
get
|
|
{
|
|
return overrideCastShadow;
|
|
}
|
|
set
|
|
{
|
|
overrideCastShadow = value;
|
|
}
|
|
}
|
|
|
|
[SerializeField]
|
|
private bool castShadow;
|
|
public bool CastShadow
|
|
{
|
|
get
|
|
{
|
|
return castShadow;
|
|
}
|
|
set
|
|
{
|
|
castShadow = value;
|
|
}
|
|
}
|
|
|
|
[SerializeField]
|
|
private bool overrideReceiveShadow;
|
|
public bool OverrideReceiveShadow
|
|
{
|
|
get
|
|
{
|
|
return overrideReceiveShadow;
|
|
}
|
|
set
|
|
{
|
|
overrideReceiveShadow = value;
|
|
}
|
|
}
|
|
|
|
[SerializeField]
|
|
private bool receiveShadow;
|
|
public bool ReceiveShadow
|
|
{
|
|
get
|
|
{
|
|
return receiveShadow;
|
|
}
|
|
set
|
|
{
|
|
receiveShadow = value;
|
|
}
|
|
}
|
|
|
|
[SerializeField]
|
|
private bool overrideDrawTrees;
|
|
public bool OverrideDrawTrees
|
|
{
|
|
get
|
|
{
|
|
return overrideDrawTrees;
|
|
}
|
|
set
|
|
{
|
|
overrideDrawTrees = value;
|
|
}
|
|
}
|
|
|
|
[SerializeField]
|
|
private bool drawTrees;
|
|
public bool DrawTrees
|
|
{
|
|
get
|
|
{
|
|
return drawTrees;
|
|
}
|
|
set
|
|
{
|
|
drawTrees = value;
|
|
}
|
|
}
|
|
|
|
[SerializeField]
|
|
private bool overrideEnableInstancing;
|
|
public bool OverrideEnableInstancing
|
|
{
|
|
get
|
|
{
|
|
return overrideEnableInstancing;
|
|
}
|
|
set
|
|
{
|
|
overrideEnableInstancing = value;
|
|
}
|
|
}
|
|
|
|
[SerializeField]
|
|
private bool enableInstancing;
|
|
public bool EnableInstancing
|
|
{
|
|
get
|
|
{
|
|
return enableInstancing;
|
|
}
|
|
set
|
|
{
|
|
enableInstancing = value;
|
|
}
|
|
}
|
|
|
|
[SerializeField]
|
|
private bool overrideBillboardStart;
|
|
public bool OverrideBillboardStart
|
|
{
|
|
get
|
|
{
|
|
return overrideBillboardStart;
|
|
}
|
|
set
|
|
{
|
|
overrideBillboardStart = value;
|
|
}
|
|
}
|
|
|
|
[SerializeField]
|
|
private float billboardStart;
|
|
public float BillboardStart
|
|
{
|
|
get
|
|
{
|
|
return billboardStart;
|
|
}
|
|
set
|
|
{
|
|
billboardStart = Mathf.Clamp(value, 0, GCommon.MAX_TREE_DISTANCE);
|
|
}
|
|
}
|
|
|
|
[SerializeField]
|
|
private bool overrideTreeDistance;
|
|
public bool OverrideTreeDistance
|
|
{
|
|
get
|
|
{
|
|
return overrideTreeDistance;
|
|
}
|
|
set
|
|
{
|
|
overrideTreeDistance = value;
|
|
}
|
|
}
|
|
|
|
[SerializeField]
|
|
private float treeDistance;
|
|
public float TreeDistance
|
|
{
|
|
get
|
|
{
|
|
return treeDistance;
|
|
}
|
|
set
|
|
{
|
|
treeDistance = Mathf.Clamp(value, 0, GCommon.MAX_TREE_DISTANCE);
|
|
}
|
|
}
|
|
|
|
[SerializeField]
|
|
private bool overrideDrawGrasses;
|
|
public bool OverrideDrawGrasses
|
|
{
|
|
get
|
|
{
|
|
return overrideDrawGrasses;
|
|
}
|
|
set
|
|
{
|
|
overrideDrawGrasses = value;
|
|
}
|
|
}
|
|
|
|
[SerializeField]
|
|
private bool drawGrasses;
|
|
public bool DrawGrasses
|
|
{
|
|
get
|
|
{
|
|
return drawGrasses;
|
|
}
|
|
set
|
|
{
|
|
drawGrasses = value;
|
|
}
|
|
}
|
|
|
|
[SerializeField]
|
|
private bool overrideGrassDistance;
|
|
public bool OverrideGrassDistance
|
|
{
|
|
get
|
|
{
|
|
return overrideGrassDistance;
|
|
}
|
|
set
|
|
{
|
|
overrideGrassDistance = value;
|
|
}
|
|
}
|
|
|
|
[SerializeField]
|
|
private float grassDistance;
|
|
public float GrassDistance
|
|
{
|
|
get
|
|
{
|
|
return grassDistance;
|
|
}
|
|
set
|
|
{
|
|
grassDistance = Mathf.Clamp(value, 0, GCommon.MAX_GRASS_DISTANCE);
|
|
}
|
|
}
|
|
|
|
[SerializeField]
|
|
private bool overrideGrassFadeStart;
|
|
public bool OverrideGrassFadeStart
|
|
{
|
|
get
|
|
{
|
|
return overrideGrassFadeStart;
|
|
}
|
|
set
|
|
{
|
|
overrideGrassFadeStart = value;
|
|
}
|
|
}
|
|
|
|
[SerializeField]
|
|
private float grassFadeStart;
|
|
public float GrassFadeStart
|
|
{
|
|
get
|
|
{
|
|
return grassFadeStart;
|
|
}
|
|
set
|
|
{
|
|
grassFadeStart = Mathf.Clamp(value, 0f, 1f);
|
|
}
|
|
}
|
|
|
|
public void Reset()
|
|
{
|
|
OverrideCastShadow = false;
|
|
OverrideReceiveShadow = false;
|
|
OverrideDrawTrees = false;
|
|
OverrideEnableInstancing = false;
|
|
OverrideBillboardStart = false;
|
|
OverrideTreeDistance = false;
|
|
OverrideDrawGrasses = false;
|
|
OverrideGrassDistance = false;
|
|
OverrideGrassFadeStart = false;
|
|
|
|
CastShadow = GRuntimeSettings.Instance.renderingDefault.terrainCastShadow;
|
|
ReceiveShadow = GRuntimeSettings.Instance.renderingDefault.terrainReceiveShadow;
|
|
DrawTrees = GRuntimeSettings.Instance.renderingDefault.drawTrees;
|
|
EnableInstancing = GRuntimeSettings.Instance.renderingDefault.enableInstancing;
|
|
BillboardStart = GRuntimeSettings.Instance.renderingDefault.billboardStart;
|
|
TreeDistance = GRuntimeSettings.Instance.renderingDefault.treeDistance;
|
|
DrawGrasses = GRuntimeSettings.Instance.renderingDefault.drawGrasses;
|
|
GrassDistance = GRuntimeSettings.Instance.renderingDefault.grassDistance;
|
|
GrassFadeStart = GRuntimeSettings.Instance.renderingDefault.grassFadeStart;
|
|
}
|
|
|
|
public void Override(GRendering r)
|
|
{
|
|
if (OverrideCastShadow)
|
|
r.CastShadow = CastShadow;
|
|
if (OverrideReceiveShadow)
|
|
r.ReceiveShadow = ReceiveShadow;
|
|
if (OverrideDrawTrees)
|
|
r.DrawTrees = DrawTrees;
|
|
if (OverrideEnableInstancing)
|
|
r.EnableInstancing = EnableInstancing;
|
|
if (OverrideBillboardStart)
|
|
r.BillboardStart = BillboardStart;
|
|
if (OverrideTreeDistance)
|
|
r.TreeDistance = TreeDistance;
|
|
if (OverrideDrawGrasses)
|
|
r.DrawGrasses = DrawGrasses;
|
|
if (OverrideGrassDistance)
|
|
r.GrassDistance = GrassDistance;
|
|
if (OverrideGrassFadeStart)
|
|
r.GrassFadeStart = GrassFadeStart;
|
|
}
|
|
}
|
|
}
|
|
#endif
|