protected override bool UpdateFrame() { if (_reverse) { if (_isReversing) { if (!_currentAnimation.IsPlaying) { if (_current >= 0) { _currentAnimation = _animationList[(int) _current]; _currentAnimation.Enable = true; _current--; } else { _isReversing = false; return true; } } } else { if (_currentAnimation.IsReversing) { if (_current < _animationList.Count) { _currentAnimation.Enable = false; _currentAnimation = _animationList[(int) _current]; _currentAnimation.Start(); _current++; } else { _current = _animationList.Count - 1; _isReversing = true; } } } } else { if (!_currentAnimation.IsPlaying) { if (_current < _animationList.Count) { _currentAnimation = _animationList[(int) _current]; _currentAnimation.Start(); _current++; } else { return true; } } } return false; }
protected override void PreStart() { _current = 1; _currentAnimation = _animationList[0]; for (int i = 0; i < _animationList.Count; i++) { _animationList[i].Speed = _delta; _animationList[i].Reverse = _reverse; _animationList[i].Loop = false; } _currentAnimation.Start(); }
public void Remove(Animation animation) { _animationList.Remove(animation); }
public void Add(Animation animation) { _animationList.Add(animation); }
public override void Dispose() { _animations = null; _actions = null; _currentAnimation = null; _currentAction = null; _surfaceSense = null; base.Dispose(); }
private void _scale_OnEnd1(Animation sender) { _timer.Start(); }
private void _scale_OnEnd(Animation sender) { _sprite.Parent.Remove(_sprite); }