Ejemplo n.º 1
0
        public virtual void UpdateAnimatorState(AnimatorInterface _animator_data)
        {
            if (AnimatorComponent == null || AnimatorComponent.runtimeAnimatorController == null || !AnimatorComponent.isInitialized || AnimatorComponent.IsInTransition(0))
            {
                return;
            }

            AnimatorStateInfo _state = AnimatorComponent.GetCurrentAnimatorStateInfo(0);

            if (_state.IsName(_animator_data.StateName))
            {
                return;
            }

            AnimatorComponent.speed = _animator_data.Speed;

            //Debug.Log( _animator_data.StateName + " - " + Time.frameCount );

            if (_animator_data.TransitionDuration == 0)
            {
                AnimatorComponent.Play(_animator_data.StateName);
            }
            else
            {
                AnimatorComponent.CrossFade(_animator_data.StateName, _animator_data.TransitionDuration);
            }

            //m_AnimatorAutoSpeed = _rule.Animation.Animator.AutoSpeed;

            /*if( _rule.Animation.Animator.AutoSpeed )
             *                      m_Animator.speed = Mathf.Clamp( m_BehaviourData.MoveVelocity. controller.velocity.magnitude, 0.0, runMaxAnimationSpeed);
             *              else*/
        }
Ejemplo n.º 2
0
        public virtual void UpdateAnimatorParameter(AnimatorInterface _animator_data, bool _stop)
        {
            if (AnimatorComponent == null || AnimatorComponent.runtimeAnimatorController == null || !AnimatorComponent.isInitialized)
            {
                return;
            }

            foreach (AnimatorParameterObject _parameter in _animator_data.Parameters)
            {
                if (_parameter.Enabled)
                {
                    if (_parameter.Type == AnimatorControllerParameterType.Bool && ((!_stop && !_parameter.UseEnd) || (_stop && _parameter.UseEnd)))
                    {
                        if (_parameter.UseDynamicValue)
                        {
                            AnimatorComponent.SetBool(_parameter.HashId, (OwnerComponent != null ? OwnerComponent.GetDynamicBooleanValue(_parameter.BooleanValueType) :_parameter.BooleanValue));
                        }
                        else
                        {
                            AnimatorComponent.SetBool(_parameter.HashId, _parameter.BooleanValue);
                        }
                    }
                    else if (_parameter.Type == AnimatorControllerParameterType.Float && ((!_stop && !_parameter.UseEnd) || (_stop && _parameter.UseEnd)))
                    {
                        if (_parameter.UseDynamicValue)
                        {
                            AnimatorComponent.SetFloat(_parameter.HashId, (OwnerComponent != null ? OwnerComponent.GetDynamicFloatValue(_parameter.FloatValueType):_parameter.FloatValue));
                        }
                        else
                        {
                            AnimatorComponent.SetFloat(_parameter.HashId, _parameter.FloatValue);
                        }
                    }
                    else if (_parameter.Type == AnimatorControllerParameterType.Int && ((!_stop && !_parameter.UseEnd) || (_stop && _parameter.UseEnd)))
                    {
                        if (_parameter.UseDynamicValue)
                        {
                            AnimatorComponent.SetInteger(_parameter.HashId, (OwnerComponent != null ? OwnerComponent.GetDynamicIntegerValue(_parameter.IntegerValueType):_parameter.IntegerValue));
                        }
                        else
                        {
                            AnimatorComponent.SetInteger(_parameter.HashId, _parameter.IntegerValue);
                        }
                    }
                    else if (_parameter.Type == AnimatorControllerParameterType.Trigger)
                    {
                        if ((_stop && _parameter.End()) || (!_stop && (_parameter.Start() || _parameter.Update())))
                        {
                            AnimatorComponent.SetTrigger(_parameter.HashId);
                        }
                    }
                }
            }
        }
Ejemplo n.º 3
0
        public void Copy(AnimatorInterface _data)
        {
            StateName              = _data.StateName;
            Name                   = _data.Name;
            Index                  = _data.Index;
            Length                 = _data.Length;
            AutoSpeed              = _data.AutoSpeed;
            Speed                  = _data.Speed;
            TransitionDuration     = _data.TransitionDuration;
            AutoTransitionDuration = _data.AutoTransitionDuration;
            Type                   = _data.Type;
            ApplyRootMotion        = _data.ApplyRootMotion;

            CopyParameters(_data.Parameters);
        }