public override void OnInspectorGUI()
        {
            myTarget.isRoomPlayerMods = EditorGUILayout.Toggle("isRoomPlayerMods", myTarget.isRoomPlayerMods);

            List <VRC.SDKBase.VRCPlayerMod> playerMods = myTarget.playerMods;

            for (int i = 0; i < playerMods.Count; ++i)
            {
                VRC.SDKBase.VRCPlayerMod mod = playerMods[i];
                EditorGUILayout.BeginVertical("box");
                EditorGUILayout.LabelField(mod.name, EditorStyles.boldLabel);
                if (mod.allowNameEdit)
                {
                    mod.name = EditorGUILayout.TextField("Mod Name: ", mod.name);
                }
                for (int j = 0; j < mod.properties.Count; ++j)
                {
                    VRC.SDKBase.VRCPlayerModProperty prop = mod.properties[j];
                    myTarget.playerMods[i].properties[j] = DrawFieldForProp(prop);
                }
                if (GUILayout.Button("Remove Mod"))
                {
                    myTarget.RemoveMod(mod);
                    break;
                }
                EditorGUILayout.EndVertical();
            }
            if (GUILayout.Button("Add Mods"))
            {
                VRCPlayerModEditorWindow.AddModCallback adcb = OnInspectorGUI;
                VRCPlayerModEditorWindow.Init(myTarget, adcb);
            }
        }
 void OnGUI()
 {
     type = (VRC.SDKBase.VRCPlayerModFactory.PlayerModType)EditorGUILayout.EnumPopup("Mods", type);
     if (GUILayout.Button("Add Mod"))
     {
         VRC.SDKBase.VRCPlayerMod mod = VRC.SDKBase.VRCPlayerModFactory.Create(type);
         myTarget.AddMod(mod);
         addModCallback();
     }
 }