56 lines
1.6 KiB
C#
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);
|
|
}
|
|
}
|
|
}
|