Exemple #1
0
        public void OnGUI()
        {
            if (Event.current.isKey && Event.current.keyCode == KeyCode.Escape)
            {
                Close();
                return;
            }

            if (!initialized)
            {
                Initialize();
                if (current_windowType == WindowType.CALLBACK)
                {
                    SelctList = new List <int>();                                                          //init select display
                }
            }


            if (!FirstLoadFlag)
            {
                FirstLoadFlag = true;
                Reload();
            }



            EditorGUILayout.Space();
            GUILayout.BeginHorizontal(GUI.skin.GetStyle("GroupBox"));

            if (GUILayout.Button("Refresh", GUI.skin.GetStyle("ButtonLeft"), new GUILayoutOption[] { GUILayout.Height(30) }))
            {
                Reload();
            }

            if (!configSetting.Setting.DisableCreate && current_windowType != WindowType.CALLBACK)
            {
                NewLineButton();
            }

            if (!configSetting.Setting.DisableSave && current_windowType != WindowType.CALLBACK)
            {
                SaveButton();
            }

            GUILayout.EndHorizontal();


            if (!configSetting.Setting.DisableSearch)
            {
                SearchField();
            }


            GUILayout.BeginScrollView(new Vector2(posv.x, 0), false, false, GUIStyle.none, GUIStyle.none, new GUILayoutOption[] { GUILayout.Height(45) });
            GUILayout.BeginHorizontal(GUI.skin.GetStyle("GroupBox"));
            GUILayout.Space(20);

            //TODO Set Order
            foreach (var item in Chache)
            {
                if (GUILayout.Button(item.config_editor_setting.Display == "" ? item.field_info.Name : item.config_editor_setting.Display, GUI.skin.GetStyle("WhiteLabel"), GUILayout.Width(item.config_editor_setting.Width)))
                {
                    HeadButton_Click(item.field_info.Name);
                }

                GUILayout.Space(20);
            }

            if (current_windowType != WindowType.CALLBACK)
            {
                EditorGUILayout.LabelField(new GUIContent(Language.Operation), GUILayout.Width(80));
            }
            if (current_windowType == WindowType.CALLBACK)
            {
                EditorGUILayout.LabelField(new GUIContent(Language.Select), GUILayout.Width(80));
            }


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


            GUILayout.BeginHorizontal(GUI.skin.GetStyle("GroupBox"));
            posv = GUILayout.BeginScrollView(posv, true, false, GUI.skin.GetStyle("horizontalScrollbar"), GUIStyle.none, GUI.skin.GetStyle("GroupBox"));
            GUILayout.BeginVertical();



            if (!string.IsNullOrEmpty(SearchResourceName))
            {
                ItemMaxCount = config_current.ConfigList.Count(x => x.NickName.ToLower().Contains(SearchResourceName.ToLower().Trim()));
                Finallylist  = config_current.ConfigList.Where(x => x.NickName.ToLower().Contains(SearchResourceName.ToLower().Trim())).Skip(PageIndex * PageAmount).Take(PageAmount).ToList();
            }
            else
            {
                ItemMaxCount = config_current.ConfigList.Count;
                Finallylist  = config_current.ConfigList.Skip(PageIndex * PageAmount).Take(PageAmount).ToList();
            }

            //foreach (var item in Finallylist)
            for (int i = 0; i < Finallylist.Count; i++)
            {
                T item = Finallylist[i];

                if (deleteList.Contains(item.ID))
                {
                    continue;
                }

                //Select effect diaplay
                if (current_windowType == WindowType.CALLBACK && SelctList.Contains(item.ID))
                {
                    GUI.backgroundColor = Color.green;
                }
                else
                {
                    GUI.backgroundColor = Color.white;
                }

                GUILayout.BeginHorizontal(GUI.skin.GetStyle("GroupBox"));

                foreach (var schema in Chache)
                {
                    var rawData = schema.field_info.GetValue(item);
                    RenderRawLine(schema, rawData, item);
                    GUILayout.Space(20);
                }


                RenderExtensionButton(item);

                GUILayout.Space(20);
                GUILayout.EndHorizontal();
            }

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

            Page();

            GUILayout.BeginHorizontal();
            GUILayout.Label(Language.Contract);
            GUILayout.EndHorizontal();
        }
