/// <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); }
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); }