Initial commit
This commit is contained in:
77
code-csharp/en_US/UI_ScrollingRawImage.cs
Normal file
77
code-csharp/en_US/UI_ScrollingRawImage.cs
Normal file
@ -0,0 +1,77 @@
|
||||
using System.Collections;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
public class UI_ScrollingRawImage : MonoBehaviour
|
||||
{
|
||||
[SerializeField]
|
||||
private RawImage _img;
|
||||
|
||||
[SerializeField]
|
||||
private float _x;
|
||||
|
||||
[SerializeField]
|
||||
private float _y;
|
||||
|
||||
[SerializeField]
|
||||
private bool AffectedBySimplifyVFX;
|
||||
|
||||
[Header("Random Controls")]
|
||||
[SerializeField]
|
||||
private bool SlowlyRandom;
|
||||
|
||||
[SerializeField]
|
||||
private float _xMin;
|
||||
|
||||
[SerializeField]
|
||||
private float _yMin;
|
||||
|
||||
[SerializeField]
|
||||
private float _xMax;
|
||||
|
||||
[SerializeField]
|
||||
private float _yMax;
|
||||
|
||||
[SerializeField]
|
||||
private float RandomSpeed;
|
||||
|
||||
private bool simplifyvfx;
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
if (SlowlyRandom)
|
||||
{
|
||||
StartCoroutine(RandomChange());
|
||||
}
|
||||
if (AffectedBySimplifyVFX)
|
||||
{
|
||||
StartCoroutine(SettingsCheckTick());
|
||||
}
|
||||
}
|
||||
|
||||
private void Update()
|
||||
{
|
||||
if (!simplifyvfx)
|
||||
{
|
||||
_img.uvRect = new Rect(_img.uvRect.position + new Vector2(_x, _y) * Time.unscaledDeltaTime, _img.uvRect.size);
|
||||
}
|
||||
}
|
||||
|
||||
private IEnumerator RandomChange()
|
||||
{
|
||||
if (!simplifyvfx)
|
||||
{
|
||||
_x = Mathf.Lerp(_x, Random.Range(_xMin, _xMax), RandomSpeed * Time.unscaledDeltaTime);
|
||||
_y = Mathf.Lerp(_y, Random.Range(_yMin, _yMax), RandomSpeed * Time.unscaledDeltaTime);
|
||||
}
|
||||
yield return new WaitForSecondsRealtime(0.25f);
|
||||
StartCoroutine(RandomChange());
|
||||
}
|
||||
|
||||
private IEnumerator SettingsCheckTick()
|
||||
{
|
||||
yield return new WaitForSecondsRealtime(0.25f);
|
||||
simplifyvfx = SettingsManager.Instance.GetBoolSettingValue("SimpleVFX");
|
||||
StartCoroutine(SettingsCheckTick());
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user