예제 #1
0
파일: XTween.cs 프로젝트: bmjoy/XTween
    /*===================================== Slice ========================================*/
    public static IAni Slice(IAni tween, float begin, float end, bool isPercent = false)
    {
        IAni newTween;

        if (isPercent)
        {
            begin = tween.Duration * begin;
            end   = tween.Duration * end;
        }
        if (begin > end)
        {
            newTween           = new ReversedTween(new SlicedTween(tween as IIAni, end, begin), 0);
            newTween.FrameSkip = tween.FrameSkip;
            return(newTween);
        }
        newTween           = new SlicedTween(tween as IIAni, begin, end);
        newTween.FrameSkip = tween.FrameSkip;
        return(newTween);
    }
예제 #2
0
파일: XTween.cs 프로젝트: bmjoy/XTween
    /*===================================== Reverse ========================================*/
    public static IAni Reverse(IAni tween, bool reversePosition = true)
    {
        IAni  newTween;
        float pos = reversePosition ? tween.Duration - tween.Position : 0.0f;

        if (tween is ReversedTween)
        {
            newTween           = new TweenDecorator((tween as ReversedTween).baseTween, pos);
            newTween.FrameSkip = tween.FrameSkip;
            return(newTween);
        }
        if (tween is TweenDecorator)
        {
            newTween           = (tween as TweenDecorator).baseTween;
            newTween.FrameSkip = tween.FrameSkip;
        }
        newTween           = new ReversedTween(tween as IIAni, pos);
        newTween.FrameSkip = tween.FrameSkip;
        return(newTween);
    }