Пример #1
0
 void DeactivateAnimationParameter(AnimationParameter animParam)
 {
     if (animParam.paramDatatype == AnimationParameterDatatype.Bool)
     {
         AnimationController.SetBool(animParam.name, false);
     }
 }
    public CharacterAnimationController(UISprite targetSprite)
    {
        sprite = targetSprite;
        var list = targetSprite.atlas.GetListOfSprites();

        parameter = new AnimationParameter(list);
    }
 public MapChipAnimationController(UISprite targetSprite)
 {
     sprite = targetSprite;
     var list = targetSprite.atlas.GetListOfSprites();
     parameter = new AnimationParameter(list);
     parameter.pattern = MAPCHIP;
 }
    public MapChipAnimationController(UISprite targetSprite)
    {
        sprite = targetSprite;
        var list = targetSprite.atlas.GetListOfSprites();

        parameter         = new AnimationParameter(list);
        parameter.pattern = MAPCHIP;
    }
        public void SetParameter(AnimationParameter parameter)
        {
            int id;

            if (m_parametersDictionary.TryGetValue (parameter, out id))
            {
                m_animator.SetTrigger (id);
            }
        }
        private void DrawTypeField(Rect position, AnimationParameter animParameter)
        {
            var value = animParameter.ParameterType;

            var newValue = (AnimatorControllerParameterType)EditorGUI.EnumPopup(position, "Parameter Type ", value);

            if (newValue != value)
            {
                animParameter.ParameterType = newValue;
            }
        }
        private void DrawBoolField(Rect position, AnimationParameter animParameter)
        {
            var value = animParameter.BoolValue;

            var newValue = EditorGUI.Toggle(position, "Value ", value);

            if (newValue != value)
            {
                animParameter.BoolValue = newValue;
            }
        }
        private void DrawIntField(Rect position, AnimationParameter animParameter)
        {
            var value = animParameter.IntValue;

            var newValue = EditorGUI.IntField(position, "Value ", value);

            if (newValue != value)
            {
                animParameter.IntValue = newValue;
            }
        }
Пример #9
0
 void ActivateAnimationParameter(AnimationParameter animParam)
 {
     if (animParam.paramDatatype == AnimationParameterDatatype.Trigger)
     {
         AnimationController.SetTrigger(animParam.name);
     }
     else if (animParam.paramDatatype == AnimationParameterDatatype.Bool)
     {
         AnimationController.SetBool(animParam.name, true);
     }
 }
        private void DrawKeyField(Rect position, AnimationParameter animParameter)
        {
            var key = animParameter.Key;

            var newKey = EditorGUI.TextField(position, "Key ", key);

            if (newKey != key)
            {
                animParameter.Key = newKey;
            }
        }
Пример #11
0
        public static void SetAnimation(this Animator animator, AnimationParameter animation, object value = null)
        {
            var animationToSet = animator.parameters.Where(acp => acp.name == animation.ToAnimationName()).FirstOrDefault();

            if (animationToSet == null)
            {
                Debug.LogWarning("Cannot find animation in the current animator. Defines it in your animator controller.", animator);
                return;
            }

            animator.SetAnimation(animationToSet, value);
        }
        private void DrawFloatField(Rect position, AnimationParameter animParameter)
        {
            var value = animParameter.FloatValue;

            var newValue = EditorGUI.FloatField(position, "Value ", value);

            // ReSharper disable once CompareOfFloatsByEqualityOperator
            if (newValue != value)
            {
                animParameter.FloatValue = newValue;
            }
        }
        public static string ToAnimationName(this AnimationParameter animationParameter)
        {
            switch (animationParameter)
            {
                #region Triggers

            case AnimationParameter.Attack:
                return(AnimationNames.Trigger.Attack);

            case AnimationParameter.Damaged:
                return(AnimationNames.Trigger.Damaged);

            case AnimationParameter.Dash:
                return(AnimationNames.Trigger.Dash);

            case AnimationParameter.Death:
                return(AnimationNames.Trigger.Death);

            case AnimationParameter.DeathIdle:
                return(AnimationNames.Trigger.DeathIdle);

            case AnimationParameter.Fire:
                return(AnimationNames.Trigger.Fire);

            case AnimationParameter.Open:
                return(AnimationNames.Trigger.Open);

            case AnimationParameter.Intro:
                return(AnimationNames.Trigger.Intro);

                #endregion

                #region Booleans

            case AnimationParameter.IsAttacking:
                return(AnimationNames.Boolean.IsAttacking);

            case AnimationParameter.IsJumping:
                return(AnimationNames.Boolean.IsJumping);

            case AnimationParameter.IsMoving:
                return(AnimationNames.Boolean.IsMoving);

            case AnimationParameter.IsPlayerDetected:
                return(AnimationNames.Boolean.IsPlayerDetected);

                #endregion

            default:
                return(string.Empty);
            }
        }
        public void OnAnimation(AnimationParameter parameter)
        {
            m_animationStrategy.SetParameter (parameter);

            switch (parameter)
            {
                case AnimationParameter.Idle:
                    m_currentState = HeroineState.Idle;
                    break;
                case AnimationParameter.Walk:
                    m_currentState = HeroineState.Walk;
                    break;
                default:
                    break;
            }

            print ("OnAnimation: " + m_currentState);
        }
