diff options
| author | chai <215380520@qq.com> | 2024-05-19 16:05:01 +0800 |
|---|---|---|
| committer | chai <215380520@qq.com> | 2024-05-19 16:05:01 +0800 |
| commit | c5f145786f4c6d2fe4bea831dfc16e52228920a5 (patch) | |
| tree | a6ead7ea8266c767d58ed0f816dcd7a1dd75bd65 /Thronefall_1_0/GameCode/SuperSimpleOceanAnimation.cs | |
| parent | 48b64e573a1709dc923cb9162b55be0246b3ff63 (diff) | |
* move
Diffstat (limited to 'Thronefall_1_0/GameCode/SuperSimpleOceanAnimation.cs')
| -rw-r--r-- | Thronefall_1_0/GameCode/SuperSimpleOceanAnimation.cs | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/Thronefall_1_0/GameCode/SuperSimpleOceanAnimation.cs b/Thronefall_1_0/GameCode/SuperSimpleOceanAnimation.cs new file mode 100644 index 0000000..f30e181 --- /dev/null +++ b/Thronefall_1_0/GameCode/SuperSimpleOceanAnimation.cs @@ -0,0 +1,47 @@ +using System; +using UnityEngine; + +public class SuperSimpleOceanAnimation : MonoBehaviour +{ + private Vector3 startPosition; + + private float time; + + [SerializeField] + private Vector3 waveHeight; + + [SerializeField] + private float waveFrequency = 0.5f; + + [SerializeField] + private Vector3 waveSideways; + + [SerializeField] + private float waveSidewaysFrequency = 0.5f; + + [SerializeField] + private Material targetMaterial; + + [SerializeField] + private float panSpeed = 2f; + + private Vector2 offset; + + private void Start() + { + startPosition = base.transform.position; + } + + private void Update() + { + time += Time.deltaTime; + offset.x = time * panSpeed; + base.transform.position = startPosition; + base.transform.position += waveHeight * Mathf.Sin(time * waveFrequency * MathF.PI); + base.transform.position += waveSideways * Mathf.Sin(time * waveSidewaysFrequency * MathF.PI); + if (targetMaterial != null) + { + targetMaterial.SetTextureOffset("_BaseMap", offset); + } + } +} |
