public void SetFromTreeNodes(TreeNode Root)
 {
     ImpactGroups = new ParticleNamesItem[ImpactGroups.Length];
     for (int i = 0; i < ImpactGroups.Length; i++)
     {
         TreeNode          ChildNode = Root.Nodes[i];
         ParticleNamesItem Entry     = (ParticleNamesItem)ChildNode.Tag;
         ImpactGroups[i] = Entry;
     }
 }
        public void WriteToFile(XBinWriter writer)
        {
            writer.Write(unk0);
            writer.Write(ImpactGroups.Length);
            writer.Write(ImpactGroups.Length);

            for (int i = 0; i < ImpactGroups.Length; i++)
            {
                ParticleNamesItem NewGroup = ImpactGroups[i];
                NewGroup.InitialShot.WriteToFile(writer);
                NewGroup.Headshot.WriteToFile(writer);
                NewGroup.GrazingShot.WriteToFile(writer);
                NewGroup.KillShot.WriteToFile(writer);
                writer.Write(NewGroup.SplashDiameter);
                writer.Write(NewGroup.SplashHardness);
                writer.Write(NewGroup.SplashStrength);
                writer.Write(NewGroup.ShotDiameter);
                writer.Write(NewGroup.ShotHardness);
                writer.Write(NewGroup.ShotStrength);
            }
        }
        public void ReadFromFile(BinaryReader reader)
        {
            unk0 = reader.ReadInt32();
            uint count1 = reader.ReadUInt32();
            uint count2 = reader.ReadUInt32();

            ImpactGroups = new ParticleNamesItem[count1];
            for (int i = 0; i < ImpactGroups.Length; i++)
            {
                ParticleNamesItem NewGroup = new ParticleNamesItem();
                NewGroup.InitialShot    = XBinHashName.ConstructAndReadFromFile(reader);
                NewGroup.Headshot       = XBinHashName.ConstructAndReadFromFile(reader);
                NewGroup.GrazingShot    = XBinHashName.ConstructAndReadFromFile(reader);
                NewGroup.KillShot       = XBinHashName.ConstructAndReadFromFile(reader);
                NewGroup.SplashDiameter = reader.ReadSingle();
                NewGroup.SplashHardness = reader.ReadSingle();
                NewGroup.SplashStrength = reader.ReadSingle();
                NewGroup.ShotDiameter   = reader.ReadSingle();
                NewGroup.ShotHardness   = reader.ReadSingle();
                NewGroup.ShotStrength   = reader.ReadSingle();
                ImpactGroups[i]         = NewGroup;
            }
        }