コード例 #1
0
ファイル: StartBtn.cs プロジェクト: zhutaorun/unitygame
 // 添加边框特效
 protected void addFrameEffect()
 {
     if (m_effect == null)
     {
         m_effect = Ctx.m_instance.m_sceneEffectMgr.addLinkEffect(30, gameObject(), false, true) as LinkEffect;
     }
 }
コード例 #2
0
 // 添加边框特效
 protected void addFrameEffect()
 {
     if (m_frameEffect == null)
     {
         m_frameEffect = addLinkEffect(m_frameEffectId, false, true);
     }
 }
コード例 #3
0
        // 执行普通受伤
        public void execHurt(ImmeComHurtItem item)
        {
            Ctx.m_instance.m_logSys.fightLog("[Fight] 执行普通受伤 execHurt");

            LinkEffect effect = null;

            if (item.bDamage)              // 如果受伤
            {
                if (item.hurtEffectId > 0) // 如果有特效需要播放,并且被击结束以特效为标准
                {
                    Ctx.m_instance.m_logSys.fightLog("[Fight] 执行普通播放受伤特效");

                    effect = m_being.effectControl.addLinkEffect(item.hurtEffectId);       // 被击特效
                    m_being.effectControl.addLinkEffect(ImmeHurtItemBase.DAMAGE_EFFECTID); // 掉血特效必然播放
                    effect.addEffectPlayEndHandle(item.onHurtExecEnd);
                }

                // 播放伤害数字
                m_being.playFlyNum(-item.damage);
            }
            else if (item.bAddHp)       // 回血
            {
                // 仅仅改变属性
                //if (!item.bStateChange())   // 如果没有状态变化,直接结束,如果有,会释放特效结束
                //{
                m_being.playFlyNum(item.addHp);
                item.onHurtExecEnd(null);
                //}
            }
            else    // 不伤血也不加血,直接结束
            {
                item.onHurtExecEnd(null);
            }
        }
コード例 #4
0
        // 执行普通死亡
        public void execHurt(ImmeDieItem item)
        {
            LinkEffect effect = null;

            effect = m_being.effectControl.addLinkEffect(item.dieEffectId);  // 死亡特效
            effect.addEffectPlayEndHandle(item.onHurtExecEnd);
        }
コード例 #5
0
 public void showResult()
 {
     if (m_firstEffect == null)
     {
         m_firstEffect = Ctx.m_instance.m_sceneEffectMgr.addLinkEffect(m_firstEffectId, gameObject(), true, false) as LinkEffect;
     }
     m_firstEffect.addEffectPlayEndHandle(onFirstEffectPlayEndHandle);
 }
コード例 #6
0
ファイル: StartBtn.cs プロジェクト: zhutaorun/unitygame
        override public void dispose()
        {
            base.dispose();

            if (m_effect != null)
            {
                m_effect.dispose();
                m_effect = null;
            }
        }
コード例 #7
0
        // 添加连接特效,固定不动,连接特效在关联的实体释放的时候,需要释放资源
        public LinkEffect addLinkEffect(int id, bool bAutoRemove = true, bool bLoop = false, bool bPlay = true)
        {
            addFrameSpriteGO();

            LinkEffect effect = Ctx.m_instance.m_sceneEffectMgr.addLinkEffect(id, m_effectRootGO, bAutoRemove, bLoop, bPlay) as LinkEffect;

            m_linkEffectList.Add(effect);
            effect.addEffectPlayEndHandle(onLinkEffectPlayEnd);
            effect.linkedEntity = this.m_being;
            return(effect);
        }
コード例 #8
0
        // 执行技能受伤
        public void execHurt(ImmeSkillHurtItem item)
        {
            Ctx.m_instance.m_logSys.fightLog("[Fight] 开始执行技能被击 execHurt");

            LinkEffect effect = null;

            if (item.bDamage)                                                                   // 检查是否是伤血
            {
                effect = m_being.effectControl.addLinkEffect(ImmeHurtItemBase.DAMAGE_EFFECTID); // 掉血特效必然播放
                effect.addEffectPlayEndHandle(item.onHurtExecEnd);
            }
        }
コード例 #9
0
ファイル: SelfRoundTip.cs プロジェクト: zhutaorun/unitygame
 public void playEffect()
 {
     if(m_effect == null)
     {
         m_effect = Ctx.m_instance.m_sceneEffectMgr.addLinkEffect(15, m_model.selfGo, false);
         m_effect.linkedEntity = this;
     }
     else
     {
         m_effect.play();
     }
 }
コード例 #10
0
        override public void dispose()
        {
            if (m_firstEffect != null)
            {
                m_firstEffect.dispose();
                m_firstEffect = null;
            }

            if (m_sndEffect != null)
            {
                m_sndEffect.dispose();
                m_sndEffect = null;
            }
        }
コード例 #11
0
 // 添加技能准备特效,主要是法术卡,但是释放的时候基本都是英雄卡上
 public void startSkillAttPrepareEffect(int effectId)
 {
     if (m_skillAttPrepareEffect == null)
     {
         m_skillAttPrepareEffect = addLinkEffect(effectId, false, true);
     }
     else
     {
         m_skillAttPrepareEffect.setTableID(effectId);
         if (m_skillAttPrepareEffect.bPlay())
         {
             m_skillAttPrepareEffect.stop();                       // 直接停止掉
         }
         m_skillAttPrepareEffect.play();
     }
 }
