chore: clean up and reorganize files

This commit is contained in:
2026-05-27 16:35:44 +02:00
parent b0ef8592a1
commit e61b9880da
216 changed files with 194 additions and 2780 deletions
@@ -0,0 +1,73 @@
#region Using statements
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
#endregion
namespace Unheimlich.VFX.StylisedWater
{
public class WaterVolumeHelper : MonoBehaviour
{
#region Private static fields
private static WaterVolumeHelper instance = null;
#endregion
#region Public fields
public WaterVolumeBase WaterVolume = null;
#endregion
#region Public static properties
public static WaterVolumeHelper Instance { get { return instance; } }
#endregion
#region Public methods
public float? GetHeight(Vector3 _position)
{
// ensure a water volume
if (!WaterVolume)
{
return 0f;
}
// ensure a material
var renderer = WaterVolume.gameObject.GetComponent<MeshRenderer>();
if (!renderer || !renderer.sharedMaterial)
{
return 0f;
}
// replicate the shader logic, using parameters pulled from the specific material, to return the height at the specified position
var waterHeight = WaterVolume.GetHeight(_position);
if (!waterHeight.HasValue)
{
return null;
}
var _WaveFrequency = renderer.sharedMaterial.GetFloat("_WaveFrequency");
var _WaveScale = renderer.sharedMaterial.GetFloat("_WaveScale");
var _WaveSpeed = renderer.sharedMaterial.GetFloat("_WaveSpeed");
var time = Time.time * _WaveSpeed;
var shaderOffset = (Mathf.Sin(_position.x * _WaveFrequency + time) + Mathf.Cos(_position.z * _WaveFrequency + time)) * _WaveScale;
return waterHeight.Value + shaderOffset;
}
#endregion
#region MonoBehaviour events
private void Awake()
{
instance = this;
}
#endregion
}
}