예제 #1
0
 private void OnUpdateDamageImmunityShiled(CharacterInfo obj, int impactId)
 {
     if (null != obj)
     {
         CharacterView view = EntityManager.Instance.GetCharacterViewById(obj.GetId());
         if (null != view)
         {
             ImpactInfo impactInfo = obj.GetSkillStateInfo().GetImpactInfoById(impactId);
             if (null != impactInfo)
             {
                 ImpactLogic_DamageImmunityShield.DamageImmunityShieldInfo info = impactInfo.LogicDatas.GetData <ImpactLogic_DamageImmunityShield.DamageImmunityShieldInfo>();
                 if (null != info)
                 {
                     GfxSystem.PublishGfxEvent("ge_update_monster_sheild", "ui", view.Actor, info.CountRemain * 1.0f / info.CountMax);
                 }
             }
         }
     }
 }
예제 #2
0
 private void OnStopDamageImmunityShiled(CharacterInfo obj, int impactId)
 {
     if (null != obj)
     {
         CharacterView view = EntityManager.Instance.GetCharacterViewById(obj.GetId());
         if (null != view)
         {
             ImpactInfo impactInfo = obj.GetSkillStateInfo().GetImpactInfoById(impactId);
             if (null != impactInfo)
             {
                 ImpactLogic_DamageImmunityShield.DamageImmunityShieldInfo info = impactInfo.LogicDatas.GetData <ImpactLogic_DamageImmunityShield.DamageImmunityShieldInfo>();
                 if (null != info)
                 {
                     GfxSystem.DestroyGameObject(info.EffectActor);
                     GfxSystem.PublishGfxEvent("ge_end_monster_sheild", "ui", view.Actor);
                 }
             }
         }
     }
 }
예제 #3
0
 private void OnStartDamageImmunityShiled(CharacterInfo obj, int impactId)
 {
     if (null != obj)
     {
         CharacterView view = EntityManager.Instance.GetCharacterViewById(obj.GetId());
         if (null != view)
         {
             ImpactInfo impactInfo = obj.GetSkillStateInfo().GetImpactInfoById(impactId);
             if (null != impactInfo)
             {
                 ImpactLogic_DamageImmunityShield.DamageImmunityShieldInfo info = impactInfo.LogicDatas.GetData <ImpactLogic_DamageImmunityShield.DamageImmunityShieldInfo>();
                 if (null != info)
                 {
                     info.EffectActor = GameObjectIdManager.Instance.GenNextId();
                     GfxSystem.CreateGameObjectForAttach(info.EffectActor, info.EffectPath);
                     GfxSystem.AttachGameObject(info.EffectActor, view.Actor);
                     // 黄色 1
                     GfxSystem.PublishGfxEvent("ge_start_monster_sheild", "ui", view.Actor, 1);
                 }
             }
         }
     }
 }