public void SetFieldsActive(bool state)
 {
     for (int i = 0; i < fieldSets.Count; i++)
     {
         var fieldSet = fieldSets[i];
         int count    = fieldSet.fields.Count;
         for (int j = 0; j < count; j++)
         {
             GUIInputField field = fieldSet.fields[j];
             field.SetInteractible(state, false);
             if (field.hasToggle)
             {
                 if (!state || field.toggle.actionElementMapId >= 0) // only enable toggle if something is mapped. Disable it regardless.
                 {
                     field.toggle.SetInteractible(state, false);     // set toggle state
                 }
             }
         }
     }
 }