public static AttackResult Deserialize(MPAttackResult table, AttackResult obj) { if (obj == null) { obj = new AttackResult(); } obj.damage = table.Damage; obj.plainDamage = table.PlainDamage; obj.thunderDamage = table.ThunderDamage; obj.iceDamage = table.IceDamage; obj.alienDamage = table.AlienDamage; obj.aniDamageRatio = table.AniDamageRatio; obj.retreatVelocity = table.RetreatVelocity; obj.frameHalt = table.FrameHalt; obj.isAnimEventAttack = table.IsAnimEventAttack; obj.isInComboCount = table.IsInComboCount; obj.attackCategoryTag = (AttackResult.AttackCategoryTag)table.AttackCategoryTag; obj.hitType = (AttackResult.ActorHitType)table.HitType; obj.hitFlag = (AttackResult.ActorHitFlag)table.HitFlag; obj.hitLevel = (AttackResult.ActorHitLevel)table.HitLevel; obj.hitEffect = (AttackResult.AnimatorHitEffect)table.HitEffect; obj.hitEffectAux = (AttackResult.AnimatorHitEffectAux)table.HitEffectAux; obj.hitEffectPattern = (AttackResult.HitEffectPattern)table.HitEffectPattern; obj.killEffect = (KillEffect)table.KillEffect; obj.rejectState = (AttackResult.RejectType)table.RejectState; obj.isFromBullet = table.IsFromBullet; obj.noTriggerEvadeAndDefend = table.NoTriggerEvadeAndDefend; if (table.GetHitCollision(GetCachedTable <MPHitCollision>()) != null) { obj.hitCollision = Deserialize(GetCachedTable <MPHitCollision>(), new AttackResult.HitCollsion()); } obj.attackEffectPattern = IndexedConfig <ConfigEntityAttackEffect> .Mapping.TryGet(table.AttackEffectPattern); obj.beHitEffectPattern = IndexedConfig <ConfigEntityAttackEffect> .Mapping.TryGet(table.BeHitEffectPattern); obj.attackCameraShake = IndexedConfig <ConfigEntityCameraShake> .Mapping.TryGet(table.AttackCameraShake); return(obj); }
public static Offset <MPAttackResult> Serialize(FlatBufferBuilder builder, AttackResult obj) { Offset <MPHitCollision> hitCollisionOffset = new Offset <MPHitCollision>(); if (obj.hitCollision != null) { hitCollisionOffset = Serialize(builder, obj.hitCollision); } MPAttackResult.StartMPAttackResult(builder); MPAttackResult.AddDamage(builder, obj.damage); MPAttackResult.AddPlainDamage(builder, obj.plainDamage); MPAttackResult.AddThunderDamage(builder, obj.thunderDamage); MPAttackResult.AddIceDamage(builder, obj.iceDamage); MPAttackResult.AddAlienDamage(builder, obj.alienDamage); MPAttackResult.AddAniDamageRatio(builder, obj.aniDamageRatio); MPAttackResult.AddRetreatVelocity(builder, obj.retreatVelocity); MPAttackResult.AddFrameHalt(builder, obj.frameHalt); MPAttackResult.AddIsAnimEventAttack(builder, obj.isAnimEventAttack); MPAttackResult.AddIsInComboCount(builder, obj.isInComboCount); MPAttackResult.AddAttackCategoryTag(builder, (int)obj.attackCategoryTag); MPAttackResult.AddHitType(builder, (byte)obj.hitType); MPAttackResult.AddHitFlag(builder, (int)obj.hitFlag); MPAttackResult.AddHitLevel(builder, (byte)obj.hitLevel); MPAttackResult.AddHitEffect(builder, (byte)obj.hitEffect); MPAttackResult.AddHitEffectAux(builder, (byte)obj.hitEffectAux); MPAttackResult.AddHitEffectPattern(builder, (byte)obj.hitEffectPattern); MPAttackResult.AddKillEffect(builder, (byte)obj.killEffect); MPAttackResult.AddRejectState(builder, (byte)obj.rejectState); MPAttackResult.AddIsFromBullet(builder, obj.isFromBullet); MPAttackResult.AddNoTriggerEvadeAndDefend(builder, obj.noTriggerEvadeAndDefend); MPAttackResult.AddHitCollision(builder, hitCollisionOffset); MPAttackResult.AddAttackEffectPattern(builder, (ushort)IndexedConfig <ConfigEntityAttackEffect> .Mapping.TryGet(obj.attackEffectPattern)); MPAttackResult.AddBeHitEffectPattern(builder, (ushort)IndexedConfig <ConfigEntityAttackEffect> .Mapping.TryGet(obj.beHitEffectPattern)); MPAttackResult.AddAttackCameraShake(builder, (ushort)IndexedConfig <ConfigEntityCameraShake> .Mapping.TryGet(obj.attackCameraShake)); return(MPAttackResult.EndMPAttackResult(builder)); }