Пример #15
0
    // アニメーションのパラメータ設定
    public void SetAnimationParameter(AnimationParameter param, object value = null)
    {
        switch (param.m_Type)
        {
        case AnimationParameter.Type.Float:
            m_Animator.SetFloat(param.m_Index, (float)value);
            break;

        case AnimationParameter.Type.Int:
            m_Animator.SetInteger(param.m_Index, (int)value);
            break;

        case AnimationParameter.Type.Bool:
            m_Animator.SetBool(param.m_Index, (bool)value);
            break;

        case AnimationParameter.Type.Trigger:
            m_Animator.SetTrigger(param.m_Index);
            break;
        }
    }
Пример #16
0
    IEnumerator PlayAnimation(AnimationParameter param)
    {
        yield return(new WaitForSeconds(param.delay));

        if (param.parameterType == AnimationParameter.ParameterType.Trigger && active)
        {
            anim.SetTrigger(param.parameterName);
        }
        else if (param.parameterType == AnimationParameter.ParameterType.Bool && active)
        {
            anim.SetBool(param.parameterName, param.boolValue);
        }
        else if (param.parameterType == AnimationParameter.ParameterType.Float && active)
        {
            anim.SetFloat(param.parameterName, param.floatValue);
        }
        else if (param.parameterType == AnimationParameter.ParameterType.Int && active)
        {
            anim.SetInteger(param.parameterName, param.intValue);
        }
    }
        private void DrawValueField(Rect position, AnimationParameter animParameter)
        {
            var type = animParameter.ParameterType;

            switch (type)
            {
            case AnimatorControllerParameterType.Float:
                DrawFloatField(position, animParameter);
                break;

            case AnimatorControllerParameterType.Int:
                DrawIntField(position, animParameter);
                break;

            default:
            case AnimatorControllerParameterType.Bool:
                DrawBoolField(position, animParameter);
                break;

            case AnimatorControllerParameterType.Trigger:
                DrawTriggerField(position, animParameter);
                break;
            }
        }
Пример #18
0
 public static void Set(AnimationParameter parameter)
 {
     s_instance.animatorParameters[(int)parameter].Set();
 }
 public CharacterAnimationController(UISprite targetSprite)
 {
     sprite = targetSprite;
     var list = targetSprite.atlas.GetListOfSprites();
     parameter = new AnimationParameter(list);
 }
Пример #20
0
 public static void UnSet(AnimationParameter parameter, Animator animator)
 {
     s_instance.animatorParameters[(int)parameter].UnSet(animator);
 }
Пример #21
0
 public static void ResetTrigger(AnimationParameter parameter, Animator animator)
 {
     s_instance.animatorParameters[(int)parameter].ResetTrigger(animator);
 }
Пример #22
0
 public static bool Compare(Animator animator, int layerIndex, AnimationParameter parameter1
                            , AnimationParameter parameter2)
 {
     return(s_instance.animatorParameters[(int)parameter1]
            .Compare(animator, layerIndex, s_instance.animatorParameters[(int)parameter2].NameHash));
 }
Пример #23
0
 public static void UnSet(AnimationParameter parameter, WeaponBase.WeaponType weaponType)
 {
     s_instance.animatorParameters[(int)parameter].UnSet(s_instance._weaponAnimators[(int)weaponType - 1]);
 }
