public void InstantiateButtons(Action <PrioritySetting> on_click, bool playSelectionSound = true) { onClick = on_click; for (int i = 1; i <= 9; i++) { int num = i; PriorityButton priorityButton = Util.KInstantiateUI <PriorityButton>(buttonPrefab_basic.gameObject, buttonPrefab_basic.transform.parent.gameObject, false); buttons_basic.Add(priorityButton); priorityButton.playSelectionSound = playSelectionSound; priorityButton.onClick = onClick; priorityButton.text.text = num.ToString(); priorityButton.priority = new PrioritySetting(PriorityClass.basic, num); priorityButton.tooltip.SetSimpleTooltip(string.Format(UI.PRIORITYSCREEN.BASIC, num)); } buttonPrefab_basic.gameObject.SetActive(false); button_emergency.playSelectionSound = playSelectionSound; button_emergency.onClick = onClick; button_emergency.priority = new PrioritySetting(PriorityClass.topPriority, 1); button_emergency.tooltip.SetSimpleTooltip(UI.PRIORITYSCREEN.TOP_PRIORITY); button_toggleHigh.gameObject.SetActive(false); PriorityMenuContainer.SetActive(true); button_priorityMenu.gameObject.SetActive(true); button_priorityMenu.onClick += PriorityButtonClicked; button_priorityMenu.GetComponent <ToolTip>().SetSimpleTooltip(UI.PRIORITYSCREEN.OPEN_JOBS_SCREEN); diagram.SetActive(false); SetScreenPriority(new PrioritySetting(PriorityClass.basic, 5), false); }
private void SetHeaderButtonActive(KButton headerButton, bool activeState) { ImageToggleState component = headerButton.GetComponent <ImageToggleState>(); if ((UnityEngine.Object)component != (UnityEngine.Object)null) { component.SetActiveState(activeState); } }
protected override void OnShow(bool show) { //IL_001e: Unknown result type (might be due to invalid IL or missing references) base.OnShow(show); if (show) { return; } ToolTipScreen.Instance.ClearToolTip(closeButton.GetComponent <ToolTip>()); }
protected Button.ButtonClickedEvent SetupPopupMenu(ButtonInfo binfo, KButton button) { Button.ButtonClickedEvent buttonClickedEvent = new Button.ButtonClickedEvent(); UnityAction unityAction = delegate { List <ButtonInfo> list = new List <ButtonInfo>(); if (binfo.onPopulatePopup != null) { binfo.popupOptions = binfo.onPopulatePopup(); } string[] popupOptions = binfo.popupOptions; foreach (string text in popupOptions) { string delegate_str = text; list.Add(new ButtonInfo(delegate_str, delegate { binfo.onPopupClick(delegate_str); if (!keepMenuOpen) { Deactivate(); } }, Action.NumActions, null, null, null, true, null, null, null)); } KButtonMenu component = Util.KInstantiate(ScreenPrefabs.Instance.ButtonGrid.gameObject, null, null).GetComponent <KButtonMenu>(); component.SetButtons(list.ToArray()); RootMenu.Instance.AddSubMenu(component); Game.Instance.LocalPlayer.ScreenManager.ActivateScreen(component.gameObject, null, GameScreenManager.UIRenderTarget.ScreenSpaceOverlay); Vector3 b = default(Vector3); if (Util.IsOnLeftSideOfScreen(button.transform.GetPosition())) { b.x = button.GetComponent <RectTransform>().rect.width * 0.25f; } else { b.x = (0f - button.GetComponent <RectTransform>().rect.width) * 0.25f; } component.transform.SetPosition(button.transform.GetPosition() + b); }; binfo.onClick = unityAction; buttonClickedEvent.AddListener(unityAction); return(buttonClickedEvent); }
private void ConfigureButton(HierarchyReferences refs, string ref_id, int delta, GameObject widget_go) { KButton kButton = refs.GetReference(ref_id) as KButton; kButton.onClick += delegate { onChangePriority(widget_go, delta); }; ToolTip component = kButton.GetComponent <ToolTip>(); if ((UnityEngine.Object)component != (UnityEngine.Object)null) { component.OnToolTip = (() => onHoverWidget(widget_go, delta)); } }
private void AddExistingSaveFile(string filename) { KButton kButton = Util.KInstantiateUI <KButton>(oldSaveButtonPrefab.gameObject, oldSavesRoot.gameObject, true); HierarchyReferences component = kButton.GetComponent <HierarchyReferences>(); LocText component2 = component.GetReference <RectTransform>("Title").GetComponent <LocText>(); LocText component3 = component.GetReference <RectTransform>("Date").GetComponent <LocText>(); System.DateTime lastWriteTime = File.GetLastWriteTime(filename); component2.text = $"{Path.GetFileNameWithoutExtension(filename)}"; component3.text = string.Format("{0:H:mm:ss}" + Localization.GetFileDateFormat(0), lastWriteTime); kButton.onClick += delegate { Save(filename); }; }
protected override void OnShow(bool show) { base.OnShow(show); if (show) { AudioMixer.instance.Start(AudioMixerSnapshots.Get().ESCPauseSnapshot); MusicManager.instance.OnEscapeMenu(true); MusicManager.instance.PlaySong("Music_ESC_Menu", false); } else { ToolTipScreen.Instance.ClearToolTip(closeButton.GetComponent <ToolTip>()); AudioMixer.instance.Stop(AudioMixerSnapshots.Get().ESCPauseSnapshot, STOP_MODE.ALLOWFADEOUT); MusicManager.instance.OnEscapeMenu(false); MusicManager.instance.StopSong("Music_ESC_Menu", true, STOP_MODE.ALLOWFADEOUT); } }
protected override void OnSpawn() { base.OnSpawn(); dismissButton.onClick += Deactivate; LocText reference = dismissButton.GetComponent <HierarchyReferences>().GetReference <LocText>("Title"); reference.SetText(UI.FRONTEND.OPTIONS_SCREEN.BACK); closeButton.onClick += Deactivate; workshopButton.onClick += delegate { OnClickOpenWorkshop(); }; uninstallButton.onClick += delegate { OnClickUninstall(); }; uninstallButton.gameObject.SetActive(false); RebuildScreen(); }
private void AddExistingMod(string filename) { KButton freeElement = this.saveButtonPool.GetFreeElement(this.saveButtonRoot, true); freeElement.ClearOnClick(); LocText componentInChildren = freeElement.GetComponentInChildren <LocText>(); System.DateTime lastWriteTime = File.GetLastWriteTime(filename); componentInChildren.text = string.Format("{0}\n{1:H:mm:ss}\n" + Localization.GetFileDateFormat(1), Path.GetFileNameWithoutExtension(filename), lastWriteTime); freeElement.onClick += delegate { this.onClick(filename); }; bool flag = false; try { SaveGame.Header header; flag = (SaveLoader.LoadHeader(filename, out header).saveMajorVersion >= 7); } catch (Exception ex) { global::Debug.LogWarning("Corrupted save file: " + filename + "\n" + ex.ToString(), null); } if (flag) { freeElement.onDoubleClick += delegate { this.onClick(filename); this.DoLoad(); }; } ImageToggleState component = freeElement.GetComponent <ImageToggleState>(); component.colorStyleSetting = ((!flag) ? this.invalidSaveFileStyle : this.validSaveFileStyle); component.RefreshColorStyle(); component.SetState(ImageToggleState.State.Inactive); component.ResetColor(); freeElement.transform.SetAsLastSibling(); this.fileButtonMap.Add(filename, freeElement); }
public void ConfigureButtons(ModsScreen modsScreen) { _search.text = ""; _search.onValueChanged.AddListener( _ => { // This shouldn't ever be null, but good idea to check if (modsScreen != null) { Traverse.Create(modsScreen).Method("RebuildDisplay", typeof(object)).GetValue(); } } ); _clearSearchButton.onClick += () => _search.text = ""; var tt = _clearSearchButton.GetComponent <ToolTip>(); if (tt != null) { tt.toolTip = "Clear Search"; } }
public override GameObject GetHeaderWidget(GameObject parent) { GameObject widget_go = Util.KInstantiateUI(Assets.UIPrefabs.TableScreenWidgets.PriorityGroupSelectorHeader, parent, true); HierarchyReferences component = widget_go.GetComponent <HierarchyReferences>(); LayoutElement component2 = widget_go.GetComponentInChildren <LocText>().GetComponent <LayoutElement>(); float num3 = component2.preferredWidth = (component2.minWidth = 63f); Component reference = component.GetReference("Label"); LocText component3 = reference.GetComponent <LocText>(); component3.raycastTarget = true; ToolTip component4 = reference.GetComponent <ToolTip>(); if ((UnityEngine.Object)component4 != (UnityEngine.Object)null) { component4.OnToolTip = (() => onHoverWidget(widget_go)); } MultiToggle multiToggle = column_sort_toggle = widget_go.GetComponentInChildren <MultiToggle>(true); MultiToggle multiToggle2 = multiToggle; multiToggle2.onClick = (System.Action)Delegate.Combine(multiToggle2.onClick, (System.Action) delegate { onSortClicked(widget_go); }); ToolTip component5 = multiToggle.GetComponent <ToolTip>(); if ((UnityEngine.Object)component5 != (UnityEngine.Object)null) { component5.OnToolTip = (() => onSortHovered(widget_go)); } KButton kButton = component.GetReference("PrioritizeButton") as KButton; ToolTip component6 = kButton.GetComponent <ToolTip>(); if ((UnityEngine.Object)component6 != (UnityEngine.Object)null) { component6.OnToolTip = (() => onHoverHeaderOptionSelector(widget_go)); } return(widget_go); }
private GameObject CreateItem(int idx, Action <int> on_click, GameObject parent, bool is_selected_item) { GameObject gameObject = Util.KInstantiateUI(itemTemplate, parent, true); KButton component = gameObject.GetComponent <KButton>(); component.onClick += delegate { on_click(idx); }; Image fgImage = component.fgImage; ItemData itemData = options[idx]; fgImage.sprite = itemData.sprite; if ((UnityEngine.Object)parent == (UnityEngine.Object)selectedItemsPanel.gameObject) { HierarchyReferences component2 = component.GetComponent <HierarchyReferences>(); if ((UnityEngine.Object)component2 != (UnityEngine.Object)null) { Component reference = component2.GetReference("CancelImg"); if ((UnityEngine.Object)reference != (UnityEngine.Object)null) { reference.gameObject.SetActive(true); } } } ToolTip component3 = gameObject.GetComponent <ToolTip>(); component3.OnToolTip = delegate { Func <object, object, bool, string> getItemHoverText = itemCallbacks.getItemHoverText; object arg = widgetID; ItemData itemData2 = options[idx]; return(getItemHoverText(arg, itemData2.userData, is_selected_item)); }; return(gameObject); }
private void Refresh() { Debug.Assert(currentReport != null); if (currentReport.day == ReportManager.Instance.TodaysReport.day) { SetTitle(string.Format(UI.ENDOFDAYREPORT.DAY_TITLE_TODAY, currentReport.day)); } else if (currentReport.day == ReportManager.Instance.TodaysReport.day - 1) { SetTitle(string.Format(UI.ENDOFDAYREPORT.DAY_TITLE_YESTERDAY, currentReport.day)); } else { SetTitle(string.Format(UI.ENDOFDAYREPORT.DAY_TITLE, currentReport.day)); } bool flag = currentReport.day < ReportManager.Instance.TodaysReport.day; nextButton.isInteractable = flag; if (flag) { nextButton.GetComponent <ToolTip>().toolTip = string.Format(UI.ENDOFDAYREPORT.DAY_TITLE, currentReport.day + 1); nextButton.GetComponent <ToolTip>().enabled = true; } else { nextButton.GetComponent <ToolTip>().enabled = false; } flag = (currentReport.day > 1); prevButton.isInteractable = flag; if (flag) { prevButton.GetComponent <ToolTip>().toolTip = string.Format(UI.ENDOFDAYREPORT.DAY_TITLE, currentReport.day - 1); prevButton.GetComponent <ToolTip>().enabled = true; } else { prevButton.GetComponent <ToolTip>().enabled = false; } AddSpacer(0); int num = 1; foreach (KeyValuePair <ReportManager.ReportType, ReportManager.ReportGroup> reportGroup in ReportManager.Instance.ReportGroups) { ReportManager.ReportEntry entry = currentReport.GetEntry(reportGroup.Key); int num2 = num; ReportManager.ReportGroup value = reportGroup.Value; if (num2 != value.group) { ReportManager.ReportGroup value2 = reportGroup.Value; num = value2.group; AddSpacer(num); } int num3; if (entry.accumulate == 0f) { ReportManager.ReportGroup value3 = reportGroup.Value; num3 = (value3.reportIfZero ? 1 : 0); } else { num3 = 1; } bool flag2 = (byte)num3 != 0; ReportManager.ReportGroup value4 = reportGroup.Value; if (value4.isHeader) { CreateHeader(reportGroup.Value); } else if (flag2) { CreateOrUpdateLine(entry, reportGroup.Value, flag2); } } }
private void BuildDisplay() { foreach (DisplayedMod displayedMod in displayedMods) { DisplayedMod current = displayedMod; if ((UnityEngine.Object)current.rect_transform != (UnityEngine.Object)null) { UnityEngine.Object.Destroy(current.rect_transform.gameObject); } } displayedMods.Clear(); ModOrderingDragListener listener = new ModOrderingDragListener(this, displayedMods); for (int i = 0; i != Global.Instance.modManager.mods.Count; i++) { Mod mod = Global.Instance.modManager.mods[i]; if (mod.status != 0 && mod.status != Mod.Status.UninstallPending && mod.HasAnyContent(Content.LayerableFiles | Content.Strings | Content.DLL | Content.Animation)) { HierarchyReferences hierarchyReferences = Util.KInstantiateUI <HierarchyReferences>(entryPrefab, entryParent.gameObject, false); displayedMods.Add(new DisplayedMod { rect_transform = hierarchyReferences.gameObject.GetComponent <RectTransform>(), mod_index = i }); DragMe component = hierarchyReferences.GetComponent <DragMe>(); component.listener = listener; LocText reference = hierarchyReferences.GetReference <LocText>("Title"); reference.text = mod.title; ToolTip reference2 = hierarchyReferences.GetReference <ToolTip>("Description"); reference2.toolTip = mod.description; if (mod.crash_count != 0) { reference.color = Color.Lerp(Color.white, Color.red, (float)mod.crash_count / 3f); } KButton reference3 = hierarchyReferences.GetReference <KButton>("ManageButton"); reference3.isInteractable = mod.is_managed; if (reference3.isInteractable) { reference3.GetComponent <ToolTip>().toolTip = mod.manage_tooltip; reference3.onClick += mod.on_managed; } MultiToggle toggle = hierarchyReferences.GetReference <MultiToggle>("EnabledToggle"); toggle.ChangeState(mod.enabled ? 1 : 0); MultiToggle multiToggle = toggle; multiToggle.onClick = (System.Action)Delegate.Combine(multiToggle.onClick, (System.Action) delegate { OnToggleClicked(toggle, mod.label); }); toggle.GetComponent <ToolTip>().OnToolTip = (() => (!mod.enabled) ? UI.FRONTEND.MODS.TOOLTIPS.DISABLED : UI.FRONTEND.MODS.TOOLTIPS.ENABLED); hierarchyReferences.gameObject.SetActive(true); } } foreach (DisplayedMod displayedMod2 in displayedMods) { DisplayedMod current2 = displayedMod2; current2.rect_transform.gameObject.SetActive(true); } if (displayedMods.Count != 0) { return; } }
private void SetSandboxModeActive(bool active) { sandboxButton.GetComponent <HierarchyReferences>().GetReference("Checkmark").gameObject.SetActive(active); sandboxButton.isInteractable = !active; sandboxButton.gameObject.GetComponentInParent <CanvasGroup>().alpha = ((!active) ? 1f : 0.5f); }
private void SetSelectedGame(string filename) { if (string.IsNullOrEmpty(filename) || !File.Exists(filename)) { global::Debug.LogError("The filename provided is not valid.", null); } else { KButton kButton = (this.selectedFileName == null) ? null : this.fileButtonMap[this.selectedFileName]; if (kButton != null) { kButton.GetComponent <ImageToggleState>().SetState(ImageToggleState.State.Inactive); } this.selectedFileName = filename; kButton = this.fileButtonMap[this.selectedFileName]; kButton.GetComponent <ImageToggleState>().SetState(ImageToggleState.State.Active); this.moreInfoButton.gameObject.SetActive(false); try { SaveGame.Header header; SaveGame.GameInfo gameInfo = SaveLoader.LoadHeader(filename, out header); string format = UI.FRONTEND.LOADSCREEN.SAVEDETAILS; string text = string.Format("{0:H:mm:ss}\n" + Localization.GetFileDateFormat(0), File.GetLastWriteTime(filename)); string text2 = Path.GetFileName(filename); if (gameInfo.isAutoSave) { text2 += UI.FRONTEND.LOADSCREEN.AUTOSAVEWARNING; } string text3 = string.Format(format, new object[] { text2, text, gameInfo.baseName, gameInfo.numberOfDuplicants.ToString(), gameInfo.numberOfCycles.ToString() }); this.saveDetails.text = text3; if (ModScreen.IsSaveFileFromUnsupportedFutureBuild(header)) { this.saveDetails.text = string.Format(UI.FRONTEND.LOADSCREEN.SAVE_TOO_NEW, filename, header.buildVersion, 260525u); this.loadButton.isInteractable = false; this.loadButton.GetComponent <ImageToggleState>().SetState(ImageToggleState.State.Disabled); } else if (gameInfo.saveMajorVersion < 7) { this.saveDetails.text = string.Format(UI.FRONTEND.LOADSCREEN.UNSUPPORTED_SAVE_VERSION, new object[] { filename, gameInfo.saveMajorVersion, gameInfo.saveMinorVersion, 7, 3 }); this.loadButton.isInteractable = false; this.loadButton.GetComponent <ImageToggleState>().SetState(ImageToggleState.State.Disabled); } else if (!this.loadButton.isInteractable) { this.loadButton.isInteractable = true; this.loadButton.GetComponent <ImageToggleState>().SetState(ImageToggleState.State.Inactive); } } catch (Exception obj) { global::Debug.LogWarning(obj, null); this.saveDetails.text = string.Format(UI.FRONTEND.LOADSCREEN.CORRUPTEDSAVE, filename); if (this.loadButton.isInteractable) { this.loadButton.isInteractable = false; this.loadButton.GetComponent <ImageToggleState>().SetState(ImageToggleState.State.Disabled); } } } }
private void SetSelectedGame(string filename, string savename) { if (string.IsNullOrEmpty(filename) || !File.Exists(filename)) { Debug.LogError("The filename provided is not valid."); deleteButton.isInteractable = false; } else { deleteButton.isInteractable = true; KButton kButton = (selectedFileName == null) ? null : fileButtonMap[selectedFileName]; if ((UnityEngine.Object)kButton != (UnityEngine.Object)null) { kButton.GetComponent <ImageToggleState>().SetState(ImageToggleState.State.Inactive); } selectedFileName = filename; FileName.text = Path.GetFileName(selectedFileName); kButton = fileButtonMap[selectedFileName]; kButton.GetComponent <ImageToggleState>().SetState(ImageToggleState.State.Active); try { SaveGame.Header header; SaveGame.GameInfo gameInfo = SaveLoader.LoadHeader(filename, out header); string fileName = Path.GetFileName(filename); if (gameInfo.isAutoSave) { fileName = fileName + "\n" + UI.FRONTEND.LOADSCREEN.AUTOSAVEWARNING; } CyclesSurvivedValue.text = gameInfo.numberOfCycles.ToString(); DuplicantsAliveValue.text = gameInfo.numberOfDuplicants.ToString(); InfoText.text = string.Empty; if (IsSaveFileFromUnsupportedFutureBuild(header)) { InfoText.text = string.Format(UI.FRONTEND.LOADSCREEN.SAVE_TOO_NEW, filename, header.buildVersion, 365655u); loadButton.isInteractable = false; loadButton.GetComponent <ImageToggleState>().SetState(ImageToggleState.State.Disabled); } else if (gameInfo.saveMajorVersion < 7) { InfoText.text = string.Format(UI.FRONTEND.LOADSCREEN.UNSUPPORTED_SAVE_VERSION, filename, gameInfo.saveMajorVersion, gameInfo.saveMinorVersion, 7, 11); loadButton.isInteractable = false; loadButton.GetComponent <ImageToggleState>().SetState(ImageToggleState.State.Disabled); } else if (!loadButton.isInteractable) { loadButton.isInteractable = true; loadButton.GetComponent <ImageToggleState>().SetState(ImageToggleState.State.Inactive); } if (InfoText.text == string.Empty && gameInfo.isAutoSave) { InfoText.text = UI.FRONTEND.LOADSCREEN.AUTOSAVEWARNING; } } catch (Exception obj) { Debug.LogWarning(obj); InfoText.text = string.Format(UI.FRONTEND.LOADSCREEN.CORRUPTEDSAVE, filename); if (loadButton.isInteractable) { loadButton.isInteractable = false; loadButton.GetComponent <ImageToggleState>().SetState(ImageToggleState.State.Disabled); } deleteButton.isInteractable = false; } try { Sprite sprite = RetireColonyUtility.LoadColonyPreview(selectedFileName, savename); Image component = previewImageRoot.GetComponent <Image>(); component.sprite = sprite; component.color = ((!(bool)sprite) ? Color.black : Color.white); } catch (Exception obj2) { Debug.Log(obj2); } } }
public void OnSelect_SUBMIT() { submitButton.GetComponentInChildren <LocText>().text = UI.CRASHSCREEN.REPORTING; submitButton.GetComponent <KButton>().isInteractable = false; StartCoroutine(WaitForUIUpdateBeforeReporting()); }