1
This commit is contained in:
@@ -0,0 +1,66 @@
|
||||
using UnityEngine;
|
||||
|
||||
namespace Lightbug.CharacterControllerPro.Demo
|
||||
{
|
||||
/// <summary>
|
||||
/// This ScriptableObject contains all the properties used by the volumes and the surfaces. Create many instances as you want to create different environments.
|
||||
/// </summary>
|
||||
[CreateAssetMenu(menuName = "Character Controller Pro/Demo/Materials/Material Properties")]
|
||||
public class MaterialsProperties : ScriptableObject
|
||||
{
|
||||
[SerializeField]
|
||||
Surface defaultSurface = new Surface();
|
||||
|
||||
[SerializeField]
|
||||
Volume defaultVolume = new Volume();
|
||||
|
||||
[SerializeField]
|
||||
Surface[] surfaces = null;
|
||||
|
||||
[SerializeField]
|
||||
Volume[] volumes = null;
|
||||
|
||||
public Surface DefaultSurface => defaultSurface;
|
||||
public Volume DefaultVolume => defaultVolume;
|
||||
public Surface[] Surfaces => surfaces;
|
||||
public Volume[] Volumes => volumes;
|
||||
|
||||
public bool GetSurface(GameObject gameObject, out Surface outputSurface)
|
||||
{
|
||||
outputSurface = null;
|
||||
|
||||
for (int i = 0; i < surfaces.Length; i++)
|
||||
{
|
||||
var surface = surfaces[i];
|
||||
|
||||
if (gameObject.CompareTag(surface.tagName))
|
||||
{
|
||||
outputSurface = surface;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public bool GetVolume(GameObject gameObject, out Volume outputVolume)
|
||||
{
|
||||
outputVolume = null;
|
||||
|
||||
for (int i = 0; i < volumes.Length; i++)
|
||||
{
|
||||
var volume = volumes[i];
|
||||
|
||||
if (gameObject.CompareTag(volume.tagName))
|
||||
{
|
||||
outputVolume = volume;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user