using System.Collections; using System.Collections.Generic; using UnityEngine; using Cysharp.Threading.Tasks; using System.Threading; namespace BITKit { public class SetAnimatorParameters : Provider { public Animator animator; [SubclassSelector, SerializeReference] public References floatName; CancellationToken cancellationToken; void Start() { cancellationToken = gameObject.GetCancellationTokenOnDestroy(); } public override float Get() { return animator.GetFloat(floatName); } public override async void Set(float t) { await UniTask.SwitchToMainThread(cancellationToken); animator?.SetFloat(floatName, t); } } }