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); } } } } }
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); } } } } }
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); } } } } }