public static Offset <MPAttackData> Serialize(FlatBufferBuilder builder, AttackData obj) { Offset <MPHitCollision> hitCollisionOffset = new Offset <MPHitCollision>(); if (obj.hitCollision != null) { hitCollisionOffset = Serialize(builder, obj.hitCollision); } MPAttackData.StartMPAttackData(builder); MPAttackData.AddAttackerAniDamageRatio(builder, obj.attackerAniDamageRatio); MPAttackData.AddAttackerClass(builder, (byte)obj.attackerClass); MPAttackData.AddAttackerNature(builder, (byte)obj.attackerNature); MPAttackData.AddAttackerCategory(builder, obj.attackerCategory); MPAttackData.AddAttackerCritChance(builder, obj.attackerCritChance); MPAttackData.AddAttackerCritDamageRatio(builder, obj.attackerCritDamageRatio); MPAttackData.AddAttackerLevel(builder, obj.attackerLevel); MPAttackData.AddAttackerShieldDamageRatio(builder, obj.attackerShieldDamageRatio); MPAttackData.AddAttackerShieldDamageDelta(builder, obj.attackerShieldDamageDelta); MPAttackData.AddAttackerAttackPercentage(builder, obj.attackerAttackPercentage); MPAttackData.AddAttackerAttackValue(builder, obj.attackerAttackValue); MPAttackData.AddAddedAttackRatio(builder, obj.addedAttackRatio); MPAttackData.AddAddedDamageRatio(builder, obj.addedDamageRatio); MPAttackData.AddAttackerAddedAttackValue(builder, obj.attackerAddedAttackValue); MPAttackData.AddAttackerNormalDamage(builder, obj.attackerNormalDamage); MPAttackData.AddAttackerNormalDamagePercentage(builder, obj.attackerNormalDamagePercentage); MPAttackData.AddAddedAttackerNormalDamageRatio(builder, obj.addedAttackerNormalDamageRatio); MPAttackData.AddAttackerFireDamage(builder, obj.attackerFireDamage); MPAttackData.AddAttackerFireDamagePercentage(builder, obj.attackerFireDamagePercentage); MPAttackData.AddAddedAttackerFireDamageRatio(builder, obj.addedAttackerFireDamageRatio); MPAttackData.AddAttackerThunderDamage(builder, obj.attackerThunderDamage); MPAttackData.AddAttackerThunderDamagePercentage(builder, obj.attackerThunderDamagePercentage); MPAttackData.AddAddedAttackerThunderDamageRatio(builder, obj.addedAttackerThunderDamageRatio); MPAttackData.AddAttackerIceDamage(builder, obj.attackerIceDamage); MPAttackData.AddAttackerIceDamagePercentage(builder, obj.attackerIceDamagePercentage); MPAttackData.AddAddedAttackerIceDamageRatio(builder, obj.addedAttackerIceDamageRatio); MPAttackData.AddAttackerAlienDamage(builder, obj.attackerAlienDamage); MPAttackData.AddAttackerAlienDamagePercentage(builder, obj.attackerAlienDamagePercentage); MPAttackData.AddAddedAttackerAlienDamageRatio(builder, obj.addedAttackerAlienDamageRatio); MPAttackData.AddAttackeeAniDefenceRatio(builder, obj.attackeeAniDefenceRatio); MPAttackData.AddAttackeeNature(builder, (byte)obj.attackeeNature); MPAttackData.AddAttackeeClass(builder, (byte)obj.attackeeClass); MPAttackData.AddNatureDamageRatio(builder, obj.natureDamageRatio); MPAttackData.AddDamage(builder, obj.damage); MPAttackData.AddPlainDamage(builder, obj.plainDamage); MPAttackData.AddThunderDamage(builder, obj.thunderDamage); MPAttackData.AddIceDamage(builder, obj.iceDamage); MPAttackData.AddAlienDamage(builder, obj.alienDamage); MPAttackData.AddAniDamageRatio(builder, obj.aniDamageRatio); MPAttackData.AddRetreatVelocity(builder, obj.retreatVelocity); MPAttackData.AddFrameHalt(builder, obj.frameHalt); MPAttackData.AddIsAnimEventAttack(builder, obj.isAnimEventAttack); MPAttackData.AddIsInComboCount(builder, obj.isInComboCount); MPAttackData.AddAttackCategoryTag(builder, (int)obj.attackCategoryTag); MPAttackData.AddHitType(builder, (byte)obj.hitType); MPAttackData.AddHitFlag(builder, (int)obj.hitFlag); MPAttackData.AddHitLevel(builder, (byte)obj.hitLevel); MPAttackData.AddHitEffect(builder, (byte)obj.hitEffect); MPAttackData.AddHitEffectAux(builder, (byte)obj.hitEffectAux); MPAttackData.AddHitEffectPattern(builder, (byte)obj.hitEffectPattern); MPAttackData.AddKillEffect(builder, (byte)obj.killEffect); MPAttackData.AddRejectState(builder, (byte)obj.rejectState); MPAttackData.AddIsFromBullet(builder, obj.isFromBullet); MPAttackData.AddNoTriggerEvadeAndDefend(builder, obj.noTriggerEvadeAndDefend); MPAttackData.AddHitCollision(builder, hitCollisionOffset); MPAttackData.AddAttackEffectPattern(builder, (ushort)IndexedConfig <ConfigEntityAttackEffect> .Mapping.TryGet(obj.attackEffectPattern)); MPAttackData.AddBeHitEffectPattern(builder, (ushort)IndexedConfig <ConfigEntityAttackEffect> .Mapping.TryGet(obj.beHitEffectPattern)); MPAttackData.AddAttackCameraShake(builder, (ushort)IndexedConfig <ConfigEntityCameraShake> .Mapping.TryGet(obj.attackCameraShake)); return(MPAttackData.EndMPAttackData(builder)); }