Esempio n. 1
0
    public new void Awake()
    {
        base.Awake();
        //制造按钮
        btnCraft = transform.FindChild("Craft").GetComponent <Button>();
        btnCraft.onClick.AddListener(this.OnCraftClick);

        //合成类型
        craftClassPanel = transform.FindChild("Bg").FindChild("ClassBg").FindChild("ClassPanel").GetComponent <UIScrollPanel>();
        //合成物品
        craftItemPanel = transform.FindChild("Bg").FindChild("ItemBg").FindChild("ItemPanel").GetComponent <UIScrollPanel>();
        //slots
        for (int i = 0; i < CraftFormula.maxRawMatSorts; i++)
        {
            matSlot[i] = transform.FindChild("Bg").FindChild("MatBg").FindChild("MatSlot" + i).GetComponent <UIMatSlot>();
        }
        productSlot = transform.FindChild("Bg").FindChild("Product").GetComponent <UIMatSlot>();


        //订阅本地玩家创建事件
        EventManager.AddListener(EventId.LocalPlayerCreate, this.OnLocalPlayerCreate);
        //订阅本地玩家销毁事件
        EventManager.AddListener(EventId.LocalPlayerDestroy, this.OnLocalPlayerDestroy);
        //读取存档事件,背包数据会改变
        EventManager.AddListener(EventId.LocalPlayerLoad, this.OnLocalPlayerLoad);
    }
        public void create()
        {
            created = true;
            TooltipPanel.Instance = new TooltipPanel();
            TooltipPanel.Instance.Init();


            // if you set this to true, it will show up in game
            //visible = false;

            buttonPlayTexture1 = ModContent.GetTexture("LansToggleableBuffs/ui/checkbox");
            buttonPlayTexture2 = ModContent.GetTexture("LansToggleableBuffs/ui/checkboxunchecked");

            panel = new UIScrollPanel();             //initialize the panel
            // ignore these extra 0s
            this.Append(panel);

            panelwrapper = new LayoutWrapperUIElement(panel, 0, 0, 0, 0, 10, new LayoutVertical());

            updateSize();

            Main.OnResolutionChanged += delegate(Vector2 newSize)
            {
                updateSize();
            };
        }
    /// <summary>
    /// Initializes this instance.
    /// </summary>
    /// <param name="scrollPanel">The scroll panel this scroll item is part of.</param>
    /// <param name="includeInactive">if set to <c>true</c> inactive objects will
    ///                                 be considered in bounds calculations.</param>
    public void Initialize(UIScrollPanel scrollPanel, bool includeInactive)
    {
        base.InitializeElement();

        m_scrollPanel = scrollPanel;
        UpdateBounds(includeInactive);

        // Set initialized flag
        m_isInitialized = true;
    }
        /// <summary>
        /// Sets up the building scroll panel.
        /// </summary>
        /// <param name="parent"></param>
        /// <returns></returns>
        private void AddScrollPanel()
        {
            scrollPanel = buildingPanel.AddUIComponent <UIScrollPanel>();

            // Basic setup.
            scrollPanel.name       = "RICOScrollPanel";
            scrollPanel.autoLayout = false;
            scrollPanel.autoReset  = false;
            scrollPanel.autoSize   = false;
            scrollPanel.template   = "PlaceableItemTemplate";
            scrollPanel.itemWidth  = 109f;
            scrollPanel.itemHeight = 100f;
            scrollPanel.canSelect  = true;

            // Size and position.
            scrollPanel.size             = new Vector2(763, 100);
            scrollPanel.relativePosition = new Vector3(48, 5);

            // 'Left' and 'Right' buttons to scroll panel.
            scrollPanel.leftArrow  = ArrowButton("ArrowLeft", 16f);
            scrollPanel.rightArrow = ArrowButton("ArrowRight", 812f);

            // Event handler on grandparent size change.
            buildingPanel.parent.eventSizeChanged += (control, size) =>
            {
                // If we're visible, resize to match the new grandparent size.
                if (scrollPanel.isVisible)
                {
                    // New size.
                    scrollPanel.size = new Vector2((int)((size.x - 40f) / scrollPanel.itemWidth) * scrollPanel.itemWidth, (int)(size.y / scrollPanel.itemHeight) * scrollPanel.itemHeight);

                    // New relative position.
                    scrollPanel.relativePosition = new Vector3(scrollPanel.relativePosition.x, Mathf.Floor((size.y - scrollPanel.height) / 2));

                    // Move right arrow if it exists.
                    if (scrollPanel.rightArrow != null)
                    {
                        scrollPanel.rightArrow.relativePosition = new Vector3(scrollPanel.relativePosition.x + scrollPanel.width, 0);
                    }
                }
            };
        }
