示例#1
0
        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);
        }
示例#2
0
        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;
            }
        }