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(); } }