Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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));
        }