BITKit/Packages/Runtime~/Unity/Common/Scripts/Animator/SetAnimatorParameters.cs

27 lines
779 B
C#
Raw Normal View History

2023-06-05 19:57:17 +08:00
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Cysharp.Threading.Tasks;
using System.Threading;
namespace BITKit
{
public class SetAnimatorParameters : Provider<float>
{
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);
}
}
}