//Create as a MainNode or not. public virtual void resetByTimeLineInfo(FlashUtils.MCTimeLineInfo mcTimeLineInfo_, MovieClip mainMovieClip_) { mcTimeLineInfo = mcTimeLineInfo_; movieClipClassName = mcTimeLineInfo.className; _childrenNeverRemoveFromStage = mcTimeLineInfo.childrenNeverRemoveFromStage; _allChildrenSprite = mcTimeLineInfo.allChildrenSprite; _frameIntToFrameActionCache = FlashUtils.getFrameIntToFrameActionCache(mcTimeLineInfo); _codeControlFrameAction = new CodeControlFrameAction(FlashUtils.FrameNameType.none); if (mainMovieClip_ == null) { _isMainMovieClip = true; gameObject.name = mcTimeLineInfo.className; spriteFromAltas = true; setMainMovieClip(this); FlashManager.getInstance().mainMovieClipList.Add(this); } else { _isMainMovieClip = false; setMainMovieClip(mainMovieClip_); } if (_isMainMovieClip) { resetParsWhenOnOrOffStage(true); } if (_childrenNeverRemoveFromStage) //Add all child to stage. { putAllChildOnStage(); //Because there is no remove. } frameUpdate(); //Must do once frameUpdate.To move to frame 1 right now. }
public override void OnDestroy() { FlashManager _flashManager = FlashManager.getInstance(); if (_flashManager != null) { _flashManager.mainMovieClipList.Remove(this); } if (_flashManager != null) { _flashManager.movieClipCount--; } _disOnStage.Clear(); _disNotOnStage.Clear(); _movieClipOnPathCache.Clear(); _codeControlFrameAction = null; frameLabelAtNextFrameBegin = null; _mainMovieClip = null; mcTimeLineInfo = null; _frameIntToFrameActionCache = null; base.OnDestroy(); }