Files
2026-03-04 10:03:45 +08:00

56 lines
1.6 KiB
C#

using KWS;
using UFS2.Gameplay;
using UnityEngine;
public class LineRaycaster : MonoBehaviour
{
private KWS_InteractWithWater interactWithWater;
private int dynamicWavesAreaSizeOriginal;
private void Awake()
{
interactWithWater = GetComponentInChildren<KWS_InteractWithWater>();
if ((bool)interactWithWater)
{
interactWithWater.enabled = true;
}
if (WaterSharedResources.WaterInstances.Count > 0)
{
dynamicWavesAreaSizeOriginal = WaterSharedResources.WaterInstances[0].Settings.DynamicWavesAreaSize;
}
}
private void OnEnable()
{
GameCameraController.OnEnterInToWater += GameCameraController_OnEnterInToWater;
GameCameraController.OnExitFromWater += GameCameraController_OnExitFromWater;
}
private void OnDisable()
{
GameCameraController.OnEnterInToWater -= GameCameraController_OnEnterInToWater;
GameCameraController.OnExitFromWater -= GameCameraController_OnExitFromWater;
}
private void GameCameraController_OnEnterInToWater()
{
foreach (WaterSystem waterInstance in WaterSharedResources.WaterInstances)
{
waterInstance.Settings.UseDynamicWaves = true;
waterInstance.Settings.DynamicWavesAreaSize = dynamicWavesAreaSizeOriginal + 1;
waterInstance.ForceUpdateWaterSettings(WaterSystem.WaterTab.DynamicWaves);
}
}
private void GameCameraController_OnExitFromWater()
{
foreach (WaterSystem waterInstance in WaterSharedResources.WaterInstances)
{
waterInstance.Settings.UseDynamicWaves = true;
waterInstance.Settings.DynamicWavesAreaSize = dynamicWavesAreaSizeOriginal;
waterInstance.ForceUpdateWaterSettings(WaterSystem.WaterTab.DynamicWaves);
}
}
}