Пример #1
0
 /// <summary>
 /// Registers a new animator parameter to the list
 /// </summary>
 /// <param name="parameterName">Parameter name.</param>
 /// <param name="parameterType">Parameter type.</param>
 protected virtual void RegisterAnimatorParameter(string parameterName, AnimatorControllerParameterType parameterType)
 {
     if (_animator.HasParameterOfType(parameterName, parameterType))
     {
         _character._animatorParameters.Add(parameterName);
     }
 }
Пример #2
0
        private void DrawExtrap(AnimatorControllerParameterType type, ref ParameterExtrapolation e)
        {
            Rect r = EditorGUILayout.GetControlRect(GUILayout.MaxWidth(COL3));

            ParameterExtrapolation newe;



            if (type == AnimatorControllerParameterType.Bool || type == AnimatorControllerParameterType.Trigger)
            {
                newe = (ParameterExtrapolation)EditorGUI.EnumPopup(r, extGC, (ParameterMissingHold)e, new GUIStyle("MiniPopup")
                {
                    margin = new RectOffset(0, 0, 0, 0)
                });
            }
            else
            {
                newe = (ParameterExtrapolation)EditorGUI.EnumPopup(r, extGC, e, new GUIStyle("MiniPopup")
                {
                    margin = new RectOffset(0, 0, 0, 0)
                });
            }

            if (newe != e)
            {
                Undo.RecordObject(target, "Modify Sync Animator");
                e = newe;
            }
        }
Пример #3
0
        private void SelectFilterIndex()
        {
            _filterIndex = EditorPrefs.GetInt(KeyFilterIndex, 0);
            switch (_currentFilter)
            {
            case Filter.StateEntered:
                _filterIndex = ClampIndex(_filterIndex, _broadcasterStateNames.Length);
                _filterIndex = EditorGUILayout.Popup("Filter", _filterIndex, _broadcasterStateNames);
                break;

            case Filter.ParameterName:
                _filterIndex = ClampIndex(_filterIndex, _receiverParameterNames.Length);
                _filterIndex = EditorGUILayout.Popup("Filter", _filterIndex, _receiverParameterNames);
                break;

            case Filter.ParameterType:
                AnimatorControllerParameterType typeFilter = (AnimatorControllerParameterType)_filterIndex;
                if (typeFilter != AnimatorControllerParameterType.Bool &&
                    typeFilter != AnimatorControllerParameterType.Int &&
                    typeFilter != AnimatorControllerParameterType.Float &&
                    typeFilter != AnimatorControllerParameterType.Trigger)
                {
                    typeFilter = AnimatorControllerParameterType.Bool;
                }
                typeFilter   = (AnimatorControllerParameterType)EditorGUILayout.EnumPopup("Filter", (System.Enum)typeFilter);
                _filterIndex = (int)typeFilter;
                break;
            }
            EditorPrefs.SetInt(KeyFilterIndex, _filterIndex);
        }
        private void DrawParameterSpecificField(VisualElement vis, AnimatorControllerParameterType animatorParameterType)
        {
            // -------------

            PropertyField propertyField;

            switch (animatorParameterType)
            {
            case AnimatorControllerParameterType.Bool:
                propertyField         = new PropertyField(_boolValue);
                propertyField.tooltip = "...";
                break;

            case AnimatorControllerParameterType.Float:
                propertyField         = new PropertyField(_floatValue);
                propertyField.tooltip = "...";
                break;

            case AnimatorControllerParameterType.Int:
                propertyField         = new PropertyField(_intValue);
                propertyField.tooltip = "...";
                break;

            default:
                return;
            }

            vis.Add(propertyField);

            // -------------
        }
