Example #1
0
        public Dev_Hierarchy_Browser()
        {
            onShown        += (uiControl c) => { Refresh(); };
            Autosize        = true;
            Autosize_Method = AutosizeMethod.FILL;

            list = uiControl.Create <uiListView>(this);
            list.Set_Width(300);
            list.Autosize = false;
            //list.CONFIRM_LAYOUT = true;


            info_panel                 = uiControl.Create <uiPanel>(this);
            info_panel.Scrollable      = false;
            info_panel.Autosize        = true;
            info_panel.Autosize_Method = AutosizeMethod.FILL;
            info_panel.onLayout       += Info_panel_onLayout;
            info_panel.Set_Padding(3);

            lbl_components      = Create <uiText>(info_panel);
            lbl_components.Text = "Scripts";

            var_components = Create <uiListView>(info_panel);
            //var_components.Autosize = false;

            var_child_count      = Create <uiVarText>(info_panel);
            var_child_count.Text = "Children: ";
        }
        public Plugin_StoreItem() : base(uiControlType.Panel)
        {
            Set_Padding(4, 2, 2, 2);
            Set_Margin(2, 2, 2, 2);
            //Set_Size(DEFAULT_WIDTH, DEFAULT_HEIGHT);
            Autosize_Method = AutosizeMethod.BLOCK;

            Util.Set_BG_Color(local_style.normal, new Color32(32, 32, 32, 200));
            Util.Set_BG_Color(local_style.hover, new Color32(64, 64, 64, 255));
            const float b = 0.5f;

            Border.normal.color = new Color(b, b, b, 1f);

            const float g = 0.8f;

            TextColor       = new Color(g, g, g, 1f);
            TextColor_Hover = Color.white;
            //Utility.Set_BG_Color(local_style.hover, new Color32(32, 40, 60, 255));

            uiText name = uiControl.Create <uiText>("name", this);

            name.Clone_Text_Style(this);
            name.TextStyle       = FontStyle.Bold;
            name.TextSize        = 14;
            name.Autosize_Method = AutosizeMethod.BLOCK;

            uiText auth = uiControl.Create <uiText>("author", this);

            auth.Clone_Text_Style(this);
            auth.TextStyle       = FontStyle.Normal;
            auth.TextSize        = 12;
            auth.Autosize_Method = AutosizeMethod.BLOCK;

            download_info = Create <uiCollapser>("download_info", this);
            download_info.Size_Height_Collapsed = 0;
            download_info.onLayout += Download_info_onLayout;
            download_info.Set_Margin(0);
            download_info.Set_Padding(0);
            //Util.Set_BG_Color(download_info.local_style.normal, new Color(0.1f, 0.5f, 1.0f));
            download_info.Set_Collapsed(true);

            progress_bar = Create <uiProgressBar>("progress", download_info);
            progress_bar.Set_Height(4f);
            progress_bar.Value = 0;
            progress_bar.show_progress_text = false;
            Util.Set_BG_Color(progress_bar.prog_bar.local_style.normal, new Color(0.1f, 0.5f, 1.0f));
            Util.Set_BG_Color(progress_bar.local_style.normal, new Color(0.1f, 0.1f, 0.1f));


            progress_text = uiControl.Create <uiVarText>("progress_text", download_info);
            progress_text.Clone_Text_Style(this);
            progress_text.TextAlign = TextAnchor.LowerRight;
            progress_text.TextStyle = FontStyle.Normal;
            progress_text.TextSize  = 12;
            progress_text.Text      = "Downloading:";
            //progress_text.Text = "0%";
        }
        public static void Setup()
        {
            SiscosHooks.register(HOOK_ID.Level_Loaded, onLevelLoaded);
            Init();

            Root      = uiControl.Create <uiPanel>();
            Root.Name = "DebugUI";
            Root.Set_Padding(5);
            Root.FloodXY();
            Root.local_style.normal.background = null;
            Root.isVisible = false;                         //Because our State var is inactive by default

            var list = uiControl.Create <uiListView>(Root); // Using a uiListView to contain all of our debug var displays makes them all auto layout, which is nice

            list.alignLeftSide();
            list.alignTop(200);

            lbl_player_pos      = uiControl.Create <uiVarText>(list);
            lbl_player_pos.Text = "Player Pos:";
            lbl_player_pos.Set_Margin(0);
            lbl_player_pos.Set_Padding(0);

            lbl_cam_pos      = uiControl.Create <uiVarText>(list);
            lbl_cam_pos.Text = "Cam Pos:";
            lbl_cam_pos.Set_Margin(0);
            lbl_cam_pos.Set_Padding(0);

            lbl_cam_rot      = uiControl.Create <uiVarText>(list);
            lbl_cam_rot.Text = "Cam Rot:";
            lbl_cam_rot.Set_Margin(0);
            lbl_cam_rot.Set_Padding(0);


            lbl_debug_mode = uiControl.Create <uiText>(list);
            //lbl_debug_mode.isVisible = false;//only shows when the debug drawing mode isnt NONE

            uiControl.dbg_mouse_tooltip_style = new GUIStyle();
            uiControl.dbg_mouse_tooltip_style.normal.textColor = Color.white;
            Util.Set_BG_Color(uiControl.dbg_mouse_tooltip_style.normal, new Color(0f, 0f, 0f, 0.5f));
        }
        public PluginStore()
        {
            onLayout += PluginStore_onLayout;
            Title     = "Plugin Store";
            Set_Size(800, 600);
            Center();


            lbl_pl_count       = Create <uiVarText>(this);
            lbl_pl_count.Text  = "Total Plugins:";
            lbl_pl_count.Value = "0";
            lbl_pl_count.text_style.fontStyle = FontStyle.Bold;

            search           = uiControl.Create <uiTextbox>(this);
            search.onChange += Search_onChange;

            lbl_search      = uiControl.Create <uiText>(this);
            lbl_search.Text = "Search ";


            btn_config             = Create <uiIconButton>(this);
            btn_config.Text        = "Settings";
            btn_config.Icon        = TextureHelper.icon_arrow_left;
            btn_config.Border.type = uiBorderType.NONE;
            //btn_config.Skin = uiSkinPreset.FLAT;
            btn_config.Border.normal.color = Color.white;
            btn_config.Border.normal.size  = new RectOffset(1, 1, 1, 1);
            btn_config.onClicked          += Btn_config_onClicked;


            tabPanel = Create <uiTabPanel>(this);
            tabPanel.Add_Tab(MAIN_TAB_NAME);
            tabPanel.CurrentTab.onLayout += InfoTab_onLayout;
            tabPanel.Set_Margin(2);// This margin gives us that light colored area surrounding the list and tabpanel


            pl_title      = uiControl.Create <uiText>(tabPanel);
            pl_title.Text = "";
            var sty = new GUIStyle(pl_title.Style);

            sty.fontStyle = FontStyle.Bold;
            sty.fontSize  = 22;
            pl_title.Set_Style(sty);


            pl_auth      = uiControl.Create <uiText>(tabPanel);
            pl_auth.Text = "";

            pl_desc      = uiControl.Create <uiTextArea>(tabPanel);
            pl_desc.Text = "";
            pl_desc.Set_Padding(2);
            pl_desc.Border.normal.color = new Color(0f, 0f, 0f, 0.3f);


            install_btn = uiControl.Create <uiButton>(tabPanel);
            install_btn.local_style.fontSize  = 18;
            install_btn.local_style.fontStyle = FontStyle.Bold;
            install_btn.Text       = "Download";
            install_btn.onClicked += Install_btn_onClicked;
            Color blue = new Color(0.2f, 0.4f, 1f, 1f);

            Util.Set_BG_Gradient(install_btn.local_style.normal, 64, GRADIENT_DIR.TOP_BOTTOM, blue, new Color(0.5f, 0.5f, 0.5f, 1f) * blue);


            // INSTRUCTIONS TAB
            tabPanel.Add_Tab(INSTRUCTION_TAB_NAME);
            tabPanel.CurrentTab.onLayout += InstructionsTab_onLayout;;

            ins_title           = Create <uiTextArea>(tabPanel);
            ins_title.Text      = "Welcome";
            ins_title.TextSize  = 22;
            ins_title.TextStyle = FontStyle.Bold;

            ins_text           = Create <uiTextArea>(tabPanel);
            ins_text.Text      = "Here you can find and download new plugins.\nTo get started select a plugin from the list on the left to see more information about it.\nWhen you find a plugin you wish to install you can do so by clicking the \"Install\" button!";
            ins_text.TextStyle = FontStyle.Italic;
            ins_text.TextAlign = TextAnchor.UpperCenter;
            ins_text.Autosize  = true;

            statusPanel = Create <uiTabPanel>(this);
            statusPanel.Set_Width(200);
            statusPanel.Set_Margin(2, 0, 2, 2);
            statusPanel.onLayout += StatusPanel_onLayout;

            loading_tab       = statusPanel.Add_Tab("loading_tab");
            ld_text           = Create <uiTextArea>("ld_text", statusPanel);
            ld_text.Text      = "...";
            ld_text.TextSize  = 16;
            ld_text.TextAlign = TextAnchor.MiddleCenter;

            retry_pl_list_btn = Create <uiButton>(statusPanel);
            retry_pl_list_btn.Set_Margin(0, 0, 4, 0);
            retry_pl_list_btn.Text     = "Refresh";
            retry_pl_list_btn.TextSize = 16;
            Util.Set_BG_Gradient(retry_pl_list_btn.local_style.normal, 64, GRADIENT_DIR.TOP_BOTTOM, blue, new Color(0.5f, 0.5f, 0.5f, 1f) * blue);
            retry_pl_list_btn.onClicked += retry_btn_onClicked;
            retry_pl_list_btn.isVisible  = false;

            statusPanel.CurrentTab.onLayout += CurrentTab_onLayout;

            plugins_tab          = statusPanel.Add_Tab("plugins_tab");
            list                 = Create <uiListView>(plugins_tab);
            list.disableBG       = true;
            list.Autosize_Method = AutosizeMethod.FILL;
            list.FloodXY();

            loading_tab.Select();
        }