Exemple #2
0
        public void OnGUI()
        {
            if (Event.current.isKey && Event.current.keyCode == KeyCode.Escape)
            {
                Close();
                return;
            }

            if (!initialized)
            {
                Initialize();
            }

            if (!FirstLoadFlag)
            {
                FirstLoadFlag = true;
                Reload();
            }



            EditorGUILayout.Space();
            GUILayout.BeginHorizontal(GUI.skin.GetStyle("GroupBox"));

            if (GUILayout.Button("Refresh", GUI.skin.GetStyle("ButtonLeft"), new GUILayoutOption[] { GUILayout.Height(30) }))
            {
                Reload();
            }

            if (!configSetting.DisableCreate)
            {
                NewLineButton();
            }

            if (!configSetting.DisableSave)
            {
                SaveButton();
            }

            GUILayout.EndHorizontal();


            if (!configSetting.DisableSearch)
            {
                SearchField();
            }


            GUILayout.BeginScrollView(new Vector2(posv.x, 0), false, false, GUIStyle.none, GUIStyle.none, new GUILayoutOption[] { GUILayout.Height(45) });
            GUILayout.BeginHorizontal(GUI.skin.GetStyle("GroupBox"));
            GUILayout.Space(20);


            foreach (var item in Chache)
            {
                if (item.config_editor_field == null)
                {
                    EditorGUILayout.LabelField(new GUIContent(item.field_info.Name), GUILayout.Width(80));
                }
                else
                {
                    EditorGUILayout.LabelField(new GUIContent(item.config_editor_field.Display == "" ? item.field_info.Name : item.config_editor_field.Display), GUILayout.Width(item.config_editor_field.Width));
                }

                GUILayout.Space(20);
            }
            EditorGUILayout.LabelField(new GUIContent(EditorConfig.Delete), GUILayout.Width(80));


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


            GUILayout.BeginHorizontal(GUI.skin.GetStyle("GroupBox"));
            posv = GUILayout.BeginScrollView(posv, true, false, GUI.skin.GetStyle("horizontalScrollbar"), GUIStyle.none, GUI.skin.GetStyle("GroupBox"));
            GUILayout.BeginVertical();



            if (!string.IsNullOrEmpty(SearchResourceName))
            {
                ItemMaxCount = config_current.ConfigList.Count(x => x.NickName.ToLower().Contains(SearchResourceName.ToLower().Trim()));
                Finallylist  = config_current.ConfigList.Where(x => x.NickName.ToLower().Contains(SearchResourceName.ToLower().Trim())).Skip(PageIndex * PageAmount).Take(PageAmount).ToList();
            }
            else
            {
                ItemMaxCount = config_current.ConfigList.Count;
                Finallylist  = config_current.ConfigList.Skip(PageIndex * PageAmount).Take(PageAmount).ToList();
            }

            foreach (var item in Finallylist)
            {
                if (deleteList.Contains(item.ID))
                {
                    continue;
                }

                GUILayout.BeginHorizontal(GUI.skin.GetStyle("GroupBox"));

                foreach (var schema in Chache)
                {
                    var rawData = schema.field_info.GetValue(item);
                    RenderRawLine(schema, rawData, item);
                    GUILayout.Space(20);
                }

                if (GUILayout.Button("Delete", new GUILayoutOption[] { GUILayout.Width(80) }))
                {
                    deleteList.Add(item.ID);
                    ShowNotification(new GUIContent("SUCCESS !!!"));
                }
                GUILayout.Space(20);
                GUILayout.EndHorizontal();
            }

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

            Page();

            GUILayout.BeginHorizontal();
            GUILayout.Label(EditorConfig.Contract);
            GUILayout.EndHorizontal();
        }