Ejemplo n.º 1
0
        public override void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
        {
            foreach (BoolObject b in boolObjectsEnter)
            {
                animator.SetBool(b.boolName, b.value);
            }
            foreach (IntObject i in intObjectsEnter)
            {
                animator.SetInteger(i.intName, i.value);
            }

            if (animatorManager != null)
            {
                foreach (MethodInfo m in instanceVoidEnteres)
                {
                    animatorManager.InvokeMethod(m, null);
                }
                foreach (FloatMethodInfo m in instanceFloatEnteres)
                {
                    animatorManager.InvokeMethod(m.methodInfo, m.value);
                }
                foreach (BoolMethodInfo m in instanceBoolEnteres)
                {
                    animatorManager.InvokeMethod(m.methodInfo, m.value);
                }
                foreach (Vec3MethodInfo m in instanceVec3Enter)
                {
                    animatorManager.InvokeMethod(m.methodInfo, m.value);
                }
            }
            else
            {
                animatorManager = animator.transform.parent.GetComponent <AnimationSys>();
                //Convert.ChangeType(animatorManager, animatorManagerType);
                if (!animatorManager)
                {
                    Debug.LogError("No AnimationController attach to this animator's GameObject");
                }
                else
                {
                    foreach (MethodInfo m in instanceVoidEnteres)
                    {
                        animatorManager.InvokeMethod(m, null);
                    }
                    foreach (FloatMethodInfo m in instanceFloatEnteres)
                    {
                        animatorManager.InvokeMethod(m.methodInfo, m.value);
                    }
                    foreach (BoolMethodInfo m in instanceBoolEnteres)
                    {
                        animatorManager.InvokeMethod(m.methodInfo, m.value);
                    }
                    foreach (Vec3MethodInfo m in instanceVec3Enter)
                    {
                        animatorManager.InvokeMethod(m.methodInfo, m.value);
                    }
                }
            }
        }
Ejemplo n.º 2
0
 public void GetAnimationSys(AnimationSys s)
 {
     animationSys = s;
 }