public SettingsPage(ScriptDependencyWindow window)
        {
            namespaces = new List <string> ();
            typeNames  = new List <string> ();

            maxCycles   = PlayerPrefs.GetInt("BPS_maxCycles", 1000);
            allowLoners = PlayerPrefs.GetInt("BPS_allowLoners", 0) == 1 ? true : false;
            onlyMonos   = PlayerPrefs.GetInt("BPS_onlyMonos", 1) == 1 ? true : false;

            string[] a_typeNames = PlayerPrefs.GetString("BPS_typeNames", "UnityAction").Split("|".ToCharArray());
            foreach (string s in a_typeNames)
            {
                typeNames.Add(s);
            }
            if (typeNames.Count < 2)
            {
                typeNames.Add("");
            }

            string[] a_namespaces = PlayerPrefs.GetString("BPS_namespaces", "UnityEngine|UnityEngine.UI|UnityEngine.EventSystems|System").Split("|".ToCharArray());
            foreach (string s in a_namespaces)
            {
                namespaces.Add(s);
            }
            if (namespaces.Count < 2)
            {
                namespaces.Add("");
            }

            SetClean();
            scrollPosition                = new Vector2(window.position.width, window.position.height / 2f);
            buttonBackgroundTexture       = UnityEngine.Resources.Load("BackgroundButton") as Texture2D;
            buttonBackgroundTextureActive = UnityEngine.Resources.Load("BackgroundButtonActive") as Texture2D;
        }
예제 #2
0
        public static void Init()
        {
            window = (ScriptDependencyWindow)EditorWindow.GetWindow(typeof(ScriptDependencyWindow), false, "Visualizer");

            Serializer.Init(window.GetSavePath());
            window.InitScriptData();
            window.antiAlias      = 4;
            window.minSize        = new Vector2(600, 450);
            window.weaveStartTime = Time.realtimeSinceStartup;
            skin = UnityEngine.Resources.Load("GUISKin") as GUISkin;

            LoadTextures(true);
            window.Show();
        }
        public void Draw(ScriptDependencyWindow window, out bool active)
        {
            GUISkin skin = GUI.skin;

            GUI.skin = null;
            Color defaultColor = GUI.color;

            GUI.color = new Color(.2f, .2f, .2f, .9f);
            GUI.Box(new Rect(0, 0, window.position.width, window.position.height), "");
            GUI.color = defaultColor;

            GUI.skin       = skin;
            scrollPosition = GUILayout.BeginScrollView(scrollPosition);

            Texture2D tempNormal = GUI.skin.button.normal.background;
            Texture2D tempActive = GUI.skin.button.active.background;
            Texture2D tempHover  = GUI.skin.button.hover.background;

            GUI.skin.button.normal.background = buttonBackgroundTexture;
            GUI.skin.button.active.background = buttonBackgroundTextureActive;
            GUI.skin.button.hover.background  = buttonBackgroundTexture;

            GUILayout.BeginHorizontal();
            GUILayout.Space(50f);

            GUILayout.BeginVertical();

            GUILayout.Space(20f);

            if (GUILayout.Button(IsDirty() ? "Apply" : "Close", GUILayout.MaxWidth(120f), GUILayout.Height(30f)))
            {
                active = false;
            }
            else
            {
                active = true;
            }

            GUILayout.Space(20f);

            if (GUILayout.Button("Reset to Defaults", GUILayout.MaxWidth(120f), GUILayout.Height(30f)))
            {
                ResetValues();
            }

            GUILayout.Space(20f);

            onlyMonos   = GUILayout.Toggle(onlyMonos, "Only MonoBehaviours", GUILayout.MaxWidth(200f), GUILayout.Height(30f));
            allowLoners = GUILayout.Toggle(allowLoners, "Allow Loners", GUILayout.MaxWidth(200f), GUILayout.Height(30f));

            GUILayout.BeginHorizontal();
            GUILayout.Label("Max Cycles", GUILayout.MaxWidth(120f), GUILayout.Height(30f));
            GUILayout.Space(50f);
            maxCycles = int.Parse(GUILayout.TextField(maxCycles.ToString(), GUILayout.Width(60f), GUILayout.Height(30f)));
            GUILayout.EndHorizontal();


            GUILayout.Label("Exclude Namespaces", GUILayout.MaxWidth(120f), GUILayout.Height(30f));
            GUILayout.BeginHorizontal();
            if (GUILayout.Button("+", GUILayout.MaxWidth(30f), GUILayout.Height(30f)))
            {
                namespaces.Add("");
            }
            GUILayout.Space(120f);
            namespaces [0] = GUILayout.TextField(namespaces [0], GUILayout.MaxWidth(200f), GUILayout.Height(30f));
            GUILayout.EndHorizontal();
            for (int i = 1; i < namespaces.Count; i++)
            {
                GUILayout.BeginHorizontal();
                GUILayout.Space(158f);
                namespaces [i] = GUILayout.TextField(namespaces [i], GUILayout.MaxWidth(200f), GUILayout.Height(30f));
                GUILayout.EndHorizontal();
            }

            GUILayout.Label("Exclude Type Names", GUILayout.MaxWidth(120f), GUILayout.Height(30f));
            GUILayout.BeginHorizontal();
            if (GUILayout.Button("+", GUILayout.MaxWidth(30f), GUILayout.Height(30f)))
            {
                typeNames.Add("");
            }
            GUILayout.Space(120f);
            typeNames [0] = GUILayout.TextField(typeNames [0], GUILayout.MaxWidth(200f), GUILayout.Height(30f));
            GUILayout.EndHorizontal();
            for (int i = 1; i < typeNames.Count; i++)
            {
                GUILayout.BeginHorizontal();
                GUILayout.Space(158f);
                typeNames [i] = GUILayout.TextField(typeNames [i], GUILayout.MaxWidth(200f), GUILayout.Height(30f));
                GUILayout.EndHorizontal();
            }

            GUILayout.EndVertical();
            GUILayout.EndScrollView();
            GUILayout.EndHorizontal();

            GUI.skin.button.normal.background = tempNormal;
            GUI.skin.button.active.background = tempActive;
            GUI.skin.button.hover.background  = tempHover;
        }
 public Background(ref ScriptDependencyWindow window)
 {
     m_window = window;
 }