/// <summary>
        /// Starts an IScriptableAnimationCallback, but doesn't stop any other animations. This is similar to enabling an AnimationState, or calling Animation.Blend.
        /// </summary>
        /// <param name="state"></param>
        public void EnableScriptableAnim(IScriptableAnimationCallback state)
        {
            if (state == null)
            {
                throw new System.ArgumentNullException("state");
            }

            if (_scriptableAnims == null)
            {
                _scriptableAnims = new ScriptableAnimCollection(this);
            }

            _scriptableAnims.Add(state);
        }
Esempio n. 2
0
        private void StartScriptableAnim(ScriptableAnimationStateWrapper state, PlayMode mode)
        {
            if (_scriptableAnims == null)
            {
                _scriptableAnims = new ScriptableAnimCollection(this);
            }

            if (mode == PlayMode.StopAll)
            {
                _scriptableAnims.Clear();
            }
            else
            {
                _scriptableAnims.Remove(state.Layer);
            }

            _scriptableAnims.Add(state);
        }
        /// <summary>
        /// Starts an IScriptableAnimationCallback stopping animations according to PlayMode, this acts like 'Animation.Play'.
        /// </summary>
        /// <param name="state"></param>
        /// <param name="mode"></param>
        public void StartScriptableAnim(IScriptableAnimationCallback state, PlayMode mode)
        {
            if (state == null)
            {
                throw new System.ArgumentNullException("state");
            }

            if (_scriptableAnims == null)
            {
                _scriptableAnims = new ScriptableAnimCollection(this);
            }

            this.StopInternal(state.Layer, mode);
            if (mode == PlayMode.StopAll)
            {
                _scriptableAnims.Clear(true);
            }
            else
            {
                _scriptableAnims.Remove(state.Layer, true);
            }

            _scriptableAnims.Add(state);
        }