mirror of
https://github.com/tym1116/BH3.git
synced 2025-12-12 22:44:35 +01:00
37 lines
1.1 KiB
C#
37 lines
1.1 KiB
C#
using UnityEngine;
|
|
|
|
namespace MoleMole
|
|
{
|
|
public class MonoLightRectProb : MonoLightProb
|
|
{
|
|
public float xlen = 1f;
|
|
|
|
public float zlen = 1f;
|
|
|
|
public override bool Evaluate(Vector3 pos, LightProbProperties defaultProperties, ref LightProbProperties ret)
|
|
{
|
|
Vector3 vector = Matrix4x4.TRS(base.transform.position, base.transform.rotation, Vector3.one).inverse.MultiplyPoint3x4(pos);
|
|
float num = 0.5f * xlen;
|
|
float num2 = 0.5f * zlen;
|
|
if (vector.x > num || vector.x < 0f - num || vector.z > num2 || vector.z < 0f - num2)
|
|
{
|
|
return false;
|
|
}
|
|
float a = Mathf.Abs(vector.x) / num;
|
|
float b = Mathf.Abs(vector.z) / num2;
|
|
ret = LightProbProperties.Lerp(defaultProperties, properties, attenuateCurve.Evaluate(Mathf.Max(a, b)));
|
|
return true;
|
|
}
|
|
|
|
private void OnDrawGizmosSelected()
|
|
{
|
|
Color bodyColor = properties.bodyColor;
|
|
Matrix4x4 matrix = Matrix4x4.TRS(base.transform.position, base.transform.rotation, Vector3.one);
|
|
Gizmos.matrix = matrix;
|
|
bodyColor.a = 0.3f;
|
|
Gizmos.color = bodyColor;
|
|
Gizmos.DrawCube(new Vector3(0f, 0f, 0f), new Vector3(xlen, 0.1f, zlen));
|
|
}
|
|
}
|
|
}
|