Пример #5
0
        public override void OnInspectorGUI()
        {
            this.serializedObject.Update();

            EditorGUILayout.PropertyField(this.spAnimator, GUICONTENT_ANIMATOR);
            EditorGUILayout.Space();

            EditorGUILayout.PropertyField(this.spParameterName, GUICONTENT_PARAM_NAME);
            EditorGUILayout.PropertyField(this.spParameterType, GUICONTENT_PARAM_TYPE);
            int paramTypeInt = this.spParameterType.intValue;
            AnimatorControllerParameterType paramType = (AnimatorControllerParameterType)paramTypeInt;

            switch (paramType)
            {
            case AnimatorControllerParameterType.Int:
                EditorGUILayout.PropertyField(this.spParameterInteger, GUICONTENT_PARAM_INT);
                break;

            case AnimatorControllerParameterType.Float:
                EditorGUILayout.PropertyField(this.spParameterFloat, GUICONTENT_PARAM_FLO);
                break;

            case AnimatorControllerParameterType.Bool:
                EditorGUILayout.PropertyField(this.spParameterBool, GUICONTENT_PARAM_BOL);
                break;
            }

            this.serializedObject.ApplyModifiedProperties();
        }
Пример #6
0
    private object GetAnimatorParameterData(AnimatorControllerParameter param)
    {
        object result = null;
        AnimatorControllerParameterType type = param.type;

        if (type != AnimatorControllerParameterType.Int)
        {
            if (type != AnimatorControllerParameterType.Float)
            {
                if (type == AnimatorControllerParameterType.Bool)
                {
                    result = this.m_Animator.GetBool(param.nameHash);
                }
            }
            else
            {
                result = this.m_Animator.GetFloat(param.nameHash);
            }
        }
        else
        {
            result = this.m_Animator.GetInteger(param.nameHash);
        }
        return(result);
    }
        private void DrawButtonList(VisualElement vis, AnimatorControllerParameterType parameterType)
        {
            // -------------

            if (_animator != null)
            {
                List <string> properties = _animator.parameters
                                           .Where(x => x.type == parameterType)
                                           .Select(x => x.name)
                                           .ToList();

                foreach (string element in properties)
                {
                    Button btn = new Button(() =>
                    {
                        _animatorPropertyName.stringValue = element;
                        serializedObject.ApplyModifiedProperties();
                    })
                    {
                        text = element
                    };

                    btn.style.unityTextAlign = TextAnchor.MiddleLeft;
                    vis.Add(btn);
                }
            }

            // -------------
        }
	public void FillParameterArray(RuntimeAnimatorController animator,AnimatorControllerParameterType type){
		AnimatorController animatorController = animator as AnimatorController;
		List<string> parameterNames = new List<string> ();
		if (animatorController.parameterCount > 0) {
			for (int i=0; i< animatorController.parameterCount; i++) {
				if (animatorController.GetParameter (i).type == type) {
					parameterNames.Add (animatorController.GetParameter (i).name);
				}
			}
			switch(type){
			case AnimatorControllerParameterType.Bool:
				boolNames = parameterNames.ToArray ();
				break;
			case AnimatorControllerParameterType.Float:
				floatNames = parameterNames.ToArray ();
				break;
			case AnimatorControllerParameterType.Int:
				intNames = parameterNames.ToArray ();
				break;
			case AnimatorControllerParameterType.Trigger:
				triggerNames = parameterNames.ToArray ();
				break;
				
			}
		}
	}
