Пример #1
0
        //---------------------------------------------------------------------
        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);
            }
        }