Exemplo n.º 1
0
 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);
 }
Exemplo n.º 2
0
    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>());
 }
Exemplo n.º 4
0
    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));
        }
    }
Exemplo n.º 6
0
    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);
        };
    }
Exemplo n.º 7
0
 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);
     }
 }
Exemplo n.º 8
0
    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();
    }
Exemplo n.º 9
0
    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);
    }
Exemplo n.º 10
0
        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";
            }
        }
Exemplo n.º 11
0
    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);
    }
Exemplo n.º 12
0
    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);
 }
Exemplo n.º 16
0
 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);
             }
         }
     }
 }
Exemplo n.º 17
0
 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);
         }
     }
 }
Exemplo n.º 18
0
 public void OnSelect_SUBMIT()
 {
     submitButton.GetComponentInChildren <LocText>().text = UI.CRASHSCREEN.REPORTING;
     submitButton.GetComponent <KButton>().isInteractable = false;
     StartCoroutine(WaitForUIUpdateBeforeReporting());
 }