public virtual void Init() { animator = GetComponent <Animator>(); if (animator) { hitDirectionHash = new AnimatorParameter(animator, "HitDirection"); reactionIDHash = new AnimatorParameter(animator, "ReactionID"); triggerReactionHash = new AnimatorParameter(animator, "TriggerReaction"); triggerResetStateHash = new AnimatorParameter(animator, "ResetState"); recoilIDHash = new AnimatorParameter(animator, "RecoilID"); triggerRecoilHash = new AnimatorParameter(animator, "TriggerRecoil"); } var actionListeners = GetComponents <vActions.vActionListener>(); for (int i = 0; i < actionListeners.Length; i++) { if (actionListeners[i].actionEnter) { onActionEnter.AddListener(actionListeners[i].OnActionEnter); } if (actionListeners[i].actionStay) { onActionStay.AddListener(actionListeners[i].OnActionStay); } if (actionListeners[i].actionExit) { onActionExit.AddListener(actionListeners[i].OnActionExit); } } }
/// <summary> /// Based on the type of animator state info pass it through to the animator /// </summary> /// <param name="animationParameter"></param> protected void SetAnimatorParameter(AnimatorParameter animationParameter) { // Return if we do not have an animator if (CursorAnimator == null) { return; } switch (animationParameter.Type) { case AnimatorControllerParameterType.Bool: CursorAnimator.SetBool(animationParameter.NameHash, animationParameter.DefaultBool); break; case AnimatorControllerParameterType.Float: CursorAnimator.SetFloat(animationParameter.NameHash, animationParameter.DefaultFloat); break; case AnimatorControllerParameterType.Int: CursorAnimator.SetInteger(animationParameter.NameHash, animationParameter.DefaultInt); break; case AnimatorControllerParameterType.Trigger: CursorAnimator.SetTrigger(animationParameter.NameHash); break; } }
public static void SetParameter(this Animator animator, AnimatorParameter parameter) { var paramId = Animator.StringToHash(parameter.name); switch (parameter.type) { case AnimatorParameter.AnimatorParamType.Int: animator.SetInteger(paramId, parameter.intValue); break; case AnimatorParameter.AnimatorParamType.Float: animator.SetFloat(paramId, parameter.floatValue); break; case AnimatorParameter.AnimatorParamType.Bool: animator.SetBool(paramId, parameter.boolValue); break; case AnimatorParameter.AnimatorParamType.Trigger: animator.SetTrigger(paramId); break; default: throw new ArgumentOutOfRangeException(); } }
/// <summary> /// Based on the type of animator state info pass it through to the animator /// </summary> /// <param name="animationParameter"></param> private void SetAnimatorParameter(AnimatorParameter animationParameter) { // Return if we do not have an animator if (cursorAnimator == null || !cursorAnimator.isInitialized) { return; } switch (animationParameter.ParameterType) { case AnimatorControllerParameterType.Bool: cursorAnimator.SetBool(animationParameter.NameHash, animationParameter.DefaultBool); break; case AnimatorControllerParameterType.Float: cursorAnimator.SetFloat(animationParameter.NameHash, animationParameter.DefaultFloat); break; case AnimatorControllerParameterType.Int: cursorAnimator.SetInteger(animationParameter.NameHash, animationParameter.DefaultInt); break; case AnimatorControllerParameterType.Trigger: cursorAnimator.SetTrigger(animationParameter.NameHash); break; } }
public AnimatorParameter GetParameters(string parameterName) { AnimatorParameter result = null; _Parameters.TryGetValue(parameterName, out result); return(result); }
static void CreateContextMenu(MenuCommand menuCommand) { if (CheckMenu()) { AnimatorParameter p = AutoPipe.CreateGameObjectWithComponent <AnimatorParameter>(menuCommand); p.animator = (menuCommand.context as GameObject).GetComponent <Animator>(); } }
public void CacheParameters() { parameterCache = new AnimatorParameter[animator.parameters.Length]; for (int i = 0; i < animator.parameters.Length; i++) { AnimatorControllerParameter paramInfo = animator.parameters[i]; parameterCache[i] = new AnimatorParameter(animator, paramInfo.type, paramInfo.name); } }
public static List <AnimatorParameter> MapAnimatorToParameters(this Animator animator, List <AnimatorParameter> parameters) { for (int i = 0; i < animator.parameters.Length; i++) { var p = animator.parameters[i]; var ap = new AnimatorParameter(animator, p.name, p.type); parameters.Add(ap); } return(parameters); }
public AnimatorParameter AddParameter(AssetParameter.Parameter pam) { if (!m_Params.ContainsKey(pam.name)) { AnimatorParameter item = new AnimatorParameter(pam, m_Params.Count); m_Params.Add(item.name, item); m_ParamList.Add(item); } return(m_Params[pam.name]); }
/// <inheritdoc /> protected override void RenderMemberControl(Rect position) { var options = GetNameOptions(); DropdownOption <AnimatorParameter> selectedOption = null; DropdownOption <AnimatorParameter> noneOption = new DropdownOption <AnimatorParameter>(null, "No Parameter"); AnimatorParameter value = GetValue(); if (value != null) { string label = value.name; AnimatorParameter valueInOptions = options.Select(option => option.value).FirstOrDefault(ap => ap.Corresponds(value)); if (valueInOptions != null) { selectedOption = new DropdownOption <AnimatorParameter>(valueInOptions, label); } else { selectedOption = new DropdownOption <AnimatorParameter>(value, label); } } // Make sure the callback uses the property of this drawer, not at its later value. var propertyNow = property; bool enabled = targets.Any(target => target != null); if (!enabled) { EditorGUI.BeginDisabledGroup(true); } DropdownGUI <AnimatorParameter> .PopupSingle ( position, newValue => { Update(propertyNow); SetValue(newValue); propertyNow.serializedObject.ApplyModifiedProperties(); }, options, selectedOption, noneOption, nameProperty.hasMultipleDifferentValues ); if (!enabled) { EditorGUI.EndDisabledGroup(); } }
/// <summary> /// Assigns the property values from a specified animator parameter. /// </summary> protected void SetValue(AnimatorParameter value) { if (value != null) { nameProperty.stringValue = value.name; } else { nameProperty.stringValue = null; } }
ValueDropdownList <string> GetAnimatorParameters() { var list = new ValueDropdownList <string>(); var anim = GetCurrentController(); if (!anim) { list.Add(ConditionalValue); } else { foreach (var param in anim.parameters) { dynamic newParam; switch (param.type) { case AnimatorControllerParameterType.Float: newParam = new AnimatorParameter <float>(); break; case AnimatorControllerParameterType.Int: newParam = new AnimatorParameter <int>(); break; case AnimatorControllerParameterType.Bool: newParam = new AnimatorParameter <bool>(); break; case AnimatorControllerParameterType.Trigger: continue; default: continue; } list.Add(newParam, param.name); } } return(list); }
/// <summary> /// Constructor. /// </summary> /// <param name="name">Name of the animation state for the cursor.</param> /// <param name="cursorState">The enum state for the cursor's animation.</param> /// <param name="parameter">The linked animation parameter to used for the cursor state.</param> public AnimatedCursorData(string name, CursorStateEnum cursorState, AnimatorParameter parameter) { this.name = name; this.cursorState = cursorState; this.parameter = parameter; }
public void SetFloat(AnimatorParameter param, float value) => SetFloat(animator, param, value);
public AnimatorParameterAttribute(AnimatorParameter type) { this.type = type; }
public void SetFloat(Animator anim, AnimatorParameter param, float value) => SetAnimatorFloat(anim, param.ID, value);
public int GetInteger(AnimatorParameter param) => GetInteger(animator, param);
public void SetInteger(Animator anim, AnimatorParameter param, int value) => SetAnimatorInteger(anim, param.ID, value);
public void SetBool(AnimatorParameter param, bool value) => SetBool(animator, param, value);
public void SetBool(Animator anim, AnimatorParameter param, bool value) => SetAnimatorBool(anim, param.ID, value);
public void SetTrigger(AnimatorParameter param) => SetTrigger(animator, param);
public void SetTrigger(Animator anim, AnimatorParameter param) => SetAnimatorTrigger(anim, param.ID);
public float GetFloat(Animator anim, AnimatorParameter param) => GetAnimatorFloat(anim, param.ID);
public bool GetBool(AnimatorParameter param) => GetBool(animator, param);
public int GetInteger(Animator anim, AnimatorParameter param) => GetAnimatorInteger(anim, param.ID);
public AnimatorParameterAttribute(AnimatorParameter type){ this.type = type; }
public void SetInteger(AnimatorParameter param, int value) => SetInteger(animator, param, value);
public float GetFloat(AnimatorParameter param) => GetFloat(animator, param);
public bool GetBool(Animator anim, AnimatorParameter param) => GetAnimatorBool(anim, param.ID);