Пример #24
0
 public static void ResetTrigger(AnimationParameter parameter, WeaponBase.WeaponType weaponType)
 {
     s_instance.animatorParameters[(int)parameter].ResetTrigger(s_instance._weaponAnimators[(int)weaponType - 1]);
 }
 private void DrawTriggerField(Rect position, AnimationParameter animParameter)
 {
     EditorGUI.LabelField(position, "Trigger");
 }
Пример #26
0
 public static bool GetBool(AnimationParameter parameter, WeaponBase.WeaponType weaponType)
 {
     return(s_instance.animatorParameters[(int)parameter].GetBool(s_instance._weaponAnimators[(int)weaponType]));
 }
Пример #27
0
 float GetSmoothStepRange(AnimationParameter p)
 {
     return(p.start + (p.end - p.start) * EZEasings.SmoothStep3(percent));
 }
Пример #28
0
        public override void OnInspectorGUI()
        {
            DrawDefaultInspector();

            var fxSpawner = serializedObject.targetObject as FXSpawner;

            if (fxSpawner == null)
            {
                Debug.LogWarning("serializedObject.targetObject as FXSpawner == null. Something went very wrong.");
                return;
            }

            var str = ShowDebugMenu ? "Hide Spawn Menu" : "Show Spawn Menu";

            KitGUILayout.BeginCleanFoldout("Spawn Menu", ref ShowDebugMenu, size: 12);

            if (!ShowDebugMenu)
            {
                KitGUILayout.EndCleanFoldout();
                return;
            }

            if (!EditorApplication.isPlaying)
            {
                EditorGUILayout.HelpBox("FX Can only be spawned by the inspector at runtime.", MessageType.Info);
            }

            SelectedKey = EditorGUILayout.TextField("Key: ", SelectedKey);
            Retain      = EditorGUILayout.Toggle("Retain? ", Retain);

            GUI.enabled = EditorApplication.isPlaying;
            EditorGUILayout.BeginHorizontal();
            if (Retain)
            {
                if (GUILayout.Button("Spawn and Retain"))
                {
                    fxSpawner.SpawnAndRetain(SelectedKey);
                }
                if (GUILayout.Button("Despawn"))
                {
                    fxSpawner.DespawnAndRelease(SelectedKey);
                }
            }
            else
            {
                if (GUILayout.Button("Spawn and Forget"))
                {
                    fxSpawner.SpawnAndForget(SelectedKey);
                }
            }
            EditorGUILayout.EndHorizontal();
            GUI.enabled = true;

            EditorGUILayout.LabelField("Interaction", EditorStyles.boldLabel);

            if (AnimationParameter == null)
            {
                AnimationParameter = new AnimationParameter();
            }

            AnimationParameter.Key = EditorGUILayout.TextField("Parameter Key: ", AnimationParameter.Key);

            AnimationParameter.ParameterType = (AnimatorControllerParameterType)
                                               EditorGUILayout.EnumPopup("Parameter Tyoe: ", AnimationParameter.ParameterType);

            switch (AnimationParameter.ParameterType)
            {
            case AnimatorControllerParameterType.Float:
                AnimationParameter.FloatValue = EditorGUILayout.FloatField("Float Value: ", AnimationParameter.FloatValue);
                break;

            case AnimatorControllerParameterType.Int:
                AnimationParameter.IntValue = EditorGUILayout.IntField("Int Value: ", AnimationParameter.IntValue);
                break;

            case AnimatorControllerParameterType.Bool:
                AnimationParameter.BoolValue = EditorGUILayout.Toggle("Bool Value: ", AnimationParameter.BoolValue);
                break;

            default:
            case AnimatorControllerParameterType.Trigger:
                break;
            }
            GUI.enabled = EditorApplication.isPlaying;
            if (GUILayout.Button("Set Parameter on retained FXUnit"))
            {
                var unit = fxSpawner.GetRetainedUnit(SelectedKey);
                if (unit == null)
                {
                    return;
                }

                var animator = unit.GetComponent <Animator>();
                if (animator == null)
                {
                    return;
                }

                AnimationParameter.Set(animator);
            }
            GUI.enabled = true;
            KitGUILayout.EndCleanFoldout();
        }
Пример #29
0
 public AnimationParameter(AnimationParameter ap)
 {
     mask = ap.mask;
     val  = ap.val;
 }
 public void SetAnimation(AnimationParameter parameter)
 {
     m_controller.OnAnimation (parameter);
 }