private static void RemoveDefine(Configs.UserConfig.PlayerSettings.ScriptDefinesGroup group, int index) { var define = group.Defines[index]; for (int i = 0; i < define.RepeatList.Count; i++) { define.RepeatList[i].RepeatList.Remove(define); } group.Defines.RemoveAt(index); }
private void ScriptDefinesPanel() { var ps = G.Module.UserConfig.Json.PlayerSettings; EditorGUILayout.BeginHorizontal(); selectedPlatformToggle = GUILayout.Toolbar(selectedPlatformToggle, platformToggles, GUILayout.Height(30), GUILayout.MaxWidth(300)); string platform = platformToggles[selectedPlatformToggle]; GUILayout.FlexibleSpace(); if (GUILayout.Button("Add Group", GUILayout.Height(30))) { var group = new Configs.UserConfig.PlayerSettings.ScriptDefinesGroup() { GroupName = "Script Defines Group", Active = true }; group.Defines.Add(new Configs.UserConfig.PlayerSettings.ScriptDefine() { Active = true, Define = "" }); switch (platform) { case "General": ps.General.ScriptDefines.Add(group); break; case "iOS": ps.IOS.ScriptDefines.Add(group); break; case "Android": ps.Android.ScriptDefines.Add(group); break; } G.Module.IsDirty = true; } if (GUILayout.Button(new GUIContent("Apply Scripting Defines", "应用当前平台所有勾选的宏定义"), GUILayout.Height(30))) { G.Runner.ApplyScriptDefines(EditorUserBuildSettings.activeBuildTarget); } EditorGUILayout.EndHorizontal(); switch (platform) { case "General": scrollPosition1_ScriptDefines_General = EditorGUILayout.BeginScrollView(scrollPosition1_ScriptDefines_General); ScriptDefineGroupPanel(ps.General.ScriptDefines); EditorGUILayout.EndScrollView(); break; case "iOS": scrollPosition1_ScriptDefines_IOS = EditorGUILayout.BeginScrollView(scrollPosition1_ScriptDefines_IOS); ScriptDefineGroupPanel(ps.IOS.ScriptDefines); EditorGUILayout.EndScrollView(); break; case "Android": scrollPosition1_ScriptDefines_Android = EditorGUILayout.BeginScrollView(scrollPosition1_ScriptDefines_Android); ScriptDefineGroupPanel(ps.Android.ScriptDefines); EditorGUILayout.EndScrollView(); break; default: break; } }