Пример #9
0
    public void CreateAnimationUnit(string name, AnimatorControllerParameterType type, BoolVariable boolVariable = null, IntVariable intVariable = null, FloatVariable floatVariable = null, AtomEvent atomEvent = null)
    {
        AnimationUnit unit = ScriptableObject.CreateInstance <AnimationUnit>();

        unit.name = name;

        if (boolVariable != null)
        {
            unit.boolVariable = boolVariable;
            BoolEvent boolEvent = ScriptableObject.CreateInstance <BoolEvent>();
            boolVariable.Changed = boolEvent;
        }
        else if (intVariable != null)
        {
            unit.intVariable = intVariable;
            IntEvent intEvent = ScriptableObject.CreateInstance <IntEvent>();
            intVariable.Changed = intEvent;
        }
        else if (floatVariable != null)
        {
            unit.floatVariable = floatVariable;
            FloatEvent floatEvent = ScriptableObject.CreateInstance <FloatEvent>();
            floatVariable.Changed = floatEvent;
        }
        else if (atomEvent != null)
        {
            unit.atomEvent = atomEvent;
        }

        AddToAnimationUnits(unit);
        SetUpAnimationUnit(unit);
    }
 private void CreateParamIfNotExists(string paramName, AnimatorControllerParameterType type)
 {
     if (_animatorController.parameters.FirstOrDefault(param => param.name == paramName) == null)
     {
         _animatorController.AddParameter(paramName, type);
     }
 }
Пример #11
0
    void ModeAndThresholdPopUp(ref AnimatorConditionMode mode, ref float threshold, AnimatorControllerParameterType parameterType)
    {
        string[] displayedOptions = null;
        int[]    optionValues     = null;
        switch (parameterType)
        {
        case AnimatorControllerParameterType.Bool:
            displayedOptions = new string[] { "true", "false" };
            optionValues     = new int[] { (int)AnimatorConditionMode.If, (int)AnimatorConditionMode.IfNot };
            bool boolMode = EditorGUILayout.Toggle(mode == AnimatorConditionMode.If? true : false, GUILayout.MaxWidth(10f));
            mode = boolMode ? AnimatorConditionMode.If : AnimatorConditionMode.IfNot;
            break;

        case AnimatorControllerParameterType.Int:
            displayedOptions = new string[] { "<", "==", ">", "!=" };
            optionValues     = new int[] { (int)AnimatorConditionMode.Less, (int)AnimatorConditionMode.Equals, (int)AnimatorConditionMode.Greater, (int)AnimatorConditionMode.NotEqual };
            int intMode      = EditorGUILayout.IntPopup((int)mode, displayedOptions, optionValues);
            int intThreshold = EditorGUILayout.IntField((int)threshold);
            mode      = (AnimatorConditionMode)intMode;
            threshold = (int)intThreshold;
            break;

        case AnimatorControllerParameterType.Float:
            displayedOptions = new string[] { "<", ">" };
            optionValues     = new int[] { (int)AnimatorConditionMode.Less, (int)AnimatorConditionMode.Greater };
            int floatMode = EditorGUILayout.IntPopup((int)mode, displayedOptions, optionValues);
            mode      = (AnimatorConditionMode)floatMode;
            threshold = EditorGUILayout.FloatField(threshold);
            break;

        case AnimatorControllerParameterType.Trigger:
            break;
        }
    }
Пример #12
0
 public static bool AnimeParamSet(
     UnityEngine.Animator animator,
     Tuple <string, object> nameValue,
     AnimatorControllerParameterType type)
 {
     return(Utils.Animator.AnimeParamSet(animator, nameValue.Item1, nameValue.Item2, type));
 }
    public void FillParameterArray(RuntimeAnimatorController animator, AnimatorControllerParameterType type)
    {
        AnimatorController animatorController = animator as AnimatorController;
        List <string>      parameterNames     = new List <string> ();

        if (animatorController.parameterCount > 0)
        {
            for (int i = 0; i < animatorController.parameterCount; i++)
            {
                if (animatorController.GetParameter(i).type == type)
                {
                    parameterNames.Add(animatorController.GetParameter(i).name);
                }
            }
            switch (type)
            {
            case AnimatorControllerParameterType.Bool:
                boolNames = parameterNames.ToArray();
                break;

            case AnimatorControllerParameterType.Float:
                floatNames = parameterNames.ToArray();
                break;

            case AnimatorControllerParameterType.Int:
                intNames = parameterNames.ToArray();
                break;

            case AnimatorControllerParameterType.Trigger:
                triggerNames = parameterNames.ToArray();
                break;
            }
        }
    }
