Files
2025-06-04 16:13:32 +09:30

444 lines
11 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using UnityEngine;
public class AttachmentWrapper : IAnimatorWrapper
{
public Animator[] animators;
public AttachmentWrapper(Animator[] animators)
{
this.animators = animators;
}
public bool IsValid => animators != null && animators.Length > 0;
public void CrossFade(string stateName, float transitionDuration)
{
foreach (var animator in animators)
{
animator.CrossFade(stateName, transitionDuration);
}
}
public void CrossFade(string stateName, float transitionDuration, int layer)
{
foreach (var animator in animators)
{
animator.CrossFade(stateName, transitionDuration, layer);
}
}
public void CrossFade(string stateName, float transitionDuration, int layer, float normalizedTime)
{
foreach (var animator in animators)
{
animator.CrossFade(stateName, transitionDuration, layer, normalizedTime);
}
}
public void CrossFade(int stateNameHash, float transitionDuration)
{
foreach (var animator in animators)
{
animator.CrossFade(stateNameHash, transitionDuration);
}
}
public void CrossFade(int stateNameHash, float transitionDuration, int layer)
{
foreach (var animator in animators)
{
animator.CrossFade(stateNameHash, transitionDuration, layer);
}
}
public void CrossFade(int stateNameHash, float transitionDuration, int layer, float normalizedTime)
{
foreach (var animator in animators)
{
animator.CrossFade(stateNameHash, transitionDuration, layer, normalizedTime);
}
}
public void CrossFadeInFixedTime(string stateName, float transitionDuration)
{
foreach (var animator in animators)
{
animator.CrossFadeInFixedTime(stateName, transitionDuration);
}
}
public void CrossFadeInFixedTime(string stateName, float transitionDuration, int layer)
{
foreach (var animator in animators)
{
animator.CrossFadeInFixedTime(stateName, transitionDuration, layer);
}
}
public void CrossFadeInFixedTime(string stateName, float transitionDuration, int layer, float fixedTime)
{
foreach (var animator in animators)
{
animator.CrossFadeInFixedTime(stateName, transitionDuration, layer, fixedTime);
}
}
public void CrossFadeInFixedTime(int stateNameHash, float transitionDuration)
{
foreach (var animator in animators)
{
animator.CrossFadeInFixedTime(stateNameHash, transitionDuration);
}
}
public void CrossFadeInFixedTime(int stateNameHash, float transitionDuration, int layer)
{
foreach (var animator in animators)
{
animator.CrossFadeInFixedTime(stateNameHash, transitionDuration, layer);
}
}
public void CrossFadeInFixedTime(int stateNameHash, float transitionDuration, int layer, float fixedTime)
{
foreach (var animator in animators)
{
animator.CrossFadeInFixedTime(stateNameHash, transitionDuration, layer, fixedTime);
}
}
public AnimatorTransitionInfo GetAnimatorTransitionInfo(int layerIndex)
{
return animators[0].GetAnimatorTransitionInfo(layerIndex);
}
public bool GetBool(string name)
{
return GetBool(Animator.StringToHash(name));
}
public bool GetBool(int id)
{
foreach (var animator in animators)
{
if (animator.GetBool(id))
return true;
}
return false;
}
public AnimatorClipInfo[] GetCurrentAnimatorClipInfo(int layerIndex)
{
return animators[0].GetCurrentAnimatorClipInfo(layerIndex);
}
public void GetCurrentAnimatorClipInfo(int layerIndex, List<AnimatorClipInfo> clips)
{
animators[0].GetCurrentAnimatorClipInfo(layerIndex, clips);
}
public int GetCurrentAnimatorClipInfoCount(int layerIndex)
{
return animators[0].GetCurrentAnimatorClipInfoCount(layerIndex);
}
public AnimatorStateInfo GetCurrentAnimatorStateInfo(int layerIndex)
{
return animators[0].GetCurrentAnimatorStateInfo(layerIndex);
}
public float GetFloat(string name)
{
return GetFloat(Animator.StringToHash(name));
}
public float GetFloat(int id)
{
foreach (var animator in animators)
{
float value = animator.GetFloat(id);
if (value != 0)
{
return value;
}
}
return 0;
}
public int GetInteger(string name)
{
return GetInteger(Animator.StringToHash(name));
}
public int GetInteger(int id)
{
foreach (var animator in animators)
{
int value = animator.GetInteger(id);
if (value != 0)
{
return value;
}
}
return 0;
}
public int GetLayerCount()
{
return animators[0].layerCount;
}
public int GetLayerIndex(string layerName)
{
return animators[0].GetLayerIndex(layerName);
}
public string GetLayerName(int layerIndex)
{
return animators[0].GetLayerName(layerIndex);
}
public float GetLayerWeight(int layerIndex)
{
return animators[0].GetLayerWeight(layerIndex);
}
public void GetNextAnimatorClipInfo(int layerIndex, List<AnimatorClipInfo> clips)
{
animators[0].GetNextAnimatorClipInfo(layerIndex, clips);
}
public AnimatorClipInfo[] GetNextAnimatorClipInfo(int layerIndex)
{
return animators[0].GetNextAnimatorClipInfo(layerIndex);
}
public int GetNextAnimatorClipInfoCount(int layerIndex)
{
return animators[0].GetNextAnimatorClipInfoCount(layerIndex);
}
public AnimatorStateInfo GetNextAnimatorStateInfo(int layerIndex)
{
return animators[0].GetNextAnimatorStateInfo(layerIndex);
}
public AnimatorControllerParameter GetParameter(int index)
{
return animators[0].GetParameter(index);
}
public int GetParameterCount()
{
return animators[0].parameterCount;
}
public bool HasState(int layerIndex, int stateID)
{
return animators[0].HasState(layerIndex, stateID);
}
public bool IsInTransition(int layerIndex)
{
return animators[0].IsInTransition(layerIndex);
}
public bool IsParameterControlledByCurve(string name)
{
return animators[0].IsParameterControlledByCurve(name);
}
public bool IsParameterControlledByCurve(int id)
{
return animators[0].IsParameterControlledByCurve(id);
}
public void Play(string stateName)
{
foreach (var animator in animators)
{
animator.Play(stateName);
}
}
public void Play(string stateName, int layer)
{
foreach (var animator in animators)
{
animator.Play(stateName, layer);
}
}
public void Play(string stateName, int layer, float normalizedTime)
{
foreach (var animator in animators)
{
animator.Play(stateName, layer, normalizedTime);
}
}
public void Play(int stateNameHash)
{
foreach (var animator in animators)
{
animator.Play(stateNameHash);
}
}
public void Play(int stateNameHash, int layer)
{
foreach (var animator in animators)
{
animator.Play(stateNameHash, layer);
}
}
public void Play(int stateNameHash, int layer, float normalizedTime)
{
foreach (var animator in animators)
{
animator.Play(stateNameHash, layer, normalizedTime);
}
}
public void PlayInFixedTime(string stateName)
{
foreach (var animator in animators)
{
animator.PlayInFixedTime(stateName);
}
}
public void PlayInFixedTime(string stateName, int layer)
{
foreach (var animator in animators)
{
animator.PlayInFixedTime(stateName, layer);
}
}
public void PlayInFixedTime(string stateName, int layer, float fixedTime)
{
foreach (var animator in animators)
{
animator.PlayInFixedTime(stateName, layer, fixedTime);
}
}
public void PlayInFixedTime(int stateNameHash)
{
foreach (var animator in animators)
{
animator.PlayInFixedTime(stateNameHash);
}
}
public void PlayInFixedTime(int stateNameHash, int layer)
{
foreach (var animator in animators)
{
animator.PlayInFixedTime(stateNameHash, layer);
}
}
public void PlayInFixedTime(int stateNameHash, int layer, float fixedTime)
{
foreach (var animator in animators)
{
animator.PlayInFixedTime(stateNameHash, layer, fixedTime);
}
}
public void ResetTrigger(string name)
{
foreach (var animator in animators)
{
animator.ResetTrigger(name);
}
}
public void ResetTrigger(int id)
{
foreach (var animator in animators)
{
animator.ResetTrigger(id);
}
}
public void SetBool(string name, bool value)
{
foreach (var animator in animators)
{
animator.SetBool(name, value);
}
}
public void SetBool(int id, bool value)
{
foreach (var animator in animators)
{
animator.SetBool(id, value);
}
}
public void SetFloat(string name, float value)
{
foreach (var animator in animators)
{
animator.SetFloat(name, value);
}
}
public void SetFloat(int id, float value)
{
foreach (var animator in animators)
{
animator.SetFloat(id, value);
}
}
public void SetInteger(string name, int value)
{
foreach (var animator in animators)
{
animator.SetInteger(name, value);
}
}
public void SetInteger(int id, int value)
{
foreach (var animator in animators)
{
animator.SetInteger(id, value);
}
}
public void SetLayerWeight(int layerIndex, float weight)
{
foreach (var animator in animators)
{
animator.SetLayerWeight(layerIndex, weight);
}
}
public void SetTrigger(string name)
{
foreach (var animator in animators)
{
animator.SetTrigger(name);
}
}
public void SetTrigger(int id)
{
foreach (var animator in animators)
{
animator.SetTrigger(id);
}
}
}