private void init() { TextStyle = FontStyle.Bold; Clickable = true; Selectable = true; onClicked += (uiControl c) => { if (_selectable) { Selected = !Selected; } }; Autosize = true; //Autosize_Method = AutosizeMethod.BLOCK; Set_Padding(2); Set_Margin(2); Util.Set_BG_Color(local_style.normal, new Color32(32, 32, 32, 150)); Util.Set_BG_Color(local_style.hover, new Color32(36, 36, 36, 255)); Util.Set_BG_Color(local_style.active, new Color(0.2f, 0.4f, 1f, 1f)); //Util.Set_BG_Color(local_style.active, new Color32(55, 55, 55, 255)); Border.active.color = new Color32(255, 255, 255, 200); icon = uiControl.Create <uiIcon>("icon", this); icon.SizeConstraint = uiSizeConstraint.WIDTH_MATCHES_HEIGHT; icon.Set_Padding(2); icon.Autosize = true; title = uiControl.Create <uiText>("title", this); //title.TextSize = 12; title.inherits_text_style = true; description = uiControl.Create <uiTextArea>("desc", this); description.Set_Margin(1, 1, 1, 1); description.TextSize = 12; description.TextStyle = FontStyle.Italic; description.TextColor = new Color32(255, 255, 255, 180); description.Text = null;// collapsed by default. }
public PluginManager() { onLayout += PluginManager_onLayout; Title = "Plugin Manager"; Set_Size(650, 400); Center(); onShown += PluginManager_onShown; onHidden += PluginManager_onHidden; list = Create <uiListView>(this); list.Set_Width(200f); list.Set_Margin(2, 0, 2, 2); top_wrapper = Create <uiWrapperPanel>(this); top_wrapper.Autosize_Method = AutosizeMethod.BLOCK; top_wrapper.Set_Margin(0, 0, 0, 2); top_wrapper.Set_Padding(2); top_wrapper.onLayout += Top_wrapper_onLayout; btn_store = Create <uiIconButton>(top_wrapper); btn_store.Text = "Plugin Store"; btn_store.Icon = TextureHelper.icon_arrow_left; btn_store.Border.type = uiBorderType.NONE; btn_store.Border.normal.color = Color.white; btn_store.Border.normal.size = new RectOffset(1, 1, 1, 1); btn_store.onClicked += (uiControl c) => { uiWindow.Switch(PluginStore.Instance); }; btn_donate = Create <uiIcon>(top_wrapper); btn_donate.Text = null; btn_donate.Image = (Texture2D)TextureHelper.Load_From_Resource("donate_btn.png", "SR_PluginLoader", (TextureOpFlags.NO_MIPMAPPING & TextureOpFlags.NO_WRAPPING)); btn_donate.Image_MouseOver = Util.Tint_Texture((Texture2D)TextureHelper.Load_From_Resource("donate_btn.png", "SR_PluginLoader", (TextureOpFlags.NO_MIPMAPPING & TextureOpFlags.NO_WRAPPING)), new Color(0.7f, 0.7f, 0.7f)); btn_donate.Border.type = uiBorderType.NONE; btn_donate.onClicked += (uiControl c) => { Process.Start("https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=DYGPA5XA4MWC2"); }; //CONTROL PANEL control_panel = Create <uiCollapser>("control_panel", this); control_panel.Autosize_Method = AutosizeMethod.BLOCK; control_panel.Set_Margin(2, 2, 2, 0); control_panel.Set_Padding(2); Util.Set_BG_Color(control_panel.local_style.normal, new Color(0f, 0f, 0f, 0.2f)); control_panel.onLayout += Control_panel_onLayout; control_panel.Collapse(); pl_toggle = Create <uiToggle>("pl_toggle", control_panel); pl_toggle.onChange += Pl_toggle_onChange; btn_copy_json = Create <uiButton>("copy_json", control_panel); btn_copy_json.Text = "Copy Json"; btn_copy_json.Set_Margin(3, 0); btn_copy_json.onClicked += Btn_copy_json_onClicked; // TABBED PANEL tabPanel = Create <uiTabPanel>(this); tabPanel.Autosize_Method = AutosizeMethod.FILL; tabPanel.disableBG = true; tabPanel.Set_Margin(2);// This margin gives us that light colored area surrounding the list and tabpanel pl_tab = tabPanel.Add_Tab(PLUGIN_TAB_NAME); tabPanel.CurrentTab.onLayout += tabPanel_onLayout; tabPanel.onChanged += TabPanel_onChanged; pl_tab.Set_Padding(3);// so we can distinguish where the plugin thumbnail's borders are // PLUGIN ERRORS PANEL pl_errors = Create <uiCollapser>(pl_tab); pl_errors.onLayout += Clps_errors_onLayout; pl_errors.Collapse(); var err_ico = Create <uiIcon>("err_ico", pl_errors); err_ico.Image = TextureHelper.icon_alert; err_ico.Set_Height(26); var err_lbl = Create <uiText>("err_lbl", pl_errors); err_lbl.TextColor = Color.red; err_lbl.Text = "Plugin experienced errors while loading!"; err_lbl.TextAlign = TextAnchor.MiddleLeft; err_lbl.Set_Margin(2, 0, 0, 0); // PLUGIN INFO pl_title = Create <uiText>("pl_title", pl_tab); pl_title.local_style.fontSize = 22; pl_title.local_style.fontStyle = FontStyle.Bold; pl_auth = Create <uiText>("pl_author", pl_tab); pl_vers = Create <uiText>("pl_vers", pl_tab); pl_desc = Create <uiTextArea>("pl_desc", pl_tab); pl_thumb = Create <uiIcon>("pl_thumb", pl_tab); pl_thumb.Border.normal.color = new Color(0f, 0f, 0f, 0.3f); pl_desc.Set_Margin(2); pl_desc.Set_Background(new Color(0.1f, 0.1f, 0.1f, 0.4f)); pl_desc.Set_Padding(2); pl_desc.Border.normal.color = new Color(0f, 0f, 0f, 0.3f); pl_desc.Autosize_Method = AutosizeMethod.BLOCK; // INSTRUCTIONS TAB tab_ins = tabPanel.Add_Tab(INSTRUCTION_TAB_NAME); tabPanel.CurrentTab.onLayout += InstructionsTab_onLayout; ins_title = Create <uiTextArea>(tabPanel); ins_title.Text = "Settings"; ins_title.TextSize = 20; ins_title.TextStyle = FontStyle.Bold; ins_text = Create <uiTextArea>(tabPanel); ins_text.Text = "Select a plugin from the list on the left to manage it's settings.\nOr, to browse more plugins for download, click the \"Plugin Store\" button at the top left of this window!"; ins_text.TextStyle = FontStyle.Italic; ins_text.Autosize = true; tab_need_plugins = tabPanel.Add_Tab(NEED_PLUGINS_TAB_NAME); tabPanel.CurrentTab.onLayout += NeedPluginsTab_onLayout; nop_wrapper = Create <uiWrapperPanel>(tabPanel); nop_wrapper.onLayout += Nop_Wrapper_onLayout; ins_no_plugins_text = Create <uiTextArea>(nop_wrapper); ins_no_plugins_text.Text = "You do not have any plugins installed!\nVisit the plugin store to find and install new plugins."; ins_no_plugins_text.TextSize = 16; ins_no_plugins_text.TextColor = new Color(1f, 0.1f, 0.1f, 0.9f); ins_no_plugins_text.TextStyle = FontStyle.Bold; ins_no_plugins_text.TextAlign = TextAnchor.UpperCenter; ins_no_plugins_text.Autosize = true; }