Files
Ultimate-Fishing-Simulator-…/Assets/Scripts/Assembly-CSharp/ShoreDecalTrigger.cs
2026-03-04 09:37:33 +08:00

48 lines
1.2 KiB
C#

using UnityEngine;
using UnityEngine.Rendering.HighDefinition;
[ExecuteInEditMode]
public class ShoreDecalTrigger : MonoBehaviour
{
public WaterSurface waterSurface;
public GameObject decalGameObject;
private WaterSearchParameters searchParameters;
private WaterSearchResult searchResult;
private void Start()
{
decalGameObject.SetActive(value: false);
}
private void Update()
{
if (waterSurface != null)
{
searchParameters.startPositionWS = searchResult.candidateLocationWS;
searchParameters.targetPositionWS = base.gameObject.transform.position;
searchParameters.error = 0.01f;
searchParameters.maxIterations = 8;
searchParameters.includeDeformation = true;
searchParameters.excludeSimulation = true;
if (waterSurface.ProjectPointOnWaterSurface(searchParameters, out searchResult) && searchResult.projectedPositionWS.y > base.transform.position.y && !decalGameObject.activeSelf)
{
ActivateDecal();
}
}
}
private void ActivateDecal()
{
if (decalGameObject != null)
{
decalGameObject.transform.parent = base.transform;
decalGameObject.transform.localPosition = Vector3.zero;
decalGameObject.transform.localEulerAngles = new Vector3(90f, 0f, -90f);
decalGameObject.SetActive(value: true);
}
}
}