Пример #14
0
 protected Vrc3Param(string name, AnimatorControllerParameterType type, float amplifier = 1f)
 {
     Name       = name;
     Type       = type;
     HashId     = Animator.StringToHash(Name);
     _amplifier = amplifier;
 }
Пример #15
0
 public void CopyFrom(AnimatorControllerParameter parameter)
 {
     _name       = parameter.name;
     _type       = parameter.type;
     _intValue   = parameter.defaultInt;
     _floatValue = parameter.defaultFloat;
     _boolValue  = parameter.defaultBool;
 }
Пример #16
0
 public AnimatorParameterInfo(Animator animator, AnimatorControllerParameter animatorControllerParameter)
 {
     this.animator = animator;
     this.animatorControllerParameter = animatorControllerParameter;
     this.name  = this.animatorControllerParameter.name;
     this.value = this.GetValue();
     this.animatorControllerParameterType = animatorControllerParameter.type;
 }
Пример #17
0
 public void RegisterParameter(string name, out int parameter, AnimatorControllerParameterType type)
 {
     parameter = Animator.StringToHash(name);
     if (HasParameterOfType(name, type))
     {
         _availableParameters.Add(parameter);
     }
 }
Пример #18
0
 public void RewindTo(NetworkAnimatorParameter right)
 {
     ParamType  = right.ParamType;
     IntValue   = right.IntValue;
     FloatValue = right.FloatValue;
     BoolValue  = right.BoolValue;
     NameHash   = right.NameHash;
 }
Пример #19
0
 public void AddParameter(string name, AnimatorControllerParameterType type)
 {
     this.AddParameter(new AnimatorControllerParameter
     {
         name = this.MakeUniqueParameterName(name),
         type = type
     });
 }
Пример #20
0
 public void Bind(string parameter, Animator animator, AnimatorControllerParameterType type)
 {
     if (type == AnimatorControllerParameterType.Trigger)
     {
         _animator  = animator;
         _parameter = parameter;
     }
 }
Пример #21
0
 public void CopyData(AnimatorControllerParameter des)
 {
     name         = des.name;
     nameHash     = des.nameHash;
     type         = des.type;
     defaultFloat = des.defaultFloat;
     defaultInt   = des.defaultInt;
     defaultBool  = des.defaultBool;
 }
Пример #22
0
        public static AnimatorControllerParameter CreateParameter(string name, AnimatorControllerParameterType type)
        {
            //Create Normalized Parameter
            var param = new AnimatorControllerParameter();

            param.name = name;
            param.type = type;
            return(param);
        }
Пример #23
0
 public void ReadFromFile(System.IO.BinaryReader pReader)
 {
     name         = pReader.ReadString();
     nameHash     = pReader.ReadInt32();
     type         = (AnimatorControllerParameterType)pReader.ReadInt32();
     defaultFloat = pReader.ReadSingle();
     defaultInt   = pReader.ReadInt32();
     defaultBool  = pReader.ReadBoolean();
 }
Пример #24
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="name">Name of the animation parameter to modify.</param>
 /// <param name="parameterType">Type of the animation parameter to modify.</param>
 /// <param name="defaultInt">If the animation parameter type is an int, value to set. Ignored otherwise.</param>
 /// <param name="defaultFloat">If the animation parameter type is a float, value to set. Ignored otherwise.</param>
 /// <param name="defaultBool">"If the animation parameter type is a bool, value to set. Ignored otherwise.</param>
 public AnimatorParameter(string name, AnimatorControllerParameterType parameterType, int defaultInt = 0, float defaultFloat = 0f, bool defaultBool = false)
 {
     this.parameterType = parameterType;
     this.defaultInt    = defaultInt;
     this.defaultFloat  = defaultFloat;
     this.defaultBool   = defaultBool;
     this.name          = name;
     nameStringHash     = null;
 }
