BBGamelib.flash.imp.Movie.GotoFrame C# (CSharp) Method

GotoFrame() public method

public GotoFrame ( int frame ) : void
frame int
return void
		public virtual void GotoFrame(int frame){
			if (_currentFrame != frame) {
				_currentFrame = frame;
				FrameObject frameObj = _define.frames[_currentFrame];
				removeUnusedPlaceobjs(frameObj);

//				frameObj.reset();
//				for(int i=0; i<frameObj.placeObjectCount; i++){
//					PlaceObject placeObj = frameObj.nextPlaceObject();
				for(int i=0; i<frameObj.placeObjects.Length; i++){
					PlaceObject placeObj = frameObj.placeObjects[i];
					DisplayObject displayObj = _depth_displays[placeObj.depth];
					//no exist display, new one
					if(displayObj == null){
						displayObj = getDisplayCache(placeObj.depth, placeObj.characterId);
						if(displayObj == null){
							displayObj = createDisplayObject(placeObj.characterId);
							_view.addChild(displayObj.view);
						}
						_depth_displays[placeObj.depth] = displayObj;
					}
					//exist display obj, but the tag indicats to new one
//					else if (placeObj.hasCharacter){
//						if(displayObj.characterId != placeObj.characterId){
//							DisplayObject newDisplayObj = getDisplayCache(placeObj.depth, placeObj.characterId);
//							if(newDisplayObj == null){
//								newDisplayObj = createDisplayObject(placeObj.characterId);
//								_view.addChild(newDisplayObj.view);
//							}
//							recycleDisplayCache(placeObj.depth, displayObj);
//							displayObj = newDisplayObj;
//							_depth_displays[placeObj.depth] = displayObj;
//						}
//					} else if(displayObj.characterId != placeObj.characterId){
//						CCDebug.Log("abc");
//					}
					else if (displayObj.characterId != placeObj.characterId){
						DisplayObject newDisplayObj = getDisplayCache(placeObj.depth, placeObj.characterId);
						if(newDisplayObj == null){
							newDisplayObj = createDisplayObject(placeObj.characterId);
							_view.addChild(newDisplayObj.view);
						}
						recycleDisplayCache(placeObj.depth, displayObj);
						displayObj = newDisplayObj;
						_depth_displays[placeObj.depth] = displayObj;
					} 

					displayObj.applyPlaceObject(placeObj);
				}
				_isBoundsDirty = true;
			}
		}
		DisplayObject createDisplayObject(int characterId){