public override void Play(bool forward)
    {
        if (null == _tweenSequence || _tweenSequence.Count == 0)
        {
            return;
        }

        _playingTweenInSequeue = _tweenSequence.Peek();
        _playingTweenInSequeue.Play(forward);

//		if(forward) _tweenSequence.PlayForward();
//		else _tweenSequence.PlayBackwards();

        if (null != SyncTweenWidgets)
        {
            for (int i = SyncTweenWidgets.Length - 1; i >= 0; i--)
            {
                if (null == SyncTweenWidgets[i])
                {
                    continue;
                }
                SyncTweenWidgets[i].Play(forward);
            }
        }

        _isPlaying = true;
    }
    private void TweenCallback()
    {
        if (_tweenSequence.Count > 0)
        {
            _tweenSequence.Dequeue();
        }

        if (_tweenSequence.Count > 0)
        {
            _playingTweenInSequeue = _tweenSequence.Peek();
            _playingTweenInSequeue.Play(true);
        }
        else
        {
            OnSequenceCallback();
        }
    }