49 lines
1.3 KiB
C#
49 lines
1.3 KiB
C#
using UnityEngine;
|
|
|
|
namespace AllIn1VfxToolkit.Demo.Scripts
|
|
{
|
|
public class AllIn1DemoScaleTween : MonoBehaviour
|
|
{
|
|
[SerializeField] private float maxTweenScale = 2.0f;
|
|
[SerializeField] private float minTweenScale = 0.8f;
|
|
[SerializeField] private float tweenSpeed = 15f;
|
|
|
|
private bool isTweening = false;
|
|
private float currentScale = 1f;
|
|
private Vector3 scaleToApply = Vector3.one;
|
|
|
|
private void Update()
|
|
{
|
|
if(!isTweening) return;
|
|
currentScale = Mathf.Lerp(currentScale, 1f, Time.unscaledDeltaTime * tweenSpeed);
|
|
UpdateScaleToApply();
|
|
ApplyScale();
|
|
if(Mathf.Abs(currentScale - 1f) < 0.02f) isTweening = false;
|
|
}
|
|
|
|
private void UpdateScaleToApply()
|
|
{
|
|
scaleToApply.x = currentScale;
|
|
scaleToApply.y = currentScale;
|
|
}
|
|
|
|
private void ApplyScale()
|
|
{
|
|
transform.localScale = scaleToApply;
|
|
}
|
|
|
|
public void ScaleUpTween()
|
|
{
|
|
isTweening = true;
|
|
currentScale = maxTweenScale;
|
|
UpdateScaleToApply();
|
|
}
|
|
|
|
public void ScaleDownTween()
|
|
{
|
|
isTweening = true;
|
|
currentScale = minTweenScale;
|
|
UpdateScaleToApply();
|
|
}
|
|
}
|
|
} |