//--------------------------------------------------------------------- public void update(float elapsed_tm) { if (mHasDestroy || mComponet == null) { return; } if (!mHasDestroy && mComponet.canDestroy()) { mComponet.destroy(); mHasDestroy = true; return; } mDelayTime += elapsed_tm; if (mComponet.EffectType == TbDataEffectCompose.EffectElementStruct.EffectTypeEnum.EffectParallel) { updateComponet(mComponet, elapsed_tm); } else if (mComponet.EffectType == TbDataEffectCompose.EffectElementStruct.EffectTypeEnum.EffectOrder && (mPreComponent == null || mPreComponent.canDestroy())) { updateComponet(mComponet, elapsed_tm); } else if (mComponet.EffectType == TbDataEffectCompose.EffectElementStruct.EffectTypeEnum.EffectDelay && (mDelayTime > mComponet.DelayTime)) { updateComponet(mComponet, elapsed_tm); } else if (mComponet.EffectType == TbDataEffectCompose.EffectElementStruct.EffectTypeEnum.EffectAttach && mPreComponent != null && mPreComponent.canDestroy()) { mComponet.destroy(); mHasDestroy = true; return; } else if (mComponet.EffectType == TbDataEffectCompose.EffectElementStruct.EffectTypeEnum.EffectAttach && mPreComponent != null && mPreComponent.HasStart) { updateComponet(mComponet, elapsed_tm); } else if (mComponet.EffectType == TbDataEffectCompose.EffectElementStruct.EffectTypeEnum.EffectAttach && mPreComponent == null) { updateComponet(mComponet, elapsed_tm); } }