47 lines
1.2 KiB
C#
47 lines
1.2 KiB
C#
using UnityEngine;
|
|
|
|
public class CausticDecal : MonoBehaviour
|
|
{
|
|
public float maxAngle = 90f;
|
|
|
|
public float pushDistance = 0.009f;
|
|
|
|
public LayerMask affectedLayers = -1;
|
|
|
|
private void OnDrawGizmosSelected()
|
|
{
|
|
Gizmos.matrix = base.transform.localToWorldMatrix;
|
|
Gizmos.DrawWireCube(Vector3.zero, Vector3.one);
|
|
}
|
|
|
|
public Bounds GetBounds()
|
|
{
|
|
Vector3 lossyScale = base.transform.lossyScale;
|
|
Vector3 vector = -lossyScale / 2f;
|
|
Vector3 vector2 = lossyScale / 2f;
|
|
Vector3[] array = new Vector3[8]
|
|
{
|
|
new Vector3(vector.x, vector.y, vector.z),
|
|
new Vector3(vector2.x, vector.y, vector.z),
|
|
new Vector3(vector.x, vector2.y, vector.z),
|
|
new Vector3(vector2.x, vector2.y, vector.z),
|
|
new Vector3(vector.x, vector.y, vector2.z),
|
|
new Vector3(vector2.x, vector.y, vector2.z),
|
|
new Vector3(vector.x, vector2.y, vector2.z),
|
|
new Vector3(vector2.x, vector2.y, vector2.z)
|
|
};
|
|
for (int i = 0; i < 8; i++)
|
|
{
|
|
array[i] = base.transform.TransformDirection(array[i]);
|
|
}
|
|
vector = (vector2 = array[0]);
|
|
Vector3[] array2 = array;
|
|
foreach (Vector3 rhs in array2)
|
|
{
|
|
vector = Vector3.Min(vector, rhs);
|
|
vector2 = Vector3.Max(vector2, rhs);
|
|
}
|
|
return new Bounds(base.transform.position, vector2 - vector);
|
|
}
|
|
}
|