Пример #25
0
            public static bool AnimeParamSet(
                UnityEngine.Animator animator,
                string name,
                object value,
                AnimatorControllerParameterType type)
            {
                switch (type - 1)
                {
                case 0:
                    animator.SetFloat(name, (float)value);
                    break;

                case 2:
                    animator.SetInteger(name, (int)value);
                    break;

                case 3:
                    animator.SetBool(name, (bool)value);
                    break;

                default:
                    if (type != 9)
                    {
                        return(false);
                    }
                    switch (value)
                    {
                    case null:
                        animator.ResetTrigger(name);
                        break;

                    case bool flag:
                        if (flag)
                        {
                            animator.SetTrigger(name);
                            break;
                        }
                        animator.ResetTrigger(name);
                        break;

                    case int num:
                        if (num != 0)
                        {
                            animator.SetTrigger(name);
                            break;
                        }
                        animator.ResetTrigger(name);
                        break;

                    default:
                        animator.SetTrigger(name);
                        break;
                    }
                    break;
                }
                return(true);
            }
Пример #26
0
        public void AddParameter(string name, AnimatorControllerParameterType type)
        {
            AnimatorControllerParameter newParameter = new AnimatorControllerParameter();

            newParameter.name = MakeUniqueParameterName(name);
            newParameter.type = type;

            AddParameter(newParameter);
        }
Пример #27
0
 private static void DoAnimatorParameterPopup(GameObject go, AnimatorControllerParameterType parameterType, SkillString variable, object obj = null, FieldInfo field = null)
 {
     if (SkillEditorGUILayout.BrowseButton(go != null, string.Format(Strings.get_Tooltip_Browse_Animator_Parameters(), parameterType)))
     {
         StringEditor.editingVariable = variable;
         StringEditor.editingObject   = obj;
         StringEditor.editingField    = field;
         StringEditor.DoAnimatorParameterMenu(go, parameterType);
     }
 }
Пример #28
0
        public static AnimParam ReferenceTo(string name, AnimatorControllerParameterType type)
        {
            AnimParam p;

            p.type   = type;
            p._name  = name;
            p._id    = name == null ? 0 : Animator.StringToHash(name);
            p._value = 0;
            return(p);
        }
Пример #29
0
 public void  MergeFromPatch(NetworkAnimatorParameter from)
 {
     ParamType  = from._bitArray[0] ? from.ParamType : ParamType;
     NameHash   = from._bitArray[1] ? from.NameHash : NameHash;
     BoolValue  = from._bitArray[2] ? from.BoolValue : BoolValue;
     FloatValue = from._bitArray[3] ? from.FloatValue : FloatValue;
     IntValue   = from._bitArray[4] ? from.IntValue : IntValue;
     from._bitArray.ReleaseReference();
     from._bitArray = null;
 }
Пример #30
0
        /// <summary>
        /// Determines if an animator contains a certain parameter, based on a type and a name
        /// </summary>
        /// <returns><c>true</c> if has parameter of type the specified self name type; otherwise, <c>false</c>.</returns>
        /// <param name="self">Self.</param>
        /// <param name="name">Name.</param>
        /// <param name="type">Type.</param>
        public static bool HasParameterOfType(this Animator self, string name, AnimatorControllerParameterType type)
        {
            if (string.IsNullOrEmpty(name))
            {
                return(false);
            }
            var parameters = self.parameters;

            return(parameters.Any(currParam => currParam.type == type && currParam.name == name));
        }
Пример #31
0
        private void TypeLabel(Rect r, AnimatorControllerParameterType ptype)
        {
            string typeinit =
                ptype == AnimatorControllerParameterType.Bool ? "B" :
                ptype == AnimatorControllerParameterType.Int ? "I" :
                ptype == AnimatorControllerParameterType.Float ? "F" :
                "T";

            EditorGUI.LabelField(r, typeinit, (GUIStyle)"MiniLabel");
        }