Esempio n. 5
0
        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;
            }
        }
Esempio n. 6
0
        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;
            }
        }
Esempio n. 7
0
        public UIScrollWindow(ScrollBarMode mode = ScrollBarMode.Vertical)
        {
            this.mode = mode;
            AutoSize = false;
            DebugColor = Color.White;

            ScrollPanel = new UIScrollPanel();
            ScrollPanel.AutoSize = true;
            ScrollPanel.DrawBounds = false;
            ScrollPanel.AbsorbPointer = false;
            ScrollPanel.AllowInsideScrolling = false;
            ScrollPanel.ContentScrolled += scrollPanel_ContentScrolled;

            if (mode == ScrollBarMode.Both)
            {
                fillerPanel = new UIPanel();
                fillerPanel.Color = new Color(240, 240, 240);
                fillerPanel.AutoSize = false;
                fillerPanel.Size = new Vector2(16, 16);
                fillerPanel.Alpha = 1f;
                fillerPanel.AddConstraint(Edge.BottomRight, this, Edge.BottomRight);
                base.AddChild(fillerPanel);
            }

            if (mode.ContainsFlag(ScrollBarMode.Vertical))
            {
                VerticalScrollBar = new UIScrollBar(UIScrollBar.ScrollBarOrientation.Vertical);
                VerticalScrollBar.ValueChanged += scrollBar_ValueChanged;
                VerticalScrollBar.Width = 16f;
                VerticalScrollBar.AddConstraint(Edge.TopRight, this, Edge.TopRight);

                if (fillerPanel != null)
                {
                    VerticalScrollBar.AddConstraint(Edge.Bottom, fillerPanel, Edge.Top);
                }
                else
                {
                    VerticalScrollBar.AddConstraint(Edge.Bottom, this, Edge.Bottom, mode.ContainsFlag(ScrollBarMode.Horizontal) ? VerticalScrollBar.Width : 0);
                }
                ScrollPanel.AddConstraint(Edge.Left, this, Edge.Left, 1);
                ScrollPanel.AddConstraint(Edge.Right, VerticalScrollBar, Edge.Left, -1);
                base.AddChild(VerticalScrollBar);
            }
            else
            {
                ScrollPanel.AddConstraint(Edge.Left, this, Edge.Left, 1);
                ScrollPanel.AddConstraint(Edge.Right, this, Edge.Right, -1);
            }

            if (mode.ContainsFlag(ScrollBarMode.Horizontal))
            {
                HorizontalScrollBar = new UIScrollBar(UIScrollBar.ScrollBarOrientation.Horizontal);
                HorizontalScrollBar.ValueChanged += scrollBar_ValueChanged;
                HorizontalScrollBar.Height = 16f;
                HorizontalScrollBar.AddConstraint(Edge.BottomLeft, this, Edge.BottomLeft);

                if (fillerPanel != null)
                {
                    HorizontalScrollBar.AddConstraint(Edge.Right, fillerPanel, Edge.Left);
                }
                else
                {
                    HorizontalScrollBar.AddConstraint(Edge.Right, this, Edge.Right, mode.ContainsFlag(ScrollBarMode.Vertical) ? HorizontalScrollBar.Height : 0);
                }

                ScrollPanel.AddConstraint(Edge.Top, this, Edge.Top, 1);
                ScrollPanel.AddConstraint(Edge.Bottom, HorizontalScrollBar, Edge.Top, -1);
                base.AddChild(HorizontalScrollBar);
            }
            else
            {
                ScrollPanel.AddConstraint(Edge.Top, this, Edge.Top, 1);
                ScrollPanel.AddConstraint(Edge.Bottom, this, Edge.Bottom, -1);
            }

            base.AddChild(ScrollPanel);
        }