コード例 #12
0
        //public void removeAndDestroy(EffectBase effect)
        //{
        //    this.delObject(effect);
        //    effect.dispose();
        //}

        // 添加连接特效,固定不动
        public LinkEffect addLinkEffect(int id, GameObject pntGO_, bool bAutoRemove = true, bool bLoop = false, bool bPlay = true)
        {
            LinkEffect effect = createAndAdd(EffectType.eLinkEffect, EffectRenderType.eSpriteEffectRender) as LinkEffect;

            effect.setPnt(pntGO_);
            effect.setLoop(bLoop);
            effect.setTableID(id);
            effect.bAutoRemove = bAutoRemove;

            if (bPlay)
            {
                effect.play();
            }

            return(effect);
        }
コード例 #13
0
        public EffectBase createAndAdd(EffectType type, EffectRenderType renderType)
        {
            EffectBase effect = null;

            if (EffectType.eLinkEffect == type)
            {
                effect = new LinkEffect(renderType);
            }
            else if (EffectType.eMoveEffect == type)
            {
                effect = new MoveEffect(renderType);
            }
            else if (EffectType.eSceneEffect == type)
            {
                effect = new SceneEffect(renderType);
            }

            Ctx.m_instance.m_sceneEffectMgr.addObject(effect);

            return(effect);
        }
コード例 #14
0
ファイル: RoundBtn.cs プロジェクト: zhutaorun/unitygame
        override public void dispose()
        {
            base.dispose();

            if(m_selfTex != null)
            {
                Ctx.m_instance.m_texMgr.unload(m_selfTex.GetPath(), null);
                m_selfTex = null;
            }

            if (m_enemyTex != null)
            {
                Ctx.m_instance.m_texMgr.unload(m_enemyTex.GetPath(), null);
                m_enemyTex = null;
            }

            if (m_effect != null)
            {
                m_effect.dispose();
                m_effect = null;
            }
        }
コード例 #15
0
ファイル: EffectControl.cs プロジェクト: zhutaorun/unitygame
        public override void dispose()
        {
            if (m_frameEffect != null)
            {
                //m_frameEffect.dispose();
                m_frameEffect = null;
            }

            if (m_skillAttPrepareEffect != null)
            {
                m_skillAttPrepareEffect = null;
            }

            m_stateEffectList.Clear();

            foreach (var effect in m_linkEffectList.list)
            {
                effect.dispose();
            }
            m_linkEffectList.Clear();

            base.dispose();
        }
コード例 #16
0
        public override void dispose()
        {
            if (m_frameEffect != null)
            {
                //m_frameEffect.dispose();
                m_frameEffect = null;
            }

            if (m_skillAttPrepareEffect != null)
            {
                m_skillAttPrepareEffect = null;
            }

            m_stateEffectList.Clear();

            foreach (var effect in m_linkEffectList.list)
            {
                effect.dispose();
            }
            m_linkEffectList.Clear();

            base.dispose();
        }
コード例 #17
0
ファイル: UILogicTest.cs プロジェクト: zhutaorun/unitygame
 protected void testSpriteEffect()
 {
     m_linkEffect = Ctx.m_instance.m_sceneEffectMgr.createAndAdd(EffectType.eLinkEffect, EffectRenderType.eSpriteEffectRender) as LinkEffect;
     m_linkEffect.setGameObject(m_spriteGo);
     m_linkEffect.setTableID(1);
     m_linkEffect.setLoop(true);
     m_linkEffect.play();
 }
コード例 #18
0
ファイル: EffectControl.cs プロジェクト: zhutaorun/unitygame
 // 添加技能准备特效,主要是法术卡,但是释放的时候基本都是英雄卡上
 public void startSkillAttPrepareEffect(int effectId)
 {
     if (m_skillAttPrepareEffect == null)
     {
         m_skillAttPrepareEffect = addLinkEffect(effectId, false, true);
     }
     else
     {
         m_skillAttPrepareEffect.setTableID(effectId);
         if (m_skillAttPrepareEffect.bPlay())
         {
             m_skillAttPrepareEffect.stop();                       // 直接停止掉
         }
         m_skillAttPrepareEffect.play();
     }
 }
コード例 #19
0
ファイル: EffectControl.cs プロジェクト: zhutaorun/unitygame
 // 添加边框特效
 protected void addFrameEffect()
 {
     if (m_frameEffect == null)
     {
         m_frameEffect = addLinkEffect(m_frameEffectId, false, true);
     }
 }
コード例 #20
0
        protected void onFirstEffectPlayEndHandle(IDispatchObject dispObj)
        {
            UtilApi.addEventHandle(m_model.selfGo, OnBtnClk);

            m_firstEffect = null;
            if (m_sndEffect == null)
            {
                m_sndEffect = Ctx.m_instance.m_sceneEffectMgr.addLinkEffect(m_sndEffectId, gameObject(), false, true) as LinkEffect;
            }
        }