mirror of
https://github.com/SDraw/ml_mods_cvr.git
synced 2026-05-05 01:27:00 +00:00
Game build 2025r181 update
This commit is contained in:
parent
bab5346876
commit
569a521be4
35 changed files with 233 additions and 55 deletions
109
ml_ppu/AvatarParameter.cs
Normal file
109
ml_ppu/AvatarParameter.cs
Normal file
|
|
@ -0,0 +1,109 @@
|
|||
using ABI_RC.Core.Util.AnimatorManager;
|
||||
using System.Text.RegularExpressions;
|
||||
using UnityEngine;
|
||||
|
||||
namespace ml_ppu
|
||||
{
|
||||
class AvatarParameter
|
||||
{
|
||||
public readonly string m_name;
|
||||
public readonly int m_hash = 0;
|
||||
public readonly bool m_sync;
|
||||
public readonly AnimatorControllerParameterType m_type;
|
||||
readonly AvatarAnimatorManager m_manager = null;
|
||||
|
||||
public AvatarParameter(string p_name, AvatarAnimatorManager p_manager)
|
||||
{
|
||||
m_name = p_name;
|
||||
m_manager = p_manager;
|
||||
|
||||
Regex l_regex = new Regex("^#?" + p_name + '$');
|
||||
foreach(var l_param in m_manager.Animator.parameters)
|
||||
{
|
||||
if(l_regex.IsMatch(l_param.name))
|
||||
{
|
||||
m_name = l_param.name;
|
||||
m_sync = !l_param.name.StartsWith('#');
|
||||
m_hash = l_param.nameHash;
|
||||
m_type = l_param.type;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void SetValue(bool p_value)
|
||||
{
|
||||
if(m_hash != 0)
|
||||
{
|
||||
if(m_sync)
|
||||
m_manager.SetParameter(m_name, p_value);
|
||||
else
|
||||
{
|
||||
switch(m_type)
|
||||
{
|
||||
case AnimatorControllerParameterType.Bool:
|
||||
case AnimatorControllerParameterType.Trigger:
|
||||
m_manager.Animator.SetBool(m_hash, p_value);
|
||||
break;
|
||||
case AnimatorControllerParameterType.Int:
|
||||
m_manager.Animator.SetInteger(m_hash, p_value ? 1 : 0);
|
||||
break;
|
||||
case AnimatorControllerParameterType.Float:
|
||||
m_manager.Animator.SetFloat(m_hash, p_value ? 1f : 0f);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void SetValue(int p_value)
|
||||
{
|
||||
if(m_hash != 0)
|
||||
{
|
||||
if(m_sync)
|
||||
m_manager.SetParameter(m_name, p_value);
|
||||
else
|
||||
{
|
||||
switch(m_type)
|
||||
{
|
||||
case AnimatorControllerParameterType.Bool:
|
||||
case AnimatorControllerParameterType.Trigger:
|
||||
m_manager.Animator.SetBool(m_hash, p_value > 0);
|
||||
break;
|
||||
case AnimatorControllerParameterType.Int:
|
||||
m_manager.Animator.SetInteger(m_hash, p_value);
|
||||
break;
|
||||
case AnimatorControllerParameterType.Float:
|
||||
m_manager.Animator.SetFloat(m_hash, p_value);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void SetValue(float p_value)
|
||||
{
|
||||
if(m_hash != 0)
|
||||
{
|
||||
if(m_sync)
|
||||
m_manager.SetParameter(m_name, p_value);
|
||||
else
|
||||
{
|
||||
switch(m_type)
|
||||
{
|
||||
case AnimatorControllerParameterType.Bool:
|
||||
case AnimatorControllerParameterType.Trigger:
|
||||
m_manager.Animator.SetBool(m_hash, p_value > 0f);
|
||||
break;
|
||||
case AnimatorControllerParameterType.Int:
|
||||
m_manager.Animator.SetInteger(m_hash, (int)p_value);
|
||||
break;
|
||||
case AnimatorControllerParameterType.Float:
|
||||
m_manager.Animator.SetFloat(m_hash, p_value);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue