void catsubpanel_eventClick(UIComponent component, UIMouseEventParameter eventParam) { bool isCatActive = !CSLStatsPanelConfigSettings.isCatActive(component.name); CSLStatsPanelConfigSettings.setCatActive(component.name, isCatActive); CSLStatsPanelConfigSettings.m_ConfigChanged.value = true; UIButton b = (UIButton)component; b.textColor = (isCatActive) ? selectedcolor : deselectedcolor; b.focusedColor = (isCatActive) ? selectedcolor : deselectedcolor; b.parent.Focus(); component.color = (isCatActive) ? selectedcolor : deselectedcolor; component.parent.color = component.color; }
void statsubpanel_eventClick(UIComponent component, UIMouseEventParameter eventParam) { string[] mystring = component.name.Split('|'); bool isStatActive = !CSLStatsPanelConfigSettings.isStatActive(mystring[0], mystring[1]); CSLStatsPanelConfigSettings.setStatActive(mystring[0], mystring[1], isStatActive); CSLStatsPanelConfigSettings.m_ConfigChanged.value = true; UIButton b = (UIButton)component; b.textColor = (isStatActive) ? selectedcolor : deselectedcolor; b.focusedColor = b.textColor; b.focusedTextColor = b.textColor; b.parent.Focus(); component.color = (isStatActive) ? selectedcolor : deselectedcolor; //component.parent.color = component.color; //eventStatsConfigChanged(this, EventArgs.Empty); }
UIPanel drawstatsconfigpanel(StatisticsCategoryWrapper scw) { UIPanel catsubpanel = this.AddUIComponent <UIPanel>(); catpanels.Add(catsubpanel); catsubpanel.autoLayout = true; catsubpanel.wrapLayout = true; catsubpanel.autoLayoutDirection = LayoutDirection.Horizontal; catsubpanel.width = this.width - 5; catsubpanel.backgroundSprite = "GenericPanel"; //catsubpanel.height = 15; catsubpanel.autoLayoutPadding = new RectOffset(3, 3, 3, 3); bool catisChecked = CSLStatsPanelConfigSettings.isCatActive(scw.m_category); UIButton catname = catsubpanel.AddUIComponent <UIButton>(); catname.textColor = (catisChecked) ? selectedcolor : deselectedcolor; setcommonbuttonprops(catname); catname.autoSize = true; catname.text = scw.m_category; catname.name = scw.m_category; catsubpanel.color = (catisChecked) ? selectedcolor : deselectedcolor; catsubpanel.autoSize = true; catname.eventClick += new MouseEventHandler(catsubpanel_eventClick); for (int x = 0; x < scw.m_scwlist.Count(); x++) { bool isStatActive = CSLStatsPanelConfigSettings.isStatActive(scw.m_category, scw.m_scwlist[x].m_desc); UIButton statname = catsubpanel.AddUIComponent <UIButton>(); statname.name = scw.m_category + "|" + scw.m_scwlist[x].m_desc; statname.color = (isStatActive) ? selectedcolor : deselectedcolor; statname.textColor = (isStatActive) ? selectedcolor : deselectedcolor; setcommonbuttonprops(statname); statname.text = scw.m_scwlist[x].m_desc; statname.eventClick += new MouseEventHandler(statsubpanel_eventClick); } catsubpanel.FitChildrenVertically(); return(catsubpanel); }
public static void updateText() { if (cacheddata == null) { try { cacheddata = CSLStatsPanelConfigSettings.Categories(true); } catch { return; } } if (myStatsWindowPanel == null) { if (doReset) { doReset = false; statButton_eventClick(null, null); } else { return; } } if (!initialized) { return; } if (running) { return; } running = true; try { myStatsWindowPanel.updateText(cacheddata); myStatsWindowPanel.Update(); } finally { running = false; } }
void resetConfig_eventClick(UIComponent component, UIMouseEventParameter eventParam) { try { CSLStatsPanelConfigSettings.resetConfig(); string mydocs = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); if (System.IO.File.Exists(mydocs + "\\CSLStatsPanel\\CSLStatsPanelConfig.xml")) { System.IO.File.Delete(mydocs + "\\CSLStatsPanel\\CSLStatsPanelConfig.xml"); } if (System.IO.Directory.GetFiles(mydocs + "\\CSLStatsPanel").Count() == 0) { System.IO.Directory.Delete(mydocs + "\\CSLStatsPanel"); } CSLStatsPanelConfigSettings.m_ConfigChanged.value = true; UIView.DestroyImmediate(this.parent); } catch (Exception Ex) { statlog.log("resetConfig: " + Ex.Message); } }
void refreshtimer_Elapsed(object sender, System.Timers.ElapsedEventArgs e) { refreshtimer.Stop(); try { StatusWindowInterface.cacheddata = CSLStatsPanelConfigSettings.Categories(true); } catch (Exception ex) { statlog.log("refreshtimer_elapsed: " + ex.Message); } finally { int myrefreshrate = CSLStatsPanelConfigSettings.PanelRefreshRate; refreshtimer.Interval = myrefreshrate * 1000 - 10; if (refreshtimer.Interval < 990) { refreshtimer.Interval = 990; } refreshtimer.Start(); } }
void drawstatsconfig() { UIScrollablePanel p = this.AddUIComponent <UIScrollablePanel>(); p.autoLayoutDirection = LayoutDirection.Horizontal; p.autoLayout = true; p.backgroundSprite = "GenericPanel"; refreshIntervalLabel = p.AddUIComponent <UILabel>(); refreshIntervalLabel.text = "Refresh Interval (sec): "; refreshInterval = p.AddUIComponent <UITextField>(); refreshInterval.Enable(); refreshInterval.text = CSLStatsPanelConfigSettings.PanelRefreshRate.ToString(); refreshInterval.numericalOnly = true; refreshInterval.eventLeaveFocus += new FocusEventHandler(refreshInterval_eventLeaveFocus); UIButton decrementLabel = p.AddUIComponent <UIButton>(); setcommonbuttonprops(decrementLabel); decrementLabel.width = 5; decrementLabel.text = "-"; decrementLabel.eventClick += new MouseEventHandler(decrementLabel_eventClick); UIButton incrementLabel = p.AddUIComponent <UIButton>(); setcommonbuttonprops(incrementLabel); incrementLabel.width = 5; incrementLabel.text = "+"; incrementLabel.eventClick += new MouseEventHandler(incrementLabel_eventClick); p.FitChildrenHorizontally(); p.FitToContents(); UIPanel pOptions = this.AddUIComponent <UIPanel>(); catpanels.Add(pOptions); pOptions.autoLayout = true; pOptions.wrapLayout = true; pOptions.autoLayoutDirection = LayoutDirection.Horizontal; pOptions.width = this.width - 5; pOptions.autoLayoutPadding = new RectOffset(3, 3, 3, 3); useColors = pOptions.AddUIComponent <UIButton>(); setcommonbuttonprops(useColors); useColors.text = "Use Panel Colors"; useColors.tooltip = "Think colors are over-rated? Toggle them on/off"; useColors.eventClick += new MouseEventHandler(useColors_eventClick); useColors.textColor = (CSLStatsPanelConfigSettings.m_EnablePanelColors.value) ? selectedcolor : deselectedcolor; UIButton displaySummaries = pOptions.AddUIComponent <UIButton>(); setcommonbuttonprops(displaySummaries); displaySummaries.text = "% Summaries"; displaySummaries.tooltip = "Toggle display of % summaries in expanded mode."; displaySummaries.textColor = (CSLStatsPanelConfigSettings.m_EnablePanelSummaries.value) ? selectedcolor : deselectedcolor; displaySummaries.eventClick += new MouseEventHandler(displaySummaries_eventClick); UIButton miniMode = pOptions.AddUIComponent <UIButton>(); setcommonbuttonprops(miniMode); miniMode.text = "Mini-Mode"; miniMode.textColor = (CSLStatsPanelConfigSettings.m_MiniMode.value) ? selectedcolor : deselectedcolor; miniMode.eventClick += new MouseEventHandler(miniMode_eventClick); UIButton showLabelsInMiniMode = pOptions.AddUIComponent <UIButton>(); setcommonbuttonprops(showLabelsInMiniMode); showLabelsInMiniMode.text = "Labels in Mini-Mode"; showLabelsInMiniMode.tooltip = "Show service description labels while in mini-mode, turn this off to see only the icons"; showLabelsInMiniMode.autoSize = true; showLabelsInMiniMode.textColor = (CSLStatsPanelConfigSettings.m_ShowLabelsInMiniMode.value) ? selectedcolor : deselectedcolor; showLabelsInMiniMode.eventClick += new MouseEventHandler(showLabelsInMiniMode_eventClick); UIButton enableTransparency = pOptions.AddUIComponent <UIButton>(); setcommonbuttonprops(enableTransparency); enableTransparency.text = "Transparency"; enableTransparency.textColor = (CSLStatsPanelConfigSettings.m_EnableTransparency.value) ? selectedcolor : deselectedcolor; enableTransparency.eventClick += new MouseEventHandler(enableTransparency_eventClick); UIButton useVehicleStatsInSummaries = pOptions.AddUIComponent <UIButton>(); setcommonbuttonprops(useVehicleStatsInSummaries); useVehicleStatsInSummaries.text = "Vehicle Usage"; useVehicleStatsInSummaries.tooltip = "Use vehicle inuse/total on Summary % when it is higher than default used/capacity (excludes police)"; useVehicleStatsInSummaries.textColor = (CSLStatsPanelConfigSettings.m_UseVechileStatsForSummaries.value) ? selectedcolor : deselectedcolor; useVehicleStatsInSummaries.eventClick += new MouseEventHandler(useVehicleStatsInSummaries_eventClick); UIButton resetConfig = pOptions.AddUIComponent <UIButton>(); setcommonbuttonprops(resetConfig); resetConfig.text = "Reset Config"; resetConfig.textColor = resetConfig.focusedTextColor; resetConfig.eventClick += new MouseEventHandler(resetConfig_eventClick); UIButton customizeXMLConfig = pOptions.AddUIComponent <UIButton>(); setcommonbuttonprops(customizeXMLConfig); customizeXMLConfig.text = "Custom XML Config"; customizeXMLConfig.tooltip = "Creates or opens a copy config file for you to customize stats further."; customizeXMLConfig.autoSize = true; customizeXMLConfig.textColor = customizeXMLConfig.focusedTextColor; customizeXMLConfig.eventClick += customizeXMLConfig_eventClick; UIButton reloadXMLConfig = pOptions.AddUIComponent <UIButton>(); setcommonbuttonprops(reloadXMLConfig); reloadXMLConfig.text = "Reload XML Config"; reloadXMLConfig.tooltip = "Reload your custom XML config without having to reload your game."; reloadXMLConfig.autoSize = true; reloadXMLConfig.textColor = customizeXMLConfig.focusedTextColor; reloadXMLConfig.eventClick += reloadXMLConfig_eventClick; pOptions.autoSize = true; pOptions.FitChildrenVertically(); if (ThreadingCSLStatsMod.xmlconfigerror) { UIPanel pConfigError = this.AddUIComponent <UIPanel>(); //catpanels.Add(pWarning); pConfigError.autoLayout = true; pConfigError.wrapLayout = true; pConfigError.autoLayoutDirection = LayoutDirection.Horizontal; pConfigError.width = this.width - 5; pConfigError.autoLayoutPadding = new RectOffset(3, 3, 3, 3); UILabel customXmlConfigVersionWarning = pConfigError.AddUIComponent <UILabel>(); customXmlConfigVersionWarning.text = "" + "Error: Unable to load your custom configuration file. Please check the file for errors, or Reset Config to defaults."; customXmlConfigVersionWarning.textColor = customizeXMLConfig.focusedTextColor; pConfigError.autoSize = true; pConfigError.FitChildrenVertically(); } if (ThreadingCSLStatsMod.loadedXMLConfigVersion != ThreadingCSLStatsMod.defaultXMLConfigVersion) { UIPanel pWarning = this.AddUIComponent <UIPanel>(); //catpanels.Add(pWarning); pWarning.autoLayout = true; pWarning.wrapLayout = true; pWarning.autoLayoutDirection = LayoutDirection.Horizontal; pWarning.width = this.width - 5; pWarning.autoLayoutPadding = new RectOffset(3, 3, 3, 3); UILabel customXmlConfigVersionWarning = pWarning.AddUIComponent <UILabel>(); customXmlConfigVersionWarning.text = "" + "Warning: Your config file is version \"" + ThreadingCSLStatsMod.loadedXMLConfigVersion + "\"" + " a new version is available: \"" + ThreadingCSLStatsMod.defaultXMLConfigVersion + "\"."; customXmlConfigVersionWarning.textColor = customizeXMLConfig.focusedTextColor; customXmlConfigVersionWarning = pWarning.AddUIComponent <UILabel>(); customXmlConfigVersionWarning.text = "" + " You may be missing new stats / features that have been added, but reseting will remove your customizations"; customXmlConfigVersionWarning.textColor = customizeXMLConfig.focusedTextColor; pWarning.autoSize = true; pWarning.FitChildrenVertically(); } List <StatisticsCategoryWrapper> scw = CSLStatsPanelConfigSettings.Categories(false); for (int i = 0; i < scw.Count(); i++) { drawstatsconfigpanel(scw[i]); } }