GameFramework.EntityController.OnDamage C# (CSharp) Method

OnDamage() private method

private OnDamage ( int receiver, int caster, bool isNormalDamage, bool isCritical, int hpDamage, int npDamage ) : void
receiver int
caster int
isNormalDamage bool
isCritical bool
hpDamage int
npDamage int
return void
        private void OnDamage(int receiver, int caster, bool isNormalDamage, bool isCritical, int hpDamage, int npDamage)
        {
            if (null != m_Scene && null != m_EntityMgr) {
                EntityInfo npc = m_EntityMgr.GetEntityInfo(receiver);
                int hp = npc.Hp;
                int energy = npc.Energy;
                Msg_RC_ImpactDamage msg = new Msg_RC_ImpactDamage();
                msg.role_id = receiver;
                msg.attacker_id = caster;
                msg.damage_status = 0;
                if (isNormalDamage) {
                    msg.damage_status |= (int)Msg_RC_ImpactDamage.Flag.IS_ORDINARY;
                }
                if (isCritical) {
                    msg.damage_status |= (int)Msg_RC_ImpactDamage.Flag.IS_CRITICAL;
                }
                if (hp <= 0) {
                    msg.damage_status |= (int)Msg_RC_ImpactDamage.Flag.IS_KILLER;
                }
                msg.hp = hp;
                msg.energy = energy;

                m_Scene.NotifyAllUser(RoomMessageDefine.Msg_RC_ImpactDamage, msg);
            }
        }