34 lines
866 B
C#
34 lines
866 B
C#
using UnityEngine;
|
|
using UnityEngine.Rendering.HighDefinition;
|
|
|
|
public class WaterCheckComponent : MonoBehaviour
|
|
{
|
|
private WaterSearchParameters waterSearchParameters;
|
|
|
|
private WaterSearchResult waterSearchResult;
|
|
|
|
public WaterSurface water;
|
|
|
|
private void Awake()
|
|
{
|
|
if (water == null)
|
|
{
|
|
water = Object.FindFirstObjectByType<WaterSurface>();
|
|
}
|
|
}
|
|
|
|
public bool IsInWater()
|
|
{
|
|
waterSearchParameters.startPositionWS = base.transform.position;
|
|
water.ProjectPointOnWaterSurface(waterSearchParameters, out waterSearchResult);
|
|
return base.transform.position.y < waterSearchResult.projectedPositionWS.y;
|
|
}
|
|
|
|
public bool IsInWater(Vector3 position)
|
|
{
|
|
waterSearchParameters.startPositionWS = position;
|
|
water.ProjectPointOnWaterSurface(waterSearchParameters, out waterSearchResult);
|
|
return position.y < waterSearchResult.projectedPositionWS.y;
|
|
}
|
|
}
|