public override void Bleed(BattleAction_Bleed data, bool isServerData)
 {
     if (data.bleedSoldierId != this.owner.ID)
     {
         return;
     }
     if (EntityWorld.Instance.AllEntities.ContainsKey(data.dmgSrcSoldierId))
     {
         this.owner.SetHPChange(HPChangeMessage.GetDamageMessage(data.bleedHp, data.dmgSrcType, data.elemType, this.owner, EntityWorld.Instance.AllEntities[data.dmgSrcSoldierId], data.isCrt, data.isParry, data.isMiss));
         if (data.hp <= 0L && DataReader <AvatarModel> .Get(this.owner.FixModelID).noTurn == 0 && !this.owner.IsLogicBoss && this.owner.Actor && !this.owner.Actor.IsLockModelDir)
         {
             Vector3 position = EntityWorld.Instance.AllEntities[data.dmgSrcSoldierId].Actor.FixTransform.get_position();
             Vector3 vector   = new Vector3(position.x - this.owner.Actor.FixTransform.get_position().x, 0f, position.z - this.owner.Actor.FixTransform.get_position().z);
             if (vector != Vector3.get_zero())
             {
                 this.owner.Actor.ForceSetDirection(vector);
                 this.owner.Actor.ApplyMovingDirAsForward();
             }
         }
     }
     else
     {
         this.owner.SetHPChange(HPChangeMessage.GetDamageMessage(data.bleedHp, data.dmgSrcType, data.elemType, this.owner, null, data.isCrt, data.isParry, data.isMiss));
     }
     this.owner.DamageSourceID = data.dmgSrcSoldierId;
     this.owner.Hp             = data.hp;
 }
    public static void SendBleed(long targetID, GameObjectType.ENUM targetType, long sourceID, GameObjectType.ENUM sourceType, BattleAction_Bleed.DmgSrcType dmgType, ElemType.ENUM elementType, long damage, long hp, bool isCrt, bool isParry, bool isMiss)
    {
        BattleAction_Bleed battleAction_Bleed = new BattleAction_Bleed();

        battleAction_Bleed.bleedSoldierId       = targetID;
        battleAction_Bleed.bleedSoldierWrapType = targetType;
        battleAction_Bleed.dmgSrcSoldierId      = sourceID;
        battleAction_Bleed.dmgSrcWrapType       = sourceType;
        battleAction_Bleed.dmgSrcType           = dmgType;
        battleAction_Bleed.elemType             = elementType;
        battleAction_Bleed.bleedHp = damage;
        battleAction_Bleed.hp      = hp;
        battleAction_Bleed.isCrt   = isCrt;
        battleAction_Bleed.isParry = isParry;
        battleAction_Bleed.isMiss  = isMiss;
        EventDispatcher.Broadcast <BattleAction_Bleed, bool>(BattleActionEvent.Bleed, battleAction_Bleed, false);
    }
 public virtual void Bleed(BattleAction_Bleed data, bool isServerData)
 {
     if (data.bleedSoldierId != this.owner.ID)
     {
         return;
     }
     if (EntityWorld.Instance.AllEntities.ContainsKey(data.dmgSrcSoldierId))
     {
         this.owner.SetHPChange(HPChangeMessage.GetDamageMessage(data.bleedHp, data.dmgSrcType, data.elemType, this.owner, EntityWorld.Instance.AllEntities[data.dmgSrcSoldierId], data.isCrt, data.isParry, data.isMiss));
     }
     else
     {
         this.owner.SetHPChange(HPChangeMessage.GetDamageMessage(data.bleedHp, data.dmgSrcType, data.elemType, this.owner, null, data.isCrt, data.isParry, data.isMiss));
     }
     this.owner.DamageSourceID = data.dmgSrcSoldierId;
     this.owner.Hp             = data.hp;
 }