private static void Init()
 {
     Loadout.BodyLoadoutManager.defaultBodyLoadouts = new Loadout.BodyLoadoutManager.BodyLoadout[BodyCatalog.bodyCount];
     Loadout.BodyLoadoutManager.allBodyInfos        = new Loadout.BodyLoadoutManager.BodyInfo[Loadout.BodyLoadoutManager.defaultBodyLoadouts.Length];
     for (int i = 0; i < Loadout.BodyLoadoutManager.defaultBodyLoadouts.Length; i++)
     {
         Loadout.BodyLoadoutManager.BodyInfo bodyInfo = default(Loadout.BodyLoadoutManager.BodyInfo);
         bodyInfo.prefabSkillSlots   = BodyCatalog.GetBodyPrefabBodyComponent(i).GetComponents <GenericSkill>();
         bodyInfo.skillFamilyIndices = new int[bodyInfo.skillSlotCount];
         for (int j = 0; j < bodyInfo.prefabSkillSlots.Length; j++)
         {
             int[]       skillFamilyIndices = bodyInfo.skillFamilyIndices;
             int         num         = j;
             SkillFamily skillFamily = bodyInfo.prefabSkillSlots[j].skillFamily;
             skillFamilyIndices[num] = ((skillFamily != null) ? skillFamily.catalogIndex : -1);
         }
         Loadout.BodyLoadoutManager.allBodyInfos[i] = bodyInfo;
         uint[] array = new uint[bodyInfo.skillSlotCount];
         for (int k = 0; k < bodyInfo.prefabSkillSlots.Length; k++)
         {
             array[k] = bodyInfo.prefabSkillSlots[k].skillFamily.defaultVariantIndex;
         }
         Loadout.BodyLoadoutManager.defaultBodyLoadouts[i] = new Loadout.BodyLoadoutManager.BodyLoadout
         {
             bodyIndex        = i,
             skinPreference   = 0U,
             skillPreferences = array
         };
     }
     Loadout.GenerateViewables();
 }