32 lines
1007 B
C#
32 lines
1007 B
C#
using System;
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
|
|
namespace BITKit.Animations
|
|
{
|
|
public class OverrideAnimatorFallbackController : MonoBehaviour
|
|
{
|
|
[SerializeField, ReadOnly] private bool _isOverride;
|
|
[SerializeField, ReadOnly] private string _buildReport="None";
|
|
[SerializeField] private AnimatorOverrideController overrideController;
|
|
[SerializeField] private AnimatorOverrideController[] additionalOverrideControllers;
|
|
private void Start()
|
|
{
|
|
if (!overrideController) return;
|
|
if (!TryGetComponent<Animator>(out var animator) ||
|
|
animator.runtimeAnimatorController is not AnimatorOverrideController sourceController) return;
|
|
|
|
var controller = sourceController.CopyAndFillMissingContent(overrideController);
|
|
|
|
foreach (var additional in additionalOverrideControllers)
|
|
{
|
|
controller = controller.CopyAndFillMissingContent(additional);
|
|
}
|
|
animator.runtimeAnimatorController = controller;
|
|
_isOverride = true;
|
|
}
|
|
}
|
|
}
|
|
|