Roses/Assets/Scripts/View/Scene/GardenFlower.cs
2024-04-21 23:31:28 +02:00

31 lines
No EOL
1,017 B
C#

using System;
using System.Collections;
using UnityEngine;
using Animation = FramedAnimator.Animation;
using Animator = FramedAnimator.Animator;
using Random = UnityEngine.Random;
namespace View.Scene {
public class GardenFlower : MonoBehaviour {
[SerializeField] private SpriteRenderer sprite;
[SerializeField] private Animation[] randomAnimation;
[SerializeField] private Animator animator;
private static readonly int WindOffset = Shader.PropertyToID("_WindOffset");
[SerializeField] private float randomRotation;
[SerializeField] private float startRandomMaxDelay;
private void Awake() {
transform.rotation = Quaternion.Euler(0f, 0f, Random.Range(-randomRotation, randomRotation));
}
private IEnumerator Start() {
sprite.material.SetFloat(WindOffset, Random.Range(0f, 2f * Mathf.PI));
animator.ChangeAnimation(randomAnimation[Random.Range(0, randomAnimation.Length)]);
yield return new WaitForSeconds(Random.Range(0f, startRandomMaxDelay));
animator.PlayUntil(1f);
}
}
}