BBGamelib.flash.imp.MovieImpAction.update C# (CSharp) Method

update() public method

public update ( float t ) : void
t float
return void
		public override void update (float t)
		{
			//Make sure endFrame not equals to startFrame when init
			if (_endFrame > _startFrame) {
				int toFrame = _startFrame + (Mathf.FloorToInt ((_endFrame - _startFrame + 1) * t));
				toFrame = Mathf.Min (toFrame, _endFrame);

				int nextFrame = _movie.currentFrame + 1;
				if(toFrame > nextFrame){
					for (int i=nextFrame; i < toFrame; i++) {
						if(_movie.tweenMode == kTweenMode.SkipFrames || (_movie.tweenMode==kTweenMode.SkipNoLabelFrames && !_movie.hasLabel(i)))
							_movie.SkipFrame(i);
						else
							_movie.GotoFrame(i);

						if(_stoped){
							return;
						}
					}
				}
				if(toFrame != _movie.currentFrame){
					_movie.GotoFrame(toFrame);
				}
			} else {
				int toFrame = _startFrame + (Mathf.CeilToInt ((_endFrame - _startFrame - 1) * t));
				toFrame = Mathf.Max (toFrame, _endFrame);
				int nextFrame = _movie.currentFrame - 1;
				if(toFrame < nextFrame){
					for (int i=nextFrame; i > toFrame; i--) {
						if(_movie.tweenMode == kTweenMode.SkipFrames || (_movie.tweenMode==kTweenMode.SkipNoLabelFrames && !_movie.hasLabel(i)))
							_movie.SkipFrame(i);
						else
							_movie.GotoFrame(i);
							
						if(_stoped){
							return;
						}
					}
				}
				if(toFrame != _movie.currentFrame){
					_movie.GotoFrame(toFrame);
				}
			}
		}