Пример #32
0
 // Randomly set a trigger for the Animator on the GameObject
 void Start()
 {
     anim = GetComponent<Animator> ();
     acp = anim.parameters;
     paramType = AnimatorControllerParameterType.Bool;
     while (paramType != AnimatorControllerParameterType.Trigger){
         randomIndex = Random.Range (0, acp.Length); //Random.Range is exclusive for the 2nd value
         paramType = acp[randomIndex].type;
     }
     anim.SetTrigger (acp [randomIndex].name);
 }
 // Determines if an animator contains a certain parameter, based on a type and a name
 public static bool HasParameterOfType (this Animator self, string name, AnimatorControllerParameterType type)
 {
     var parameters = self.parameters;
     foreach (var currParam in parameters)
     {
         if (currParam.type == type && currParam.name == name)
         {
             return true;
         }
     }
     return false;
 }
Пример #34
0
 private List<string> CollectParameters(AnimatorController controller, AnimatorControllerParameterType type)
 {
     List<string> list = new List<string>();
     if (controller != null)
     {
         foreach (AnimatorControllerParameter parameter in controller.parameters)
         {
             if (parameter.type == type)
             {
                 list.Add(parameter.name);
             }
         }
     }
     return list;
 }
Пример #35
0
    object GetParameterValue(Animator anim, AnimatorControllerParameterType type, int nameHash)
    {
        switch (type) {
            case AnimatorControllerParameterType.Bool:
            case AnimatorControllerParameterType.Trigger:
                return anim.GetBool(nameHash);

            case AnimatorControllerParameterType.Float:
                return anim.GetFloat(nameHash);

            case AnimatorControllerParameterType.Int:
                return anim.GetInteger(nameHash);

            default:
                return null;
        }
    }
Пример #36
0
        public void parseXml(XmlElement elem)
        {
            clear();

            m_name = ExportUtil.getXmlAttrStr(elem.Attributes["name"]);
            string typeStr = ExportUtil.getXmlAttrStr(elem.Attributes["type"]);

            if(FLOAT == typeStr)
            {
                m_type = AnimatorControllerParameterType.Float;
            }
            else if (INT == typeStr)
            {
                m_type = AnimatorControllerParameterType.Int;
            }
            else if (BOOL == typeStr)
            {
                m_type = AnimatorControllerParameterType.Bool;
            }
            else if (TRIGGER == typeStr)
            {
                m_type = AnimatorControllerParameterType.Trigger;
            }
        }
Пример #37
0
 private void OnParametrizedValueGUI(string name, SerializedProperty value, SerializedProperty valueParameter, SerializedProperty valueParameterActive, AnimatorControllerParameterType parameterType)
 {
     EditorGUILayout.PropertyField(value, new GUILayoutOption[0]);
     if (this.controllerContext != null)
     {
         EditorGUI.indentLevel++;
         EditorGUILayout.BeginHorizontal(new GUILayoutOption[0]);
         List<string> list = this.CollectParameters(this.controllerContext, parameterType);
         if ((list.Count == 0) && valueParameterActive.boolValue)
         {
             EditorGUILayout.HelpBox(string.Format("Must have at least one Parameter of type {0} in the AnimatorController", parameterType.ToString()), MessageType.Error);
         }
         else
         {
             if ((valueParameterActive.boolValue && (valueParameter.stringValue == "")) && (list.Count > 0))
             {
                 valueParameter.stringValue = list[0];
             }
             using (new EditorGUI.DisabledScope(!valueParameterActive.boolValue))
             {
                 EditorGUI.BeginChangeCheck();
                 string str = EditorGUILayout.TextFieldDropDown(new GUIContent("Multiplier", "Parameter used as multiplier for speed."), valueParameter.stringValue, list.ToArray());
                 if (EditorGUI.EndChangeCheck())
                 {
                     valueParameter.stringValue = str;
                 }
             }
         }
         EditorGUI.indentLevel--;
         GUILayoutOption[] options = new GUILayoutOption[] { GUILayout.MaxWidth(100f) };
         valueParameterActive.boolValue = EditorGUILayout.ToggleLeft(new GUIContent("Parameter", "Use an AnimatorController's parameter to modulate this property at runtime."), valueParameterActive.boolValue, options);
         EditorGUILayout.EndHorizontal();
     }
 }
