Ejemplo n.º 1
0
        /// <summary>
        /// Window GUI function.
        /// </summary>
        protected virtual void OnGUI()
        {
            if ((actionContinue == null) || (scriptGenerator == null))
            {
                Close();
                return;
            }

            var header_style = new GUIStyle
            {
                alignment = TextAnchor.MiddleLeft,
                fontStyle = FontStyle.Bold,
            };

            var toggle_options = new GUILayoutOption[]
            {
                GUILayout.Width(10),
                GUILayout.ExpandWidth(false),
            };

            if (requestScripts.Count > 0)
            {
                EditorGUILayout.LabelField("Overwrite scripts:", header_style);

                foreach (var script in GetIterator(requestScripts.Keys))
                {
                    EditorGUILayout.BeginHorizontal();
                    requestScripts[script] = EditorGUILayout.Toggle(requestScripts[script], toggle_options);
                    EditorGUILayout.LabelField(scriptGenerator.Script2Filename(script).Replace("\\", "/"));
                    EditorGUILayout.EndHorizontal();
                }

                EditorGUILayout.Space();
            }

            if (requestPrefabs.Count > 0)
            {
                EditorGUILayout.LabelField("Overwrite prefabs:", header_style);

                foreach (var prefab in GetIterator(requestPrefabs.Keys))
                {
                    EditorGUILayout.BeginHorizontal();
                    requestPrefabs[prefab] = EditorGUILayout.Toggle(requestPrefabs[prefab], toggle_options);
                    EditorGUILayout.LabelField(scriptGenerator.Prefab2Filename(prefab).Replace("\\", "/"));
                    EditorGUILayout.EndHorizontal();
                }

                EditorGUILayout.Space();
            }

            if (requestScenes.Count > 0)
            {
                EditorGUILayout.LabelField("Overwrite scenes:", header_style);

                foreach (var scene in GetIterator(requestScenes.Keys))
                {
                    EditorGUILayout.BeginHorizontal();
                    requestScenes[scene] = EditorGUILayout.Toggle(requestScenes[scene], toggle_options);
                    EditorGUILayout.LabelField(scriptGenerator.Scene2Filename(scene).Replace("\\", "/"));
                    EditorGUILayout.EndHorizontal();
                }

                EditorGUILayout.Space();
            }

            EditorGUILayout.BeginHorizontal();

            if (GUILayout.Button("Deselect All"))
            {
                SetRequest(false);
            }

            if (GUILayout.Button("Select All"))
            {
                SetRequest(true);
            }

            EditorGUILayout.Space();

            var is_close = GUILayout.Button("Cancel");

            var is_continue = GUILayout.Button("Continue");

            EditorGUILayout.EndHorizontal();

            if (is_close)
            {
                Close();
            }

            if (is_continue)
            {
                ContinueClick();
            }
        }