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

43 lines
971 B
C#

using System;
using UnityEngine.Rendering.HighDefinition;
public class WaterBody : MonoBehaviourExtended
{
public Action<bool> OnWaterChangeState;
private bool inWater;
private WaterSearchParameters waterSearchParameters;
private WaterSearchResult waterSearchResult;
public WaterSurface water;
public bool InWater => inWater;
private void Start()
{
water = MonoBehaviourSingleton<GameWater>.Instance.WaterSurface;
}
public void CheckIsInWater()
{
}
private void FixedUpdate()
{
waterSearchParameters.startPositionWS = base.transform.position;
water.ProjectPointOnWaterSurface(waterSearchParameters, out waterSearchResult);
if (!inWater && base.transform.position.y < waterSearchResult.projectedPositionWS.y)
{
OnWaterChangeState?.Invoke(obj: true);
inWater = true;
}
if (inWater && base.transform.position.y >= waterSearchResult.projectedPositionWS.y)
{
OnWaterChangeState?.Invoke(obj: false);
inWater = false;
}
}
}