Esempio n. 1
0
 internal GlobalDamageInfoBlockBase(BinaryReader binaryReader)
 {
     this.flags = (Flags)binaryReader.ReadInt32();
     this.globalIndirectMaterialName = binaryReader.ReadStringID();
     this.indirectDamageSection      = binaryReader.ReadShortBlockIndex2();
     this.invalidName_  = binaryReader.ReadBytes(2);
     this.invalidName_0 = binaryReader.ReadBytes(4);
     this.collisionDamageReportingType = (CollisionDamageReportingType)binaryReader.ReadByte();
     this.responseDamageReportingType  = (ResponseDamageReportingType)binaryReader.ReadByte();
     this.invalidName_1                  = binaryReader.ReadBytes(2);
     this.invalidName_2                  = binaryReader.ReadBytes(20);
     this.maximumVitality                = binaryReader.ReadSingle();
     this.minimumStunDamage              = binaryReader.ReadSingle();
     this.stunTimeSeconds                = binaryReader.ReadSingle();
     this.rechargeTimeSeconds            = binaryReader.ReadSingle();
     this.rechargeFraction               = binaryReader.ReadSingle();
     this.invalidName_3                  = binaryReader.ReadBytes(64);
     this.shieldDamagedFirstPersonShader = binaryReader.ReadTagReference();
     this.shieldDamagedShader            = binaryReader.ReadTagReference();
     this.maximumShieldVitality          = binaryReader.ReadSingle();
     this.globalShieldMaterialName       = binaryReader.ReadStringID();
     this.minimumStunDamage0             = binaryReader.ReadSingle();
     this.stunTimeSeconds0               = binaryReader.ReadSingle();
     this.rechargeTimeSeconds0           = binaryReader.ReadSingle();
     this.shieldDamagedThreshold         = binaryReader.ReadSingle();
     this.shieldDamagedEffect            = binaryReader.ReadTagReference();
     this.shieldDepletedEffect           = binaryReader.ReadTagReference();
     this.shieldRechargingEffect         = binaryReader.ReadTagReference();
     this.damageSections                 = ReadGlobalDamageSectionBlockArray(binaryReader);
     this.nodes                       = ReadGlobalDamageNodesBlockArray(binaryReader);
     this.invalidName_4               = binaryReader.ReadBytes(2);
     this.invalidName_5               = binaryReader.ReadBytes(2);
     this.invalidName_6               = binaryReader.ReadBytes(4);
     this.invalidName_7               = binaryReader.ReadBytes(4);
     this.damageSeats                 = ReadDamageSeatInfoBlockArray(binaryReader);
     this.damageConstraints           = ReadDamageConstraintInfoBlockArray(binaryReader);
     this.overshieldFirstPersonShader = binaryReader.ReadTagReference();
     this.overshieldShader            = binaryReader.ReadTagReference();
 }
 public GlobalDamageInfoBlock(BinaryReader binaryReader)
 {
     this.flags = (Flags)binaryReader.ReadInt32();
     this.globalIndirectMaterialNameAbsorbesAOEOrChildDamage = binaryReader.ReadStringID();
     this.indirectDamageSectionAbsorbesAOEOrChildDamage = binaryReader.ReadShortBlockIndex2();
     this.padding = binaryReader.ReadBytes(2);
     this.padding0 = binaryReader.ReadBytes(4);
     this.collisionDamageReportingType = (CollisionDamageReportingType)binaryReader.ReadByte();
     this.responseDamageReportingType = (ResponseDamageReportingType)binaryReader.ReadByte();
     this.padding1 = binaryReader.ReadBytes(2);
     this.padding2 = binaryReader.ReadBytes(20);
     this.maximumVitality = binaryReader.ReadSingle();
     this.minimumStunDamageTheMinimumDamageRequiredToStunThisObjectsHealth = binaryReader.ReadSingle();
     this.stunTimeSecondsTheLengthOfTimeTheHealthStayStunnedDoNotRechargeAfterTakingDamage = binaryReader.ReadSingle();
     this.rechargeTimeSecondsTheLengthOfTimeItWouldTakeForTheShieldsToFullyRechargeAfterBeingCompletelyDepleted = binaryReader.ReadSingle();
     this.rechargeFraction0DefaultsTo1ToWhatMaximumLevelTheBodyHealthWillBeAllowedToRecharge = binaryReader.ReadSingle();
     this.padding3 = binaryReader.ReadBytes(64);
     this.shieldDamagedFirstPersonShader = binaryReader.ReadTagReference();
     this.shieldDamagedShader = binaryReader.ReadTagReference();
     this.maximumShieldVitalityTheDefaultInitialAndMaximumShieldVitalityOfThisObject = binaryReader.ReadSingle();
     this.globalShieldMaterialName = binaryReader.ReadStringID();
     this.minimumStunDamageTheMinimumDamageRequiredToStunThisObjectsShields = binaryReader.ReadSingle();
     this.stunTimeSecondsTheLengthOfTimeTheShieldsStayStunnedDoNotRechargeAfterTakingDamage = binaryReader.ReadSingle();
     this.rechargeTimeSecondsTheLengthOfTimeItWouldTakeForTheShieldsToFullyRechargeAfterBeingCompletelyDepleted0 = binaryReader.ReadSingle();
     this.shieldDamagedThreshold = binaryReader.ReadSingle();
     this.shieldDamagedEffect = binaryReader.ReadTagReference();
     this.shieldDepletedEffect = binaryReader.ReadTagReference();
     this.shieldRechargingEffect = binaryReader.ReadTagReference();
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(GlobalDamageSectionBlock));
         this.damageSections = new GlobalDamageSectionBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.damageSections[i] = new GlobalDamageSectionBlock(binaryReader);
             }
         }
     }
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(GlobalDamageNodesBlock));
         this.nodes = new GlobalDamageNodesBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.nodes[i] = new GlobalDamageNodesBlock(binaryReader);
             }
         }
     }
     this.padding4 = binaryReader.ReadBytes(2);
     this.padding5 = binaryReader.ReadBytes(2);
     this.padding6 = binaryReader.ReadBytes(4);
     this.padding7 = binaryReader.ReadBytes(4);
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(DamageSeatInfoBlock));
         this.damageSeats = new DamageSeatInfoBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.damageSeats[i] = new DamageSeatInfoBlock(binaryReader);
             }
         }
     }
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(DamageConstraintInfoBlock));
         this.damageConstraints = new DamageConstraintInfoBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.damageConstraints[i] = new DamageConstraintInfoBlock(binaryReader);
             }
         }
     }
     this.overshieldFirstPersonShader = binaryReader.ReadTagReference();
     this.overshieldShader = binaryReader.ReadTagReference();
 }