feat: Rose grow animation

This commit is contained in:
Gerard Gascón 2024-04-15 19:13:30 +02:00
parent f8a29f1501
commit 438b16fc6e
9 changed files with 186 additions and 4 deletions

View file

@ -0,0 +1,34 @@
using System;
using UnityEngine;
namespace FramedAnimator {
[RequireComponent(typeof(SpriteRenderer))]
public class FramedAnimator : MonoBehaviour {
[SerializeField] private Sprite[] sprites;
[SerializeField] private float frameRate;
private float _currentFrame;
private int _renderingFrame;
private int _limit;
private SpriteRenderer _renderer;
private void Awake() {
_renderer = GetComponent<SpriteRenderer>();
}
private void Update() {
if (_renderingFrame >= _limit)
return;
_currentFrame += Time.deltaTime * frameRate;
_renderingFrame = Mathf.Clamp(Mathf.FloorToInt(_currentFrame), 0, _limit);
_renderer.sprite = sprites[_renderingFrame];
}
public void PlayUntil(float fraction) {
_limit = Mathf.RoundToInt(sprites.Length * Mathf.Clamp(fraction, 0, 1));
_limit = Mathf.Clamp(_limit, 0, sprites.Length - 1);
}
}
}

View file

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 944498bf314d45ceb21a77b6ec4b0cfb
timeCreated: 1713199370

View file

@ -0,0 +1,3 @@
{
"name": "SantJordi.FramedAnimator"
}

View file

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 246088dd927065946b1746223fef2142
AssemblyDefinitionImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant: