public void Start() { try { GameObject gameObject = GameObject.Find("FindItMainButton"); if (gameObject != null) { return; } isRicoEnabled = IsRicoEnabled(); isPOEnabled = IsPOEnabled(); isTVPPatchEnabled = IsTVPPatchEnabled(); if (isPOEnabled) { POTool = new ProceduralObjectsTool(); } list = AssetTagList.instance; UITabstrip tabstrip = ToolsModifierControl.mainToolbar.component as UITabstrip; m_defaultXPos = tabstrip.relativePosition.x; UpdateMainToolbar(); GameObject asGameObject = UITemplateManager.GetAsGameObject("MainToolbarButtonTemplate"); GameObject asGameObject2 = UITemplateManager.GetAsGameObject("ScrollableSubPanelTemplate"); mainButton = tabstrip.AddTab("FindItMainButton", asGameObject, asGameObject2, new Type[] { typeof(UIGroupPanel) }) as UIButton; mainButton.atlas = atlas; mainButton.normalBgSprite = "ToolbarIconGroup6Normal"; mainButton.focusedBgSprite = "ToolbarIconGroup6Focused"; mainButton.hoveredBgSprite = "ToolbarIconGroup6Hovered"; mainButton.pressedBgSprite = "ToolbarIconGroup6ressed"; mainButton.disabledBgSprite = "ToolbarIconGroup6Disabled"; mainButton.normalFgSprite = "FindIt"; mainButton.focusedFgSprite = "FindItFocused"; mainButton.hoveredFgSprite = "FindItHovered"; mainButton.pressedFgSprite = "FindItPressed"; mainButton.disabledFgSprite = "FindItDisabled"; mainButton.tooltip = "Find It! " + (ModInfo.isBeta ? "[BETA] " : "") + ModInfo.version; Locale locale = (Locale)typeof(LocaleManager).GetField("m_Locale", BindingFlags.Instance | BindingFlags.NonPublic).GetValue(LocaleManager.instance); Locale.Key key = new Locale.Key { m_Identifier = "TUTORIAL_ADVISER_TITLE", m_Key = mainButton.name }; if (!locale.Exists(key)) { locale.AddLocalizedString(key, "Find It! " + ModInfo.version); } key = new Locale.Key { m_Identifier = "TUTORIAL_ADVISER", m_Key = mainButton.name }; if (!locale.Exists(key)) { locale.AddLocalizedString(key, "Thanks for subscribing to Find It! 2.\n\nStart typing some keywords into the input field to find the desired asset.\n\nCheck the workshop page occasionally for new features or bug reports."); } FieldInfo m_ObjectIndex = typeof(MainToolbar).GetField("m_ObjectIndex", BindingFlags.Instance | BindingFlags.NonPublic); m_ObjectIndex.SetValue(ToolsModifierControl.mainToolbar, (int)m_ObjectIndex.GetValue(ToolsModifierControl.mainToolbar) + 1); mainButton.gameObject.GetComponent <TutorialUITag>().tutorialTag = name; m_groupPanel = tabstrip.GetComponentInContainer(mainButton, typeof(UIGroupPanel)) as UIGroupPanel; if (m_groupPanel != null) { m_groupPanel.name = "FindItGroupPanel"; m_groupPanel.enabled = true; m_groupPanel.component.isInteractive = true; m_groupPanel.m_OptionsBar = ToolsModifierControl.mainToolbar.m_OptionsBar; m_groupPanel.m_DefaultInfoTooltipAtlas = ToolsModifierControl.mainToolbar.m_DefaultInfoTooltipAtlas; if (ToolsModifierControl.mainToolbar.enabled) { m_groupPanel.RefreshPanel(); } scrollPanel = UIScrollPanel.Create(m_groupPanel.GetComponentInChildren <UIScrollablePanel>()); scrollPanel.eventClicked += OnButtonClicked; scrollPanel.eventVisibilityChanged += (c, p) => { HideAllOptionPanels(); if (p && scrollPanel.selectedItem != null) { // Simulate item click UIScrollPanelItem.ItemData item = scrollPanel.selectedItem; UIScrollPanelItem panelItem = scrollPanel.GetItem(0); panelItem.Display(scrollPanel.selectedItem, 0); panelItem.component.SimulateClick(); scrollPanel.selectedItem = item; scrollPanel.Refresh(); } }; scrollPanel.eventTooltipEnter += (c, p) => { UIScrollPanelItem.RefreshTooltipAltas(p.source); }; searchBox = scrollPanel.parent.AddUIComponent <UISearchBox>(); searchBox.scrollPanel = scrollPanel; searchBox.relativePosition = new Vector3(0, 0); searchBox.Search(); } else { Debugging.Message("GroupPanel not found"); } m_roadsPanel = FindObjectOfType <RoadsPanel>(); m_beautificationPanel = FindObjectOfType <BeautificationPanel>(); defaultPanel = GameObject.Find("FindItDefaultPanel").GetComponent <UIPanel>(); defaultPanelAtlas = defaultPanel.atlas; defaultPanelBackgroundSprite = defaultPanel.backgroundSprite; UpdateDefaultPanelBackground(); Debugging.Message("Initialized"); } catch (Exception e) { Debugging.Message("Start failed"); Debugging.LogException(e); enabled = false; } }
public void Start() { try { isRicoEnabled = IsRicoEnabled(); GameObject gameObject = GameObject.Find("FindItMainButton"); if (gameObject != null) { return; } list = AssetTagList.instance; UITabstrip tabstrip = ToolsModifierControl.mainToolbar.component as UITabstrip; // TODO: temporary /*tabstrip.eventComponentAdded += (c, p) => * { * foreach (UIComponent tab in tabstrip.tabPages.components) * { * DebugUtils.Log(tab.name); * * if(tab.name == "LandscapingPanel") * { * tab.components[0].relativePosition = new Vector3(0, -134); * tab.components[1].relativePosition = new Vector3(0, -109); * tab.components[1].height = 218; * foreach(UIScrollablePanel panel in tab.components[1].GetComponentsInChildren<UIScrollablePanel>()) * { * panel.autoLayoutStart = LayoutStart.TopLeft; * panel.scrollWheelDirection = UIOrientation.Vertical; * panel.scrollWheelAmount = 104; * panel.wrapLayout = true; * panel.width = 764; * } * } * } * };*/ m_defaultXPos = tabstrip.relativePosition.x; UpdateMainToolbar(); GameObject asGameObject = UITemplateManager.GetAsGameObject("MainToolbarButtonTemplate"); GameObject asGameObject2 = UITemplateManager.GetAsGameObject("ScrollableSubPanelTemplate"); mainButton = tabstrip.AddTab("FindItMainButton", asGameObject, asGameObject2, new Type[] { typeof(UIGroupPanel) }) as UIButton; mainButton.atlas = atlas; Locale locale = (Locale)typeof(LocaleManager).GetField("m_Locale", BindingFlags.Instance | BindingFlags.NonPublic).GetValue(LocaleManager.instance); Locale.Key key = new Locale.Key { m_Identifier = "TUTORIAL_ADVISER_TITLE", m_Key = mainButton.name }; if (!locale.Exists(key)) { locale.AddLocalizedString(key, "Find It! " + ModInfo.version); } key = new Locale.Key { m_Identifier = "TUTORIAL_ADVISER", m_Key = mainButton.name }; if (!locale.Exists(key)) { locale.AddLocalizedString(key, "Thanks for subscribing to Find It!\n\nStart typing some keywords into the input field to find the desired asset.\n\nIf you like the mod please consider leaving a rating on the steam workshop."); } FieldInfo m_ObjectIndex = typeof(MainToolbar).GetField("m_ObjectIndex", BindingFlags.Instance | BindingFlags.NonPublic); m_ObjectIndex.SetValue(ToolsModifierControl.mainToolbar, (int)m_ObjectIndex.GetValue(ToolsModifierControl.mainToolbar) + 1); mainButton.gameObject.GetComponent <TutorialUITag>().tutorialTag = name; m_groupPanel = tabstrip.GetComponentInContainer(mainButton, typeof(UIGroupPanel)) as UIGroupPanel; if (m_groupPanel != null) { m_groupPanel.name = "FindItGroupPanel"; m_groupPanel.enabled = true; m_groupPanel.component.isInteractive = true; m_groupPanel.m_OptionsBar = ToolsModifierControl.mainToolbar.m_OptionsBar; m_groupPanel.m_DefaultInfoTooltipAtlas = ToolsModifierControl.mainToolbar.m_DefaultInfoTooltipAtlas; if (ToolsModifierControl.mainToolbar.enabled) { m_groupPanel.RefreshPanel(); } scrollPanel = UIScrollPanel.Create(m_groupPanel.GetComponentInChildren <UIScrollablePanel>()); scrollPanel.eventClicked += OnButtonClicked; scrollPanel.eventVisibilityChanged += (c, p) => { HideAllOptionPanels(); if (p && scrollPanel.selectedItem != null) { // Simulate item click UIScrollPanelItem.ItemData item = scrollPanel.selectedItem; UIScrollPanelItem panelItem = scrollPanel.GetItem(0); panelItem.Display(scrollPanel.selectedItem, 0); panelItem.component.SimulateClick(); scrollPanel.selectedItem = item; scrollPanel.Refresh(); } }; scrollPanel.eventTooltipEnter += (c, p) => { UIScrollPanelItem.RefreshTooltipAltas(p.source); }; searchBox = scrollPanel.parent.AddUIComponent <UISearchBox>(); searchBox.scrollPanel = scrollPanel; searchBox.relativePosition = new Vector3(0, 0); searchBox.Search(); } else { DebugUtils.Warning("GroupPanel not found"); } mainButton.normalBgSprite = "ToolbarIconGroup6Normal"; mainButton.focusedBgSprite = "ToolbarIconGroup6Focused"; mainButton.hoveredBgSprite = "ToolbarIconGroup6Hovered"; mainButton.pressedBgSprite = "ToolbarIconGroup6ressed"; mainButton.disabledBgSprite = "ToolbarIconGroup6Disabled"; mainButton.normalFgSprite = "FindIt"; mainButton.focusedFgSprite = "FindItFocused"; mainButton.hoveredFgSprite = "FindItHovered"; mainButton.pressedFgSprite = "FindItPressed"; mainButton.disabledFgSprite = "FindItDisabled"; mainButton.tooltip = "Find It! " + ModInfo.version; m_beautificationPanel = FindObjectOfType <BeautificationPanel>(); DebugUtils.Log("Initialized"); } catch (Exception e) { DebugUtils.Log("Start failed"); DebugUtils.LogException(e); enabled = false; } }