public static HPChangeMessage GetDamageMessage(long damageValue, BattleAction_Bleed.DmgSrcType causeType, ElemType.ENUM elementType, EntityParent target, EntityParent source, bool isCritical, bool isParry, bool isMiss)
 {
     return(new HPChangeMessage
     {
         targetID = target.ID,
         modeType = HPChangeMessage.GetModeType(target, source),
         causeType = HPChangeMessage.GetCauseType(causeType),
         elementType = HPChangeMessage.GetElementType(elementType),
         hpChangeType = HPChangeMessage.GetHPChangeType(isCritical, isParry, isMiss),
         hpChangeValue = (float)damageValue
     });
 }
    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);
    }
 private static HPChangeMessage.ElementType GetElementType(ElemType.ENUM elementType)
 {
     return((HPChangeMessage.ElementType)elementType);
 }