Пример #38
0
 private void OnParametrizedValueGUIOverride(string name, SerializedProperty value, SerializedProperty valueParameter, SerializedProperty valueParameterActive, AnimatorControllerParameterType parameterType)
 {
     if (this.controllerContext != null)
     {
         EditorGUILayout.BeginHorizontal(new GUILayoutOption[0]);
         if (valueParameterActive.boolValue)
         {
             List<string> list = this.CollectParameters(this.controllerContext, parameterType);
             if ((list.Count == 0) && valueParameterActive.boolValue)
             {
                 EditorGUILayout.HelpBox(string.Format("Must have at least one Parameter of type {0} in the AnimatorController", parameterType.ToString()), MessageType.Error);
             }
             else
             {
                 if ((valueParameterActive.boolValue && (valueParameter.stringValue == "")) && (list.Count > 0))
                 {
                     valueParameter.stringValue = list[0];
                 }
                 EditorGUI.BeginChangeCheck();
                 string str = EditorGUILayout.TextFieldDropDown(new GUIContent(name), valueParameter.stringValue, list.ToArray());
                 if (EditorGUI.EndChangeCheck())
                 {
                     valueParameter.stringValue = str;
                 }
             }
         }
         else
         {
             EditorGUILayout.PropertyField(value, new GUILayoutOption[0]);
         }
         GUILayoutOption[] options = new GUILayoutOption[] { GUILayout.MaxWidth(100f) };
         valueParameterActive.boolValue = EditorGUILayout.ToggleLeft(new GUIContent("Parameter", "Override this constant value with an AnimatorController's parameter to animate this property at runtime."), valueParameterActive.boolValue, options);
         EditorGUILayout.EndHorizontal();
     }
     else
     {
         EditorGUILayout.PropertyField(value, new GUILayoutOption[0]);
     }
 }
    /// <summary>
    /// Determines whether this instance can add event name the specified animatorController index.
    /// </summary>
    /// <returns>
    /// <c>true</c> if this instance can add event name the specified animatorController i; otherwise, <c>false</c>.
    /// </returns>
    /// <param name='animatorController'>
    /// If set to <c>true</c> animator controller.
    /// </param>
    /// <param name='index'>
    /// If set to <c>true</c> index.
    /// </param>

    bool CanAddEventName(AnimatorControllerParameterType animatorControllerParameterType)
    {
        return !(animatorParameterAttribute.parameterType != AnimatorParameterAttribute.ParameterType.None
                 && (int)animatorControllerParameterType != (int)animatorParameterAttribute.parameterType);
    }
 public AnimatorControllerParameterAttribute(AnimatorControllerParameterType paramType)
 {
     ParamType = paramType;
 }
Пример #41
0
 private object GetParameterValue(int i, AnimatorControllerParameterType type, Animator animator) {
     switch (type) {
         case AnimatorControllerParameterType.Float:
             return animator.GetFloat(i);
         case AnimatorControllerParameterType.Int:
             return animator.GetInteger(i);
         case AnimatorControllerParameterType.Bool:
             return animator.GetBool(i);
         case AnimatorControllerParameterType.Trigger:
             return animator.GetBool(i);
         default:
             return null;
     }
 }
 public static string[] GetAnimatorParams(Animator _anim, AnimatorControllerParameterType _t)
 {
     List<string> paramList = new List<string> ();
     paramList.Add("None");
     for (int i = 0; i < _anim.parameterCount; i++) {
         if (_anim.parameters [i].type == _t) {
             paramList.Add (_anim.parameters [i].name);
         }
     }
     return paramList.ToArray ();
 }