架构大更
This commit is contained in:
@@ -1,16 +1,14 @@
|
||||
// Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Lofelt.NiceVibrations
|
||||
{
|
||||
public class DemoManager : MonoBehaviour
|
||||
{
|
||||
[Header("Demo")]
|
||||
public AudioSource DebugAudioEmphasis;
|
||||
[Header("Demo")] public AudioSource DebugAudioEmphasis;
|
||||
|
||||
public AudioSource DebugAudioContinuous;
|
||||
public MMUIShaker Logo;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,9 +1,7 @@
|
||||
// Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using UnityEngine.EventSystems;
|
||||
|
||||
namespace Lofelt.NiceVibrations
|
||||
{
|
||||
@@ -11,39 +9,43 @@ namespace Lofelt.NiceVibrations
|
||||
{
|
||||
public float Amplitude;
|
||||
public float Frequency;
|
||||
public bool Shaking = false;
|
||||
public bool Shaking;
|
||||
|
||||
protected Vector3 _initialPosition;
|
||||
protected Vector3 _shakePosition;
|
||||
protected RectTransform _rectTransform;
|
||||
protected Vector3 _shakePosition;
|
||||
|
||||
protected virtual void Start()
|
||||
{
|
||||
_rectTransform = this.gameObject.GetComponent<RectTransform>();
|
||||
_rectTransform = gameObject.GetComponent<RectTransform>();
|
||||
_initialPosition = _rectTransform.localPosition;
|
||||
}
|
||||
|
||||
protected virtual void Update()
|
||||
{
|
||||
if (!Shaking)
|
||||
{
|
||||
_rectTransform.localPosition = _initialPosition;
|
||||
}
|
||||
else
|
||||
{
|
||||
_shakePosition.x = Mathf.PerlinNoise(-Time.time * Frequency, Time.time * Frequency) * Amplitude -
|
||||
Amplitude / 2f;
|
||||
_shakePosition.y =
|
||||
Mathf.PerlinNoise(-(Time.time + 0.25f) * Frequency, Time.time * Frequency) * Amplitude -
|
||||
Amplitude / 2f;
|
||||
_shakePosition.z =
|
||||
Mathf.PerlinNoise(-(Time.time + 0.5f) * Frequency, Time.time * Frequency) * Amplitude -
|
||||
Amplitude / 2f;
|
||||
_rectTransform.localPosition = _initialPosition + _shakePosition;
|
||||
}
|
||||
}
|
||||
|
||||
public virtual IEnumerator Shake(float duration)
|
||||
{
|
||||
Shaking = true;
|
||||
yield return new WaitForSeconds(duration);
|
||||
Shaking = false;
|
||||
}
|
||||
|
||||
protected virtual void Update()
|
||||
{
|
||||
if (!Shaking)
|
||||
{
|
||||
_rectTransform.localPosition = _initialPosition;
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
_shakePosition.x = Mathf.PerlinNoise(-(Time.time) * Frequency, Time.time * Frequency) * Amplitude - Amplitude / 2f;
|
||||
_shakePosition.y = Mathf.PerlinNoise(-(Time.time + 0.25f) * Frequency, Time.time * Frequency) * Amplitude - Amplitude / 2f;
|
||||
_shakePosition.z = Mathf.PerlinNoise(-(Time.time + 0.5f) * Frequency, Time.time * Frequency) * Amplitude - Amplitude / 2f;
|
||||
_rectTransform.localPosition = _initialPosition + _shakePosition;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user