示例#1
0
    public UIDialog(DialogMode mode)
    {
        m_Mode          = mode;
        m_BackgroundImg = new UIImage();
        m_Text          = new UIText();

        m_Block      = new UIBlock();
        m_Block.Rect = new Rect(0, 0, Screen.width, Screen.height);
        Add(m_Block);
        Add(m_BackgroundImg);
        Add(m_Text);
        if (m_Mode == DialogMode.YES_OR_NO)
        {
            m_YesButton   = new UITextButton();
            m_NoButton    = new UITextButton();
            m_CloseButton = new UIClickButton();
            Add(m_YesButton);
            Add(m_NoButton);
            Add(m_CloseButton);
        }
        else if (m_Mode == DialogMode.TAP_TO_DISMISS)
        {
            m_TipText = new UIText();
            Add(m_TipText);
        }

        SetUIHandler(this);
    }
示例#2
0
        public void OpenEditPanel(UIMessage message)
        {
            if (!screen.HasChild(panelEdit))
            {
                panelEdit = new UIPanel();
                panelEdit.Width.Set(0, 0.1f);
                panelEdit.Height.Set(0, 0.1f);
                panelEdit.Left.Pixels = Main.mouseX;
                panelEdit.Top.Pixels  = Main.mouseY;
                panelEdit.SetPadding(0);
                screen.Append(panelEdit);

                UITextButton buttonDelete = new UITextButton("Delete");
                buttonDelete.Width.Set(-16, 1);
                buttonDelete.Height.Set(-12, 0.5f);
                buttonDelete.Left.Pixels = 8;
                buttonDelete.Top.Pixels  = 8;
                buttonDelete.OnClick    += async delegate
                {
                    if (message.message.Author.Id == DTT.Instance.currentClient.CurrentUser.Id)
                    {
                        gridMessages.Remove(message);
                        gridMessages.RecalculateChildren();
                        screen.RemoveChild(panelEdit);

                        await message.message.DeleteAsync();
                    }
                };
                panelEdit.Append(buttonDelete);
            }
            else
            {
                screen.RemoveChild(panelEdit);
            }
        }
        public TapeMeasurePanel(Items.TapeMeasure measure) : base(measure)
        {
            Width.Percent  = 20;
            Height.Percent = 20;

            UIText textLabel = new UIText(Container.DisplayName.GetTranslation())
            {
                X = { Percent = 50 },
                HorizontalAlignment = HorizontalAlignment.Center
            };

            Add(textLabel);

            UITextButton buttonClose = new UITextButton("X")
            {
                Size        = new Vector2(20),
                X           = { Pixels = -20, Percent = 100 },
                Padding     = Padding.Zero,
                RenderPanel = false,
                HoverText   = Language.GetText("Mods.BaseLibrary.UI.Close")
            };

            buttonClose.OnClick += args => PanelUI.Instance.CloseUI(Container);
            Add(buttonClose);

            UIColorSelection wheel = new UIColorSelection(Container.Color)
            {
                Y      = { Pixels = 28 },
                Width  = { Percent = 100 },
                Height = { Pixels = -28, Percent = 100 }
            };

            Add(wheel);
        }
    // Use this for initialization
    void Start()
    {
        buttons          = new List <UIButton>();
        attributeViewMap = new Dictionary <AttributeType, UISkillView>();
        skillViewMap     = new Dictionary <SkillType, UISkillView>();

        Character character = avatarController.character;

        listController.inputModule = avatarController.inputModule;

        int k = 0;

        foreach (JournalEntry entry in PlayerJournal.entries)
        {
            UITextButton textButton = Instantiate(journalEntryPrefab);
            int          i          = k++;

            textButton.transform.SetParent(journalEntryParent);
            textButton.text = entry.header;

            textButton.onClick.AddListener(() => entrySelected(entry, i));

            buttons.Add(textButton);
        }

        selectedIndex = 0;
    }
        public SimpleBloodAnalyzer(TileEntities.SimpleBloodAnalyzer analyzer) : base(analyzer)
        {
            Width.Pixels  = 408;
            Height.Pixels = 172;

            UITextButton buttonClose = new UITextButton("X")
            {
                Size        = new Vector2(20),
                X           = { Percent = 100 },
                Padding     = Padding.Zero,
                RenderPanel = false
            };

            buttonClose.OnClick += args => PanelUI.Instance.CloseUI(Container);
            Add(buttonClose);

            UIText textLabel = new UIText("Simple Blood Analyzer")
            {
                Width  = { Percent = 100 },
                Height = { Pixels = 20 },
                HorizontalAlignment = HorizontalAlignment.Center
            };

            Add(textLabel);
        }
    private void updateView(IQuickMenuInteractionCollection collection)
    {
        interactions = collection.interactions;

        clearIcons();



        if (buttons == null)
        {
            buttons = new List <UITextButton>();
        }

        foreach (QuickMenuInteraction interaction in interactions)
        {
            UITextButton quickMenuIcon = createQuickMenuItem(interaction);
            quickMenuIcon.transform.SetParent(iconParent, false);
            buttons.Add(quickMenuIcon);
        }

        for (int i = 0; i < buttons.Count; i++)
        {
            buttons[i].neighborTop    = buttons[NeverdawnUtility.RepeatIndex(i - 1, buttons.Count)];
            buttons[i].neighborBottom = buttons[NeverdawnUtility.RepeatIndex(i + 1, buttons.Count)];
        }



        icon.sprite          = collection.icon;
        textLabel.text       = collection.label;
        textDescription.text = collection.description;
    }
    public void CreateKeyboard()
    {
        string keys  = "qwertyuiop";
        string keys2 = "asdfghjkl";
        string keys3 = "zxcvbnm";
        List <UITextButton> keyList = new List <UITextButton>();
        int count = 0;

        foreach (char c in keys)
        {
            Vector3    keyPos = new Vector3((float)(count % 10) * .6f - 2.7f, -1.8f, 0f);
            GameObject key    = (GameObject)Instantiate(keyPrefab, transform);
            key.transform.localPosition = keyPos;
            UITextButton keyScript = key.GetComponent <UITextButton>();
            keyScript.text.text = c.ToString();
            keyScript.keyType   = "keyboard";
            keyList.Add(keyScript);
            keyScript.initialScale         = new Vector3(.5f, .5f, .01f);
            keyScript.scaleSet             = true;
            keyScript.keyName              = c.ToString();
            keyScript.transform.localScale = new Vector3();
            count++;
        }
        count = 0;
        foreach (char c in keys2)
        {
            Vector3    keyPos = new Vector3((float)(count % 9) * .6f + .3f - 2.7f, -.6f - 1.8f, 0f);
            GameObject key    = (GameObject)Instantiate(keyPrefab, transform);
            key.transform.localPosition = keyPos;
            UITextButton keyScript = key.GetComponent <UITextButton>();
            keyScript.text.text = c.ToString();
            keyScript.keyType   = "keyboard";
            keyList.Add(keyScript);
            keyScript.initialScale         = new Vector3(.5f, .5f, .01f);
            keyScript.scaleSet             = true;
            keyScript.keyName              = c.ToString();
            keyScript.transform.localScale = new Vector3();
            count++;
        }
        count = 0;
        foreach (char c in keys3)
        {
            Vector3    keyPos = new Vector3((float)(count % 8) * .6f + .6f - 2.7f, -1.2f - 1.8f, 0f);
            GameObject key    = (GameObject)Instantiate(keyPrefab, transform);
            key.transform.localPosition = keyPos;
            UITextButton keyScript = key.GetComponent <UITextButton>();
            keyScript.text.text = c.ToString();
            keyScript.keyType   = "keyboard";
            keyList.Add(keyScript);
            keyScript.initialScale         = new Vector3(.5f, .5f, .01f);
            keyScript.scaleSet             = true;
            keyScript.keyName              = c.ToString();
            keyScript.transform.localScale = new Vector3();
            count++;
        }
    }
示例#8
0
        public UIMainMenu()
        {
            SetWidth(ScreenManager.Instance.ScreenWidth);
            SetHeight(ScreenManager.Instance.ScreenHeight);

            ConsumesMouse = false;

            Logo = new UIImage(new SpriteAnimation(Assets.Logo, 1, 1, true))
            {
                HAlign = 0.5f,
                VAlign = 0.3f,
                Scale  = 3.5f
            };

            UITextButton startGame = new UITextButton("New Game", 200, 50);

            startGame.Text.Scale    = 1f;
            startGame.HAlign        = 0.5f;
            startGame.VAlign        = 0.8f;
            startGame.TakesPriority = true;
            startGame.OnClick      += StartGame_OnClick;

            UITextButton endGame = new UITextButton("Quit", 200, 50);

            endGame.Text.Scale    = 1f;
            endGame.HAlign        = 0.5f;
            endGame.VAlign        = 0.9f;
            endGame.TakesPriority = true;
            endGame.OnClick      += EndGame_OnClick;

            Append(startGame);
            Append(endGame);

            Append(Logo);

            UIFadeIn fadeIn = new UIFadeIn()
            {
                Opacity = 3f
            };

            UIBKBLogo logo = new UIBKBLogo
            {
                HAlign = 0.5f,
                VAlign = 0.5f,
                Scale  = 0.5f
            };

            fadeIn.Append(logo);
            fadeIn.TakesPriority = true;

            Append(fadeIn);
            logoScale = 0;
        }
        public ProviderModulePanel(ProviderModule module) : base(module)
        {
            Width.Pixels  = 200;
            Height.Pixels = 64;

            UIText textLabel = new UIText("Provider Module")
            {
                Width  = { Percent = 100 },
                Height = { Pixels = 20 },
                X      = { Percent = 50 },
                HorizontalAlignment = HorizontalAlignment.Center
            };

            Add(textLabel);

            UITextButton buttonClose = new UITextButton("X")
            {
                Size        = new Vector2(20),
                X           = { Percent = 100 },
                Padding     = Padding.Zero,
                RenderPanel = false
            };

            buttonClose.OnClick += args => PanelUI.Instance.CloseUI(Container);
            Add(buttonClose);

            UIText textMode = new UIText(module.mode.ToString())
            {
                Width  = { Percent = 100 },
                Height = { Pixels = 20 },
                X      = { Percent = 50 },
                Y      = { Pixels = 28 },
                HorizontalAlignment = HorizontalAlignment.Center
            };

            textMode.OnMouseDown += args =>
            {
                if (args.Button != MouseButton.Left)
                {
                    return;
                }

                args.Handled = true;

                module.mode   = module.mode.NextEnum();
                textMode.Text = module.mode.ToString();
            };
            Add(textMode);
        }
示例#10
0
        public BaseBagPanel(BaseBag bag) : base((T)bag)
        {
            UIText textLabel = new UIText(Container.DisplayName.GetTranslation())
            {
                X = { Percent = 50 },
                HorizontalAlignment = HorizontalAlignment.Center
            };

            Add(textLabel);

            UIButton buttonLootAll = new UIButton(PortableStorage.textureLootAll)
            {
                Size      = new Vector2(20),
                HoverText = Language.GetText("LegacyInterface.29")
            };

            buttonLootAll.OnClick += args => ItemUtility.LootAll(Container.Handler, Main.LocalPlayer);
            Add(buttonLootAll);

            UIButton buttonDepositAll = new UIButton(PortableStorage.textureDepositAll)
            {
                Size      = new Vector2(20),
                X         = { Pixels = 28 },
                HoverText = Language.GetText("LegacyInterface.30")
            };

            buttonDepositAll.OnClick += args => ItemUtility.DepositAll(Container.Handler, Main.LocalPlayer);
            Add(buttonDepositAll);

            buttonQuickStack = new UIButton(PortableStorage.textureQuickStack)
            {
                Size      = new Vector2(20),
                X         = { Pixels = 56 },
                HoverText = Language.GetText("LegacyInterface.31")
            };
            buttonQuickStack.OnClick += args => ItemUtility.QuickStack(Container.Handler, Main.LocalPlayer);
            Add(buttonQuickStack);

            UITextButton buttonClose = new UITextButton("X")
            {
                Size        = new Vector2(20),
                X           = { Percent = 100 },
                Padding     = Padding.Zero,
                RenderPanel = false
            };

            buttonClose.OnClick += args => PanelUI.Instance.CloseUI(Container);
            Add(buttonClose);
        }
    //private void createAngles()
    //{
    //    itemSize = iconPrefab.GetComponent<RectTransform>().sizeDelta.y / 2.0f;

    //    angles = new float[infiniteModeTreshold + 1];
    //    angles[0] = angleOffset;

    //    for (int i = 1; i < infiniteModeTreshold; i++)
    //    {
    //        float scalePrev = Mathf.Clamp(1f - 0.1f * (i - 1), 0.5f, 1f);
    //        float scaleCurr = Mathf.Clamp(1f - 0.1f * i, 0.5f, 1f);

    //        float anglePrev = ((scalePrev * itemSize) / (2.0f * Mathf.PI * (radius + itemSize * scalePrev))) * 360.0f;
    //        float angleCurr = ((scaleCurr * itemSize) / (2.0f * Mathf.PI * (radius + itemSize * scaleCurr))) * 360.0f;

    //        angles[i] = angles[i - 1] + anglePrev + angleCurr + angleGap;
    //    }

    //    angles[0] -= 2;
    //}

    private UITextButton createQuickMenuItem(QuickMenuInteraction interaction)
    {
        UITextButton button = Instantiate(buttonPrefab);

        button.text = interaction.label;
        // button.SetIconSprite(interaction.GetIcon());
        //iconButton.angles = angles;
        //iconButton.radius = radius;
        //iconButton.size = itemSize;

        button.onClick.AddListener(() => interactionClicked(interaction));
        button.onSelect.AddListener(() => updateSelection(interaction));



        return(button);
    }
示例#12
0
        public ConsumerModulePanel(ConsumerModule module) : base(module)
        {
            Width.Pixels  = 16 + (SlotSize + SlotMargin) * 9 - SlotMargin;
            Height.Pixels = 44 + SlotSize;

            UIText textLabel = new UIText("Consumer Module")
            {
                Width  = { Percent = 100 },
                Height = { Pixels = 20 },
                X      = { Percent = 50 },
                HorizontalAlignment = HorizontalAlignment.Center
            };

            Add(textLabel);

            UITextButton buttonClose = new UITextButton("X")
            {
                Size        = new Vector2(20),
                X           = { Percent = 100 },
                Padding     = Padding.Zero,
                RenderPanel = false
            };

            buttonClose.OnClick += args => PanelUI.Instance.CloseUI(Container);
            Add(buttonClose);

            UIGrid <UIConsumerSlot> gridSlots = new UIGrid <UIConsumerSlot>(9)
            {
                Y      = { Pixels = 28 },
                Width  = { Percent = 100 },
                Height = { Pixels = -28, Percent = 100 }
            };

            Add(gridSlots);

            for (int i = 0; i < module.Items.Count; i++)
            {
                UIConsumerSlot slot = new UIConsumerSlot(module, i);
                gridSlots.Add(slot);
            }
        }
示例#13
0
        public QEChestPanel(QEChest chest) : base(chest)
        {
            Width.Pixels  = 16 + (SlotSize + SlotMargin) * 9 - SlotMargin;
            Height.Pixels = 44 + (SlotSize + SlotMargin) * 3 - SlotMargin;

            UIText textLabel = new UIText(Language.GetText("Mods.QuantumStorage.MapObject.QEChest"))
            {
                X = { Percent = 50 },
                HorizontalAlignment = HorizontalAlignment.Center
            };

            Add(textLabel);

            UITextButton buttonReset = new UITextButton("R")
            {
                Size        = new Vector2(20),
                RenderPanel = false,
                Padding     = BaseLibrary.UI.Padding.Zero,
                HoverText   = Language.GetText("Mods.QuantumStorage.UI.Reset")
            };

            buttonReset.OnClick += args =>
            {
                if (!Container.frequency.IsSet)
                {
                    for (int i = 0; i < 3; i++)
                    {
                        Main.LocalPlayer.PutItemInInventory(Utility.ColorToItem(Container.frequency[i]));
                    }

                    Container.frequency = new Frequency();
                    if (Main.netMode == NetmodeID.MultiplayerClient)
                    {
                        NetMessage.SendData(MessageID.TileEntitySharing, -1, -1, null, Container.ID, Container.Position.X, Container.Position.Y);
                    }
                }
                else
                {
                    for (int i = 0; i < 3; i++)
                    {
                        Main.LocalPlayer.PutItemInInventory(Utility.ColorToItem(Container.frequency[i]));
                    }

                    Container.frequency = new Frequency();
                    if (Main.netMode == NetmodeID.MultiplayerClient)
                    {
                        NetMessage.SendData(MessageID.TileEntitySharing, -1, -1, null, Container.ID, Container.Position.X, Container.Position.Y);
                    }

                    Remove(GridItems);

                    InitializeFrequencySelection();
                    for (int i = 0; i < 3; i++)
                    {
                        Add(buttonsFrequency[i]);
                    }
                    Add(buttonInitialize);
                }
            };
            Add(buttonReset);

            UITextButton buttonClose = new UITextButton("X")
            {
                Size        = new Vector2(20),
                X           = { Percent = 100 },
                RenderPanel = false,
                Padding     = BaseLibrary.UI.Padding.Zero,
                HoverText   = Language.GetText("Mods.BaseLibrary.UI.Close")
            };

            buttonClose.OnClick += args => PanelUI.Instance.CloseUI(Container);
            Add(buttonClose);

            if (!Container.frequency.IsSet)
            {
                InitializeFrequencySelection();
                for (int i = 0; i < 3; i++)
                {
                    Add(buttonsFrequency[i]);
                }
                Add(buttonInitialize);
            }
            else
            {
                Add(GridItems);
            }
        }
示例#14
0
        private void InitializeFrequencySelection()
        {
            buttonsFrequency = new UIButton[3];
            for (int i = 0; i < 3; i++)
            {
                int pos = i;
                buttonsFrequency[i] = new UIButton(QuantumStorage.textureGemsMiddle, new Rectangle(8 * (int)Container.frequency[pos], 0, 8, 10))
                {
                    Size = new Vector2(16, 20),
                    X    = { Percent = 40 + 10 * pos },
                    Y    = { Percent = 50 }
                };
                buttonsFrequency[i].OnClick += args =>
                {
                    if (Utility.ValidItems.ContainsKey(Main.mouseItem.type))
                    {
                        if (Container.frequency[pos] != Colors.None)
                        {
                            Main.LocalPlayer.PutItemInInventory(Utility.ColorToItem(Container.frequency[pos]));
                        }

                        Container.frequency[pos]              = Utility.ValidItems[Main.mouseItem.type];
                        buttonsFrequency[pos].texture         = QuantumStorage.textureGemsMiddle;
                        buttonsFrequency[pos].sourceRectangle = new Rectangle(8 * (int)Container.frequency[pos], 0, 8, 10);
                        if (Main.netMode == NetmodeID.MultiplayerClient)
                        {
                            NetMessage.SendData(MessageID.TileEntitySharing, -1, -1, null, Container.ID, Container.Position.X, Container.Position.Y);
                        }

                        Main.mouseItem.stack--;
                        if (Main.mouseItem.stack <= 0)
                        {
                            Main.mouseItem.TurnToAir();
                        }

                        if (Container.frequency.IsSet)
                        {
                            buttonInitialize.text = Language.GetTextValue("Mods.QuantumStorage.UI.Initialize");
                        }
                    }
                };
            }

            buttonInitialize = new UITextButton(Language.GetText("Mods.QuantumStorage.UI.InsertGems"))
            {
                Width  = { Pixels = -64, Percent = 100 },
                Height = { Pixels = 40 },
                Y      = { Percent = 100 },
                X      = { Percent = 50 }
            };
            buttonInitialize.OnClick += args =>
            {
                if (!Container.frequency.IsSet)
                {
                    return;
                }

                for (int i = 0; i < 3; i++)
                {
                    Remove(buttonsFrequency[i]);
                }
                Remove(buttonInitialize);

                Add(GridItems);
            };
        }
示例#15
0
        public MiningLaserPanel(MiningLaser container) : base(container)
        {
            Width.Pixels    = 400;
            Height.Pixels   = 232;
            BackgroundColor = new Color(38, 49, 90);

            UIText textLabel = new UIText(Language.GetText("Mods.Gelum.MapObject.MiningLaser"))
            {
                X = { Percent = 50 },
                HorizontalAlignment = HorizontalAlignment.Center
            };

            Add(textLabel);

            UIEnergyStore energy = new UIEnergyStore(container)
            {
                Width  = { Pixels = 64 },
                Height = { Pixels = 64 },
                X      = { Percent = 50 },
                Y      = { Pixels = 28 }
            };

            Add(energy);

            UIContainerSlot slot = new UIContainerSlot(() => Handler)
            {
                X      = { Percent = 50 },
                Y      = { Percent = 100 },
                Width  = { Pixels = 54 },
                Height = { Pixels = 54 }
            };

            Add(slot);

            #region Radius
            UIText textRadius = new UIText("Radius: " + container.radius)
            {
                X = { Percent = 50 },
                Y = { Pixels = 105 },
                HorizontalAlignment = HorizontalAlignment.Center
            };
            Add(textRadius);

            UITextButton buttonDecRadius = new UITextButton("--")
            {
                Y       = { Pixels = 100 },
                Width   = { Pixels = 40 },
                Height  = { Pixels = 20 },
                Padding = Padding.Zero
            };
            buttonDecRadius.OnClick += _ =>
            {
                if (container.radius > 10)
                {
                    container.radius     -= 10;
                    container.CurrentTile = Point16.NegativeOne;
                }

                textRadius.Text = "Radius: " + container.radius;
            };
            Add(buttonDecRadius);

            buttonDecRadius = new UITextButton("-")
            {
                X       = { Pixels = 48 },
                Y       = { Pixels = 100 },
                Width   = { Pixels = 40 },
                Height  = { Pixels = 20 },
                Padding = Padding.Zero
            };
            buttonDecRadius.OnClick += _ =>
            {
                if (container.radius > 1)
                {
                    container.radius--;
                    container.CurrentTile = Point16.NegativeOne;
                }

                textRadius.Text = "Radius: " + container.radius;
            };
            Add(buttonDecRadius);

            UITextButton buttonIncRadius = new UITextButton("+")
            {
                X       = { Percent = 100, Pixels = -48 },
                Y       = { Pixels = 100 },
                Width   = { Pixels = 40 },
                Height  = { Pixels = 20 },
                Padding = Padding.Zero
            };
            buttonIncRadius.OnClick += _ =>
            {
                container.radius++;
                container.CurrentTile = Point16.NegativeOne;
                textRadius.Text       = "Radius: " + container.radius;
            };
            Add(buttonIncRadius);

            buttonIncRadius = new UITextButton("++")
            {
                X       = { Percent = 100 },
                Y       = { Pixels = 100 },
                Width   = { Pixels = 40 },
                Height  = { Pixels = 20 },
                Padding = Padding.Zero
            };
            buttonIncRadius.OnClick += _ =>
            {
                container.radius     += 10;
                container.CurrentTile = Point16.NegativeOne;
                textRadius.Text       = "Radius: " + container.radius;
            };
            Add(buttonIncRadius);
            #endregion

            #region Depth
            UIText textDepth = new UIText("Depth: " + container.height)
            {
                X = { Percent = 50 },
                Y = { Pixels = 128 },
                HorizontalAlignment = HorizontalAlignment.Center
            };
            Add(textDepth);

            UITextButton buttonDecDepth = new UITextButton("---")
            {
                Y       = { Pixels = 128 },
                Width   = { Pixels = 40 },
                Height  = { Pixels = 20 },
                Padding = Padding.Zero
            };
            buttonDecDepth.OnClick += _ =>
            {
                if (container.height > 100)
                {
                    container.height     -= 100;
                    container.CurrentTile = Point16.NegativeOne;
                }

                textDepth.Text = "Depth: " + container.height;
            };
            Add(buttonDecDepth);

            buttonDecDepth = new UITextButton("--")
            {
                X       = { Pixels = 48 },
                Y       = { Pixels = 128 },
                Width   = { Pixels = 40 },
                Height  = { Pixels = 20 },
                Padding = Padding.Zero
            };
            buttonDecDepth.OnClick += _ =>
            {
                if (container.height > 10)
                {
                    container.height     -= 10;
                    container.CurrentTile = Point16.NegativeOne;
                }

                textDepth.Text = "Depth: " + container.height;
            };
            Add(buttonDecDepth);

            buttonDecDepth = new UITextButton("-")
            {
                X       = { Pixels = 96 },
                Y       = { Pixels = 128 },
                Width   = { Pixels = 40 },
                Height  = { Pixels = 20 },
                Padding = Padding.Zero
            };
            buttonDecDepth.OnClick += _ =>
            {
                if (container.height > 1)
                {
                    container.height--;
                    container.CurrentTile = Point16.NegativeOne;
                }

                textDepth.Text = "Depth: " + container.height;
            };
            Add(buttonDecDepth);

            UITextButton buttonIncDepth = new UITextButton("+")
            {
                X       = { Percent = 100, Pixels = -96 },
                Y       = { Pixels = 128 },
                Width   = { Pixels = 40 },
                Height  = { Pixels = 20 },
                Padding = Padding.Zero
            };
            buttonIncDepth.OnClick += _ =>
            {
                container.height++;
                container.CurrentTile = Point16.NegativeOne;
                textDepth.Text        = "Depth: " + container.height;
            };
            Add(buttonIncDepth);

            buttonIncDepth = new UITextButton("++")
            {
                X       = { Percent = 100, Pixels = -48 },
                Y       = { Pixels = 128 },
                Width   = { Pixels = 40 },
                Height  = { Pixels = 20 },
                Padding = Padding.Zero
            };
            buttonIncDepth.OnClick += _ =>
            {
                container.height     += 10;
                container.CurrentTile = Point16.NegativeOne;
                textDepth.Text        = "Depth: " + container.height;
            };
            Add(buttonIncDepth);

            buttonIncDepth = new UITextButton("+++")
            {
                X       = { Percent = 100 },
                Y       = { Pixels = 128 },
                Width   = { Pixels = 40 },
                Height  = { Pixels = 20 },
                Padding = Padding.Zero
            };
            buttonIncDepth.OnClick += _ =>
            {
                container.height     += 100;
                container.CurrentTile = Point16.NegativeOne;
                textDepth.Text        = "Depth: " + container.height;
            };
            Add(buttonIncDepth);
            #endregion
        }
示例#16
0
        public TestChestUI(TestChestTE chest) : base(chest)
        {
            Width.Pixels  = 408;
            Height.Pixels = 172;

            UITextButton buttonClose = new UITextButton("X")
            {
                Size        = new Vector2(20),
                X           = { Percent = 100 },
                Padding     = Padding.Zero,
                RenderPanel = false
            };

            buttonClose.OnClick += args => PanelUI.Instance.CloseUI(Container);
            Add(buttonClose);

            UIText textLabel = new UIText("Test Chest")
            {
                Width  = { Percent = 100 },
                Height = { Pixels = 20 },
                HorizontalAlignment = HorizontalAlignment.Center
            };

            Add(textLabel);

            UIButton buttonLootAll = new UIButton(Routed.textureLootAll)
            {
                Size      = new Vector2(20),
                HoverText = Language.GetText("LegacyInterface.29")
            };

            buttonLootAll.OnClick += args => ItemUtility.LootAll(Container.Handler, Main.LocalPlayer);
            Add(buttonLootAll);

            UIButton buttonDepositAll = new UIButton(Routed.textureDepositAll)
            {
                Size      = new Vector2(20),
                X         = { Pixels = 28 },
                HoverText = Language.GetText("LegacyInterface.30")
            };

            buttonDepositAll.OnClick += args => ItemUtility.DepositAll(Container.Handler, Main.LocalPlayer);
            Add(buttonDepositAll);

            UIButton buttonQuickStack = new UIButton(Routed.textureQuickStack)
            {
                Size      = new Vector2(20),
                X         = { Pixels = 56 },
                HoverText = Language.GetText("LegacyInterface.31")
            };

            buttonQuickStack.OnClick += args => ItemUtility.QuickStack(Container.Handler, Main.LocalPlayer);
            Add(buttonQuickStack);

            UIGrid <UIContainerSlot> gridItems = new UIGrid <UIContainerSlot>(9)
            {
                Width      = { Percent = 100 },
                Height     = { Pixels = -28, Percent = 100 },
                Y          = { Pixels = 28 },
                ItemMargin = 4
            };

            Add(gridItems);

            for (int i = 0; i < Container.Handler.Slots; i++)
            {
                UIContainerSlot slot = new UIContainerSlot(() => Container.Handler, i);
                gridItems.Add(slot);
            }
        }
        public QEBucketPanel(QEBucket bucket) : base(bucket)
        {
            Width.Pixels  = 408;
            Height.Pixels = 172;


            UIText textLabel = new UIText(Container.DisplayName.GetTranslation())
            {
                X = { Percent = 50 },
                HorizontalAlignment = HorizontalAlignment.Center
            };

            Add(textLabel);

            UITextButton buttonReset = new UITextButton("R")
            {
                Size        = new Vector2(20),
                RenderPanel = false,
                Padding     = Padding.Zero,
                HoverText   = Language.GetText("Mods.QuantumStorage.UI.Reset")
            };

            buttonReset.OnClick += args =>
            {
                if (!Container.frequency.IsSet)
                {
                    for (int i = 0; i < 3; i++)
                    {
                        Main.LocalPlayer.PutItemInInventory(Utility.ColorToItem(Container.frequency[i]));
                    }

                    Container.frequency = new Frequency();
                    if (Main.netMode == NetmodeID.MultiplayerClient)
                    {
                        NetMessage.SendData(MessageID.SyncItem, -1, -1, null, Container.item.whoAmI, 1f);
                    }
                }
                else
                {
                    for (int i = 0; i < 3; i++)
                    {
                        Main.LocalPlayer.PutItemInInventory(Utility.ColorToItem(Container.frequency[i]));
                    }

                    Container.frequency = new Frequency();
                    if (Main.netMode == NetmodeID.MultiplayerClient)
                    {
                        NetMessage.SendData(MessageID.SyncItem, -1, -1, null, Container.item.whoAmI, 1f);
                    }

                    Remove(TankFluid);

                    InitializeFrequencySelection();
                    for (int i = 0; i < 3; i++)
                    {
                        Add(buttonsFrequency[i]);
                    }
                    Add(buttonInitialize);
                }
            };
            Add(buttonReset);

            UITextButton buttonClose = new UITextButton("X")
            {
                Size        = new Vector2(20),
                X           = { Percent = 100 },
                RenderPanel = false,
                Padding     = Padding.Zero,
                HoverText   = Language.GetText("Mods.BaseLibrary.UI.Close")
            };

            buttonClose.OnClick += args => PanelUI.Instance.CloseUI(Container);
            Add(buttonClose);

            if (!Container.frequency.IsSet)
            {
                InitializeFrequencySelection();

                for (int i = 0; i < 3; i++)
                {
                    Add(buttonsFrequency[i]);
                }
                Add(buttonInitialize);
            }
            else
            {
                Add(TankFluid);
            }
        }
示例#18
0
    // Use this for initialization
    public GameOverUI()
    {
        uiPos  = new GameOverUIPosition();
        texPos = new GameOverTexturePosition();

        gameState      = GameApp.GetInstance().GetGameState();
        selectedWeapon = gameState.GetWeapons()[0];

        gameuiMaterial = UIResourceMgr.GetInstance().GetMaterial("GameUI");
        Material buttonsMaterial = UIResourceMgr.GetInstance().GetMaterial("Buttons");

        retryButton = new UITextButton();

        retryButton.Rect = AutoRect.AutoPos(uiPos.RetryButton);
        retryButton.SetTexture(UIButtonBase.State.Normal, buttonsMaterial, ButtonsTexturePosition.ButtonNormal, AutoRect.AutoSize(ButtonsTexturePosition.ButtonNormal));
        retryButton.SetTexture(UIButtonBase.State.Pressed, buttonsMaterial, ButtonsTexturePosition.ButtonPressed, AutoRect.AutoSize(ButtonsTexturePosition.ButtonPressed));
        retryButton.SetText(ConstData.FONT_NAME1, "RETRY", ColorName.fontColor_orange);

        quitButton = new UITextButton();

        quitButton.Rect = AutoRect.AutoPos(uiPos.QuitButton);
        quitButton.SetTexture(UIButtonBase.State.Normal, buttonsMaterial, ButtonsTexturePosition.ButtonNormal, AutoRect.AutoSize(ButtonsTexturePosition.ButtonNormal));
        quitButton.SetTexture(UIButtonBase.State.Pressed, buttonsMaterial, ButtonsTexturePosition.ButtonPressed, AutoRect.AutoSize(ButtonsTexturePosition.ButtonPressed));
        quitButton.SetText(ConstData.FONT_NAME1, "QUIT", ColorName.fontColor_orange);


        dialogImage = new UIImage();
        dialogImage.SetTexture(gameuiMaterial,

                               GameUITexturePosition.Dialog, AutoRect.AutoSize(GameUITexturePosition.Dialog));

        dialogImage.Rect = AutoRect.AutoPos(uiPos.DialogImage);

        mask = new UIImage();
        mask.SetTexture(gameuiMaterial, GameUITexturePosition.Mask, AutoRect.AutoSize(uiPos.Mask));
        mask.Rect = AutoRect.AutoValuePos(uiPos.Mask);

        gameoverLabel = new UITextImage();
        gameoverLabel.SetTexture(buttonsMaterial,

                                 ButtonsTexturePosition.Label, ButtonsTexturePosition.LargeLabelSize * 0.1f);


        gameoverLabel.Rect = AutoRect.AutoPos(uiPos.GameOverLabel);
        //gameoverLabel.SetText(ConstData.FONT_NAME1, " GAME OVER", ColorName.fontColor_orange);



        cashText = new UIText();
        cashText.Set(ConstData.FONT_NAME1, "Cash", ColorName.fontColor_orange);
        cashText.Rect = AutoRect.AutoPos(uiPos.CashText);


        /*
         * surviveTimeText = new UIText();
         * surviveTimeText.Set(ConstData.FONT_NAME2, "TIME ", ColorName.fontColor_darkorange);
         * surviveTimeText.Rect = uiPos.SurviveTimeText;
         */

        firstLineText = new UIText();
        firstLineText.Set(ConstData.FONT_NAME1, "GAME OVER", ColorName.fontColor_darkorange);
        firstLineText.AlignStyle = UIText.enAlignStyle.center;
        firstLineText.Rect       = AutoRect.AutoPos(uiPos.FirstLineText);

        /*
         * scoreText = new UIText();
         * scoreText.Set(ConstData.FONT_NAME2, "KILLS   "+GameApp.GetInstance().GetGameScene().Killed, ColorName.fontColor_darkorange);
         * scoreText.Rect = uiPos.ScoreText;
         */


        gameover = new UIImage();
        gameover.SetTexture(gameuiMaterial, GameUITexturePosition.GameOver, AutoRect.AutoSize(GameUITexturePosition.GameOver) * 0.1f);
        gameover.Rect       = AutoRect.AutoPos(uiPos.GameOver);
        gameover.Visible    = false;
        gameover.Enable     = false;
        retryButton.Visible = false;
        quitButton.Visible  = false;
        //this.Add(dialogImage);
        //this.Add(gameoverLabel);
        this.Add(mask);
        //this.Add(firstLineText);
        //this.Add(scoreText);
        this.Add(retryButton);
        this.Add(quitButton);
        this.Add(gameover);

        this.SetUIHandler(this);

        uiInited = true;
        GameScene gameScene = GameApp.GetInstance().GetGameScene();

        if (gameScene.GetQuest() != null)
        {
            surviveTimeText.SetText("SurviveTime " + gameScene.GetQuest().GetQuestInfo());
            firstLineText.SetText("Kills " + gameScene.Killed);
        }
    }
示例#19
0
    // Use this for initialization
    public WeaponUpgradeUI()
    {
        uiPos = new WeaponUpgradeUIPosition();

        GameApp.GetInstance().Init();
        gameState          = GameApp.GetInstance().GetGameState();
        currentWeaponIndex = -1;
        selectedWeapon     = null;


        weaponList = GameApp.GetInstance().GetGameState().GetWeapons();


        arenaMaterial = UIResourceMgr.GetInstance().GetMaterial("ArenaMenu");



        background = new UIImage();
        background.SetTexture(arenaMaterial, ArenaMenuTexturePosition.Background, AutoRect.AutoSize(ArenaMenuTexturePosition.Background));
        background.Rect = AutoRect.AutoPos(uiPos.Background);



        for (int i = 0; i < 4; i++)
        {
            upgradePanels[i] = new UpgradePanel(new Rect(500, 465 - i * 100, 424, 108), i);
            upgradePanels[i].Show();
        }
        upgradePanels[0].SetButtonText("DAMAGE");
        upgradePanels[1].SetButtonText("FIRE RATE");
        upgradePanels[2].SetButtonText("ACCURACY");
        upgradePanels[3].SetButtonText("AMMO");



        returnButton = new UIClickButton();
        returnButton.SetTexture(UIButtonBase.State.Normal, arenaMaterial,
                                ArenaMenuTexturePosition.ReturnButtonNormal, AutoRect.AutoSize(ArenaMenuTexturePosition.ReturnButtonNormal));
        returnButton.SetTexture(UIButtonBase.State.Pressed, arenaMaterial,

                                ArenaMenuTexturePosition.ReturnButtonPressed, AutoRect.AutoSize(ArenaMenuTexturePosition.ReturnButtonPressed));
        returnButton.Rect = AutoRect.AutoPos(uiPos.ReturnButton);



        Material buttonsMaterial = UIResourceMgr.GetInstance().GetMaterial("Buttons");

        upgradeButton = new UITextButton();
        upgradeButton.SetTexture(UIButtonBase.State.Normal, buttonsMaterial,

                                 ButtonsTexturePosition.ButtonNormal, AutoRect.AutoSize(ButtonsTexturePosition.ButtonNormal));
        upgradeButton.SetTexture(UIButtonBase.State.Pressed, buttonsMaterial,

                                 ButtonsTexturePosition.ButtonPressed, AutoRect.AutoSize(ButtonsTexturePosition.ButtonPressed));
        upgradeButton.Rect = AutoRect.AutoPos(uiPos.UpgradeButton);


        getMoreMoneyButton = new UITextButton();
        getMoreMoneyButton.SetTexture(UIButtonBase.State.Normal, arenaMaterial,

                                      ArenaMenuTexturePosition.GetMoneyButtonNormal, AutoRect.AutoSize(ArenaMenuTexturePosition.GetMoneyButtonSmallSize));
        getMoreMoneyButton.SetTexture(UIButtonBase.State.Pressed, arenaMaterial,

                                      ArenaMenuTexturePosition.GetMoneyButtonPressed, AutoRect.AutoSize(ArenaMenuTexturePosition.GetMoneyButtonSmallSize));
        getMoreMoneyButton.Rect = AutoRect.AutoPos(uiPos.GetMoreMoneyButton);


        cashPanel = new CashPanel();



        upgradeButton.SetText(ConstData.FONT_NAME0, " UPGRADE", ColorName.fontColor_orange);

        UpdateWeaponInfo();
        InitSelection();



        this.Add(background);



        this.Add(returnButton);
        this.Add(getMoreMoneyButton);
        this.Add(upgradeButton);

        for (int i = 0; i < 4; i++)
        {
            this.Add(upgradePanels[i]);
        }

        weaponUI  = UIResourceMgr.GetInstance().GetMaterial("Weapons");
        weaponUI2 = UIResourceMgr.GetInstance().GetMaterial("Weapons2");

        weaponScroller = new UIImageScroller(AutoRect.AutoPos(new Rect(0, 0, 500, 640)), AutoRect.AutoPos(new Rect(10, 120, 500, 440)), 1, AutoRect.AutoSize(WeaponsLogoTexturePosition.WeaponLogoSize), ScrollerDir.Vertical, true);
        weaponScroller.SetImageSpacing(AutoRect.AutoSize(WeaponsLogoTexturePosition.WeaponLogoSpacing));
        Material shopMaterial = UIResourceMgr.GetInstance().GetMaterial("ShopUI");

        Material avatarMaterial = UIResourceMgr.GetInstance().GetMaterial("Avatar");

        weaponScroller.SetCenterFrameTexture(avatarMaterial, AvatarTexturePosition.Frame);


        weaponScroller.AddOverlay(shopMaterial, ShopTexturePosition.LockedLogo);
        weaponScroller.AddOverlay(shopMaterial, ShopTexturePosition.BuyLogo);


        UIImage        uiImage = new UIImage();
        TexturePosInfo info    = WeaponsLogoTexturePosition.GetWeaponTextureRect(weaponList.Count);

        uiImage.SetTexture(info.m_Material, info.m_TexRect, AutoRect.AutoSize(info.m_TexRect));
        uiImage.Rect = info.m_TexRect;
        weaponScroller.Add(uiImage);


        for (int i = 0; i < weaponList.Count; i++)
        {
            uiImage = new UIImage();
            info    = WeaponsLogoTexturePosition.GetWeaponTextureRect(i);
            uiImage.SetTexture(info.m_Material, info.m_TexRect, AutoRect.AutoSize(info.m_TexRect));
            uiImage.Rect = info.m_TexRect;
            weaponScroller.Add(uiImage);
        }


        this.Add(weaponScroller);
        weaponScroller.EnableScroll();
        this.Add(cashPanel);
        for (int i = 0; i < weaponList.Count; i++)
        {
            if (weaponList[i].Exist == WeaponExistState.Locked)
            {
                weaponScroller.SetOverlay(i + 1, 0);
            }
            else if (weaponList[i].Exist == WeaponExistState.Unlocked)
            {
                weaponScroller.SetOverlay(i + 1, 1);
            }
        }

        Material avatarLogoMaterial = UIResourceMgr.GetInstance().GetMaterial("Avatar");

        weaponScroller.SetMaskImage(avatarLogoMaterial, AvatarTexturePosition.Mask);

        weaponScroller.Show();


        iapDialog = new IAPDialog(UIDialog.DialogMode.YES_OR_NO);

        iapDialog.SetDialogEventHandler(this);

        this.Add(iapDialog);


        cashPanel.Show();

        SetUIHandler(this);

        uiInited = true;
        Hide();
    }
示例#20
0
        private void InitializeFrequencySelection()
        {
            buttonsFrequency = new UIButton[3];
            for (int i = 0; i < 3; i++)
            {
                int pos = i;
                buttonsFrequency[i] = new UIButton(QuantumStorage.textureGemsMiddle, new Rectangle(8 * (int)Container.frequency[pos], 0, 8, 10))
                {
                    Size   = new Vector2(16, 20),
                    HAlign = 0.4f + 0.1f * pos,
                    VAlign = 0.5f
                };
                buttonsFrequency[i].OnClick += (evt, element) =>
                {
                    if (Utility.ValidItems.ContainsKey(Main.mouseItem.type))
                    {
                        Container.frequency[pos]              = Utility.ValidItems[Main.mouseItem.type];
                        buttonsFrequency[pos].texture         = QuantumStorage.textureGemsMiddle;
                        buttonsFrequency[pos].sourceRectangle = new Rectangle(8 * (int)Container.frequency[pos], 0, 8, 10);
                        if (Main.netMode == NetmodeID.MultiplayerClient)
                        {
                            NetMessage.SendData(MessageID.SyncItem, -1, -1, null, Container.item.whoAmI, 1f);
                        }

                        Main.mouseItem.stack--;
                        if (Main.mouseItem.stack <= 0)
                        {
                            Main.mouseItem.TurnToAir();
                        }

                        if (Container.frequency.IsSet)
                        {
                            buttonInitialize.text = Language.GetTextValue("Mods.QuantumStorage.UI.Initialize");
                        }
                    }
                };
            }

            buttonInitialize = new UITextButton(Language.GetTextValue("Mods.QuantumStorage.UI.InsertGems"))
            {
                Width  = (-64, 1),
                Height = (40, 0),
                VAlign = 1,
                HAlign = 0.5f
            };
            buttonInitialize.OnClick += (evt, element) =>
            {
                if (!Container.frequency.IsSet)
                {
                    return;
                }

                for (int i = 0; i < 3; i++)
                {
                    RemoveChild(buttonsFrequency[i]);
                }
                RemoveChild(buttonInitialize);

                Append(GridItems);
            };
        }
    }
示例#21
0
        protected override void Initialize()
        {
            Scale         = 1f;
            ConsumesMouse = false;

            SetWidth(ScreenManager.Instance.ScreenWidth);
            SetHeight(ScreenManager.Instance.ScreenHeight);

            Panel = new UIElement();
            Panel.SetWidth(300);
            Panel.SetHeight(200);
            Panel.HAlign = 0.015f;
            Panel.VAlign = 0.985f;
            Panel.RecalcAlignmentForChildren();

            EntityButton               = new UITextButton("", 100, 40);
            EntityButton.OnClick      += EntitySelect_OnClick;
            EntityButton.TakesPriority = true;
            EntityButton.SetPosition(new Vector2(30, 10));

            TileButton               = new UITextButton("", 100, 40);
            TileButton.OnClick      += TileButton_OnClick;
            TileButton.TakesPriority = true;
            TileButton.SetPosition(new Vector2(30, 60));

            UITextButton leftEntity = new UITextButton("<", 16, 40)
            {
                TakesPriority = true
            };

            leftEntity.SetPosition(new Vector2(10));
            leftEntity.OnClick += delegate { GameLoop.MyPlayer.SelectedEntityType--; };

            UITextButton leftTile = new UITextButton("<", 16, 40)
            {
                TakesPriority = true
            };

            leftTile.SetPosition(new Vector2(10, 60));
            leftTile.OnClick += delegate { GameLoop.MyPlayer.SelectedTile--; };

            rightTile = new UITextButton(">", 16, 40)
            {
                TakesPriority = true
            };
            rightTile.SetPosition(new Vector2(10, 60));
            rightTile.OnClick += delegate { GameLoop.MyPlayer.SelectedTile++; };

            rightEntity = new UITextButton(">", 16, 40)
            {
                TakesPriority = true
            };
            rightEntity.SetPosition(new Vector2(10, 10));
            rightEntity.OnClick += delegate { GameLoop.MyPlayer.SelectedEntityType++; };


            UITextButton quit = new UITextButton("Quit", 60, 40)
            {
                VAlign = 0.015f,
                HAlign = 0.015f
            };

            quit.OnClick      += delegate { GameStateManager.Instance.SwitchState(GameState.GameMenu); };
            quit.TakesPriority = true;

            UIElement panel = new UIElement();

            panel.SetWidth(200);
            panel.SetHeight(100);
            panel.VAlign = 0.985f;
            panel.HAlign = 0.985f;

            actionText = new UIText("No Action Avaiable")
            {
                HAlign = 0.5f,
                VAlign = 0.5f
            };
            panel.Append(actionText);


            Panel.Append(EntityButton);
            Panel.Append(TileButton);
            Panel.Append(leftTile);
            Panel.Append(rightTile);
            Panel.Append(rightEntity);
            Panel.Append(leftEntity);

            Append(panel);

            Append(quit);


            Append(Panel);
            Append(new UIFadeIn());
        }
示例#22
0
    public ArenaMenuPanel()
    {
        uiPos         = new ArenaMenuUIPosition();
        BattlePressed = false;
        Material arenaMenuMaterial = UIResourceMgr.GetInstance().GetMaterial("ArenaMenu");
        Material buttonsMaterial   = UIResourceMgr.GetInstance().GetMaterial("Buttons");

        background = new UIImage();
        background.SetTexture(arenaMenuMaterial,

                              ArenaMenuTexturePosition.Background, AutoRect.AutoSize(ArenaMenuTexturePosition.Background));
        background.Rect = AutoRect.AutoPos(uiPos.Background);


        /*
         * avatarPanel = new UITextImage();
         * avatarPanel.SetTexture(arenaMenuMaterial,
         *
         * ArenaMenuTexturePosition.AvatarImage);
         * avatarPanel.Rect = uiPos.AvatarPanel;
         * avatarPanel.SetText(ConstData.FONT_NAME1, AvatarInfo.AVATAR_NAME[(int)GameApp.GetInstance().GetGameState().Avatar], ColorName.fontColor_darkred);
         */

        Material shopMaterial = UIResourceMgr.GetInstance().GetMaterial("ShopUI");

        daysPanel = new UITextImage();
        daysPanel.SetTexture(shopMaterial,

                             ShopTexturePosition.DayLargePanel, AutoRect.AutoSize(ShopTexturePosition.DayLargePanel));
        daysPanel.Rect = AutoRect.AutoPos(uiPos.DaysPanel);
        daysPanel.SetText(ConstData.FONT_NAME0, "DAY " + GameApp.GetInstance().GetGameState().LevelNum, ColorName.fontColor_darkred);


        cashPanel = new CashPanel();

        upgradeButton = new UITextButton();
        upgradeButton.SetTexture(UIButtonBase.State.Normal, buttonsMaterial,

                                 ButtonsTexturePosition.ButtonNormal, AutoRect.AutoSize(ButtonsTexturePosition.MiddleSizeButton));
        upgradeButton.SetTexture(UIButtonBase.State.Pressed, buttonsMaterial,

                                 ButtonsTexturePosition.ButtonPressed, AutoRect.AutoSize(ButtonsTexturePosition.MiddleSizeButton));
        upgradeButton.Rect = AutoRect.AutoPos(uiPos.UpgradeButton);
        upgradeButton.SetText(ConstData.FONT_NAME1, " ARMORY", ColorName.fontColor_orange);


        equipmentButton = new UITextButton();
        equipmentButton.SetTexture(UIButtonBase.State.Normal, buttonsMaterial,

                                   ButtonsTexturePosition.ButtonNormal, AutoRect.AutoSize(ButtonsTexturePosition.MiddleSizeButton));
        equipmentButton.SetTexture(UIButtonBase.State.Pressed, buttonsMaterial,

                                   ButtonsTexturePosition.ButtonPressed, AutoRect.AutoSize(ButtonsTexturePosition.MiddleSizeButton));
        equipmentButton.Rect = AutoRect.AutoPos(uiPos.EquipmentButton);
        equipmentButton.SetText(ConstData.FONT_NAME1, " EQUIP", ColorName.fontColor_orange);



        avatarButton = new UITextButton();
        avatarButton.SetTexture(UIButtonBase.State.Normal, buttonsMaterial,

                                ButtonsTexturePosition.ButtonNormal, AutoRect.AutoSize(ButtonsTexturePosition.MiddleSizeButton));

        avatarButton.SetTexture(UIButtonBase.State.Pressed, buttonsMaterial,

                                ButtonsTexturePosition.ButtonPressed, AutoRect.AutoSize(ButtonsTexturePosition.MiddleSizeButton));
        avatarButton.Rect = AutoRect.AutoPos(uiPos.AvatarButton);
        avatarButton.SetText(ConstData.FONT_NAME1, " CHARACTER", ColorName.fontColor_orange);



        battleButton = new UITextButton();
        battleButton.SetTexture(UIButtonBase.State.Normal, shopMaterial,

                                ShopTexturePosition.MapButtonNormal, AutoRect.AutoSize(ShopTexturePosition.MapButtonNormal));
        battleButton.SetTexture(UIButtonBase.State.Pressed, shopMaterial,

                                ShopTexturePosition.MapButtonPressed, AutoRect.AutoSize(ShopTexturePosition.MapButtonPressed));
        battleButton.Rect = AutoRect.AutoPos(uiPos.BattleButton);
        battleButton.SetText(ConstData.FONT_NAME0, " MAP", ColorName.fontColor_orange);



        returnButton = new UIClickButton();
        returnButton.SetTexture(UIButtonBase.State.Normal, arenaMenuMaterial,

                                ArenaMenuTexturePosition.ReturnButtonNormal, AutoRect.AutoSize(ArenaMenuTexturePosition.ReturnButtonNormal));
        returnButton.SetTexture(UIButtonBase.State.Pressed, arenaMenuMaterial,

                                ArenaMenuTexturePosition.ReturnButtonPressed, AutoRect.AutoSize(ArenaMenuTexturePosition.ReturnButtonPressed));
        returnButton.Rect = AutoRect.AutoPos(uiPos.ReturnButton);



        optionsButton = new UIClickButton();
        optionsButton.SetTexture(UIButtonBase.State.Normal, arenaMenuMaterial,

                                 ArenaMenuTexturePosition.OptionsButton, AutoRect.AutoSize(ArenaMenuTexturePosition.OptionsButton));
        optionsButton.SetTexture(UIButtonBase.State.Pressed, arenaMenuMaterial,

                                 ArenaMenuTexturePosition.OptionsButtonPressed, AutoRect.AutoSize(ArenaMenuTexturePosition.OptionsButtonPressed));
        optionsButton.Rect = AutoRect.AutoPos(uiPos.OptionsButton);

        Material startMenuMaterial = UIResourceMgr.GetInstance().GetMaterial("StartMenu");

        leaderButton = new UITextButton();
        leaderButton.SetTexture(UIButtonBase.State.Normal, startMenuMaterial,

                                StartMenuTexturePosition.AcheivementButtonNormal, AutoRect.AutoSize(StartMenuTexturePosition.AcheivementButtonNormal) * 1.3f);
        leaderButton.SetTexture(UIButtonBase.State.Pressed, startMenuMaterial,

                                StartMenuTexturePosition.AcheivementButtonPressed, AutoRect.AutoSize(StartMenuTexturePosition.AcheivementButtonPressed) * 1.3f);

        leaderButton.Rect = AutoRect.AutoPos(uiPos.AchievementButton);


        achieveButton = new UITextButton();
        achieveButton.SetTexture(UIButtonBase.State.Normal, startMenuMaterial,

                                 StartMenuTexturePosition.LeaderBoardsButtonNormal, AutoRect.AutoSize(StartMenuTexturePosition.LeaderBoardsButtonNormal) * 1.3f);
        achieveButton.SetTexture(UIButtonBase.State.Pressed, startMenuMaterial,

                                 StartMenuTexturePosition.LeaderBoardsButtonPressed, AutoRect.AutoSize(StartMenuTexturePosition.LeaderBoardsButtonPressed) * 1.3f);

        achieveButton.Rect = AutoRect.AutoPos(uiPos.LeaderBoardButton);



        if (AutoRect.GetPlatform() == Platform.IPad)
        {
            avatar3DFrame = new Avatar3DFrame(AutoRect.AutoPos(new Rect(0, 10, 500, 600)), new Vector3(-1.299798f * 0.9f, -0.9672753f * 1f, 3.420711f), new Vector3(1.5f, 1.5f, 1.5f) * 0.9f);
        }
        else
        {
            avatar3DFrame = new Avatar3DFrame(AutoRect.AutoPos(new Rect(0, 10, 500, 600)), new Vector3(-1.299798f, -1.0672753f, 3.420711f), new Vector3(1.5f, 1.5f, 1.5f));
        }

        ui = GameObject.Find("ArenaMenuUI").GetComponent <ArenaMenuUI>();

        this.Add(background);
        //this.Add(avatarPanel);
        this.Add(daysPanel);
        this.Add(cashPanel);
        this.Add(upgradeButton);
        this.Add(equipmentButton);
        //this.Add(optionsButton);
        this.Add(battleButton);
        this.Add(avatarButton);
        //this.Add(returnButton);
        this.Add(leaderButton);
        this.Add(achieveButton);
        this.Add(avatar3DFrame);

        SetUIHandler(this);

        startTime = Time.time;
    }
示例#23
0
    public PauseMenuUI()
    {
        uiPos = new PauseMenuUIPosition();

        gameState = GameApp.GetInstance().GetGameState();


        buttonsMaterial = UIResourceMgr.GetInstance().GetMaterial("Buttons");
        gameuiMaterial  = UIResourceMgr.GetInstance().GetMaterial("GameUI");
        background      = new UIImage();
        background.SetTexture(gameuiMaterial,

                              GameUITexturePosition.Dialog, AutoRect.AutoSize(GameUITexturePosition.DialogSize));
        background.Rect = AutoRect.AutoPos(uiPos.Background);


        pauseLabel = new UITextImage();
        pauseLabel.SetTexture(buttonsMaterial,

                              ButtonsTexturePosition.Label, AutoRect.AutoSize(ButtonsTexturePosition.Label));
        pauseLabel.Rect = AutoRect.AutoPos(uiPos.PauseLabel);
        pauseLabel.SetText(ConstData.FONT_NAME1, " PAUSE", ColorName.fontColor_orange);


        soundLabel = new UITextImage();
        soundLabel.SetTexture(buttonsMaterial,

                              ButtonsTexturePosition.Label, AutoRect.AutoSize(ButtonsTexturePosition.Label));
        soundLabel.Rect = AutoRect.AutoPos(uiPos.SoundLabel);
        soundLabel.SetText(ConstData.FONT_NAME1, " SOUND", ColorName.fontColor_orange);



        resumeButton = new UITextButton();
        resumeButton.SetTexture(UIButtonBase.State.Normal, buttonsMaterial,

                                ButtonsTexturePosition.ButtonNormal, AutoRect.AutoSize(ButtonsTexturePosition.SmallSizeButton));
        resumeButton.SetTexture(UIButtonBase.State.Pressed, buttonsMaterial,

                                ButtonsTexturePosition.ButtonPressed, AutoRect.AutoSize(ButtonsTexturePosition.SmallSizeButton));
        resumeButton.Rect = AutoRect.AutoPos(uiPos.ResumeButton);
        resumeButton.SetText(ConstData.FONT_NAME1, " RESUME", ColorName.fontColor_orange);


        musicButtonOff = new UITextSelectButton();
        musicButtonOff.SetTexture(UIButtonBase.State.Normal, buttonsMaterial,

                                  ButtonsTexturePosition.SoundButtonNormal, AutoRect.AutoSize(ButtonsTexturePosition.SoundButtonNormal));
        musicButtonOff.SetTexture(UIButtonBase.State.Pressed, buttonsMaterial,

                                  ButtonsTexturePosition.SoundButtonPressed, AutoRect.AutoSize(ButtonsTexturePosition.SoundButtonPressed));
        musicButtonOff.Rect = AutoRect.AutoPos(uiPos.MusicButtonOff);
        musicButtonOff.SetText(ConstData.FONT_NAME1, " OFF", ColorName.fontColor_orange);



        musicButtonOn = new UITextSelectButton();
        musicButtonOn.SetTexture(UIButtonBase.State.Normal, buttonsMaterial,

                                 ButtonsTexturePosition.SoundButtonNormal, AutoRect.AutoSize(ButtonsTexturePosition.SoundButtonNormal));
        musicButtonOn.SetTexture(UIButtonBase.State.Pressed, buttonsMaterial,

                                 ButtonsTexturePosition.SoundButtonPressed, AutoRect.AutoSize(ButtonsTexturePosition.SoundButtonPressed));
        musicButtonOn.Rect = AutoRect.AutoPos(uiPos.MusicButtonOn);
        musicButtonOn.SetText(ConstData.FONT_NAME1, " ON", ColorName.fontColor_orange);

        if (gameState.MusicOn)
        {
            musicButtonOn.Set(true);
            musicButtonOff.Set(false);
        }
        else
        {
            musicButtonOn.Set(false);
            musicButtonOff.Set(true);
        }



        returnButton = new UITextButton();
        returnButton.SetTexture(UIButtonBase.State.Normal, buttonsMaterial,

                                ButtonsTexturePosition.ButtonNormal, AutoRect.AutoSize(ButtonsTexturePosition.SmallSizeButton));
        returnButton.SetTexture(UIButtonBase.State.Pressed, buttonsMaterial,

                                ButtonsTexturePosition.ButtonPressed, AutoRect.AutoSize(ButtonsTexturePosition.SmallSizeButton));
        returnButton.Rect = AutoRect.AutoPos(uiPos.ReturnButton);
        returnButton.SetText(ConstData.FONT_NAME1, " QUIT", ColorName.fontColor_orange);


        mask = new UIImage();
        mask.SetTexture(gameuiMaterial, GameUITexturePosition.Mask, AutoRect.AutoSize(uiPos.Mask));
        mask.Rect = AutoRect.AutoValuePos(uiPos.Mask);



        this.Add(mask);
        this.Add(background);

        //this.Add(pauseLabel);

        this.Add(soundLabel);



        this.Add(musicButtonOff);
        this.Add(musicButtonOn);

        this.Add(resumeButton);
        this.Add(returnButton);



        this.SetUIHandler(this);

        Hide();
    }
        public TeleporterPanel(TileEntities.Teleporter teleporter) : base(teleporter)
        {
            Width.Percent  = 20;
            Height.Percent = 35;

            UITextInput inputName = new UITextInput(ref Container.DisplayName)
            {
                X                   = { Percent = 50 },
                MaxLength           = 24,
                RenderPanel         = false,
                HintText            = "Teleporter",
                HorizontalAlignment = HorizontalAlignment.Center,
                SizeToText          = true
            };

            inputName.OnTextChange += () => Net.SendTeleporterName(Container);
            Add(inputName);

            UITextButton buttonClose = new UITextButton("X")
            {
                Size        = new Vector2(20),
                X           = { Pixels = -20, Percent = 100 },
                RenderPanel = false,
                Padding     = Padding.Zero,
                HoverText   = Language.GetText("Mods.BaseLibrary.UI.Close")
            };

            buttonClose.OnClick += args => PanelUI.Instance.CloseUI(Container);
            Add(buttonClose);

            UITextButton buttonOptions = new UITextButton("O")
            {
                Size        = new Vector2(20),
                RenderPanel = false,
                Padding     = Padding.Zero,
                HoverText   = Language.GetText("Mods.BaseLibrary.UI.Options")
            };

            buttonOptions.OnClick += args =>
            {
                Remove(currentPanel);
                SelectedTeleporter = null;
                currentPanel       = currentPanel == panelSettings ? panelMain : panelSettings;
                Add(currentPanel);
            };
            Add(buttonOptions);

            currentPanel = new BaseElement
            {
                Width  = { Percent = 100 },
                Height = { Pixels = -28, Percent = 100 },
                Y      = { Pixels = 28 }
            };

            Add(currentPanel);
            SetupMainPanel();
            SetupSettingsPanel();
            Remove(currentPanel);
            currentPanel = panelMain;
            Add(currentPanel);
        }
示例#25
0
        public MarkerModulePanel(MarkerModule module) : base(module)
        {
            Width.Pixels  = 16 + (SlotSize + SlotMargin) * 9 - SlotMargin;
            Height.Pixels = 44 + SlotSize;

            UITextButton buttonClose = new UITextButton("X")
            {
                Size        = new Vector2(20),
                X           = { Percent = 100 },
                Padding     = Padding.Zero,
                RenderPanel = false
            };

            buttonClose.OnClick += args => PanelUI.Instance.CloseUI(Container);
            Add(buttonClose);

            UIText textLabel = new UIText("Marker Module")
            {
                Width  = { Percent = 100 },
                Height = { Pixels = 20 },
                HorizontalAlignment = HorizontalAlignment.Center
            };

            Add(textLabel);

            switch (Container.Mode)
            {
            case FilteredItemsMode mode:
            {
                UIGrid <UIMarkerSlot> grid = new UIGrid <UIMarkerSlot>(9)
                {
                    Width  = { Percent = 100 },
                    Height = { Pixels = -28, Percent = 100 },
                    Y      = { Pixels = 28 }
                };
                Add(grid);

                for (int i = 0; i < mode.whitelist.Count; i++)
                {
                    UIMarkerSlot slot = new UIMarkerSlot(module, i);
                    grid.Add(slot);
                }

                break;
            }

            case ModBasedMode mode:
            {
                UIGrid <UIModItem> grid = new UIGrid <UIModItem>
                {
                    Width  = { Percent = 100 },
                    Height = { Pixels = -28, Percent = 100 },
                    Y      = { Pixels = 28 }
                };
                Add(grid);

                foreach (Mod mod in ModLoader.Mods)
                {
                    if (mod.GetValue <Dictionary <string, ModItem> >("items").Count <= 0)
                    {
                        continue;
                    }

                    UIModItem item = new UIModItem(mod)
                    {
                        Width     = { Percent = 100 },
                        Height    = { Pixels = 24 },
                        TextColor = mode.mod == mod ? Color.LimeGreen : Color.White
                    };
                    item.OnClick += args =>
                    {
                        mode.mod = mod;

                        grid.Children.ForEach(modItem => ((UIModItem)modItem).TextColor = Color.White);
                        item.TextColor = Color.LimeGreen;
                    };
                    grid.Add(item);
                }

                break;
            }
            }
        }
        private void SetupMainPanel()
        {
            panelMain = new BaseElement
            {
                Width  = { Percent = 100 },
                Height = { Pixels = -28, Percent = 100 },
                Y      = { Pixels = 28 }
            };

            UIPanel panelLocations = new UIPanel
            {
                Width  = { Percent = 100 },
                Height = { Pixels = -48, Percent = 100 }
            };

            panelMain.Add(panelLocations);

            gridLocations = new UIGrid <UITeleporterItem>
            {
                Width  = { Pixels = -28, Percent = 100 },
                Height = { Percent = 100 }
            };
            panelLocations.Add(gridLocations);
            UpdateGrid();

            gridLocations.scrollbar.Height = new StyleDimension {
                Percent = 100
            };
            gridLocations.scrollbar.X.Percent = 100;
            panelLocations.Add(gridLocations.scrollbar);

            UITextButton buttonDialOnce = new UITextButton(Language.GetText("Mods.Teleportation.UI.DialOnce"))
            {
                Width  = { Pixels = -4, Percent = 25 },
                Height = { Pixels = 40 },
                Y      = { Percent = 100 }
            };

            buttonDialOnce.OnClick += args =>
            {
                if (SelectedTeleporter == null)
                {
                    return;
                }

                if (SelectedTeleporter.Destination == Container)
                {
                    SelectedTeleporter = null;
                }
                else
                {
                    Container.Destination = SelectedTeleporter;
                    Container.DialOnce    = true;
                    Net.SendTeleporterDestination(Container);
                }
            };
            panelMain.Add(buttonDialOnce);

            UITextButton buttonDial = new UITextButton(Language.GetText("Mods.Teleportation.UI.Dial"))
            {
                Width  = { Pixels = -4, Percent = 25 },
                Height = { Pixels = 40 },
                Y      = { Percent = 100 },
                X      = { Percent = 33 }
            };

            buttonDial.OnClick += args =>
            {
                if (SelectedTeleporter == null)
                {
                    return;
                }

                if (SelectedTeleporter.Destination == Container)
                {
                    SelectedTeleporter = null;
                }
                else
                {
                    Container.Destination = SelectedTeleporter;
                    Container.DialOnce    = false;
                    Net.SendTeleporterDestination(Container);
                }
            };
            panelMain.Add(buttonDial);

            UITextButton buttonInterrupt = new UITextButton(Language.GetText("Mods.Teleportation.UI.Interrupt"))
            {
                Width  = { Pixels = -4, Percent = 25 },
                Height = { Pixels = 40 },
                X      = { Percent = 50 },
                Y      = { Percent = 100 }
            };

            buttonInterrupt.OnClick += args =>
            {
                if (SelectedTeleporter != null)
                {
                    SelectedTeleporter.Destination = null;
                }
                SelectedTeleporter    = null;
                Container.Destination = null;
                Container.DialOnce    = false;
                Net.SendTeleporterDestination(Container);
            };
            panelMain.Add(buttonInterrupt);

            UIContainerSlot slotFuel = new UIContainerSlot(() => Container.Handler)
            {
                Width       = { Pixels = -4, Percent = 25 },
                X           = { Percent = 100 },
                Y           = { Percent = 100 },
                Padding     = new Padding(0, 24, 24, 0),
                PreviewItem = new Item()
            };

            slotFuel.PreviewItem.SetDefaults(ModContent.ItemType <FuelCell>());
            panelMain.Add(slotFuel);
        }
示例#27
0
    // Use this for initialization
    void Start()
    {
        ResolutionConstant.R = ((float)Screen.width) / 960f;
        UIResourceMgr.GetInstance().LoadStartMenuUIMaterials();    //! 加载开始菜单需要的材质


        uiPos = new StartMenuUIPosition();
        //texPos = new StartMenuTexturePosition();

        //! UIManager
        m_UIManager = gameObject.AddComponent <UIManager>() as UIManager;
        m_UIManager.SetParameter(8, 1, false);
        m_UIManager.SetUIHandler(this);                     //! HandleEvent
        m_UIManager.CLEAR = true;

        startMenuMaterial = UIResourceMgr.GetInstance().GetMaterial("StartMenu");      //! StartMenu 材质
        //startMenu2Material = UIResourceMgr.GetInstance().GetMaterial("StartMenu2");
        Material buttonsMaterial = UIResourceMgr.GetInstance().GetMaterial("Buttons"); //! Button材质

        background = new UIImage();
        background.SetTexture(startMenuMaterial, StartMenuTexturePosition.Background, AutoRect.AutoSize(StartMenuTexturePosition.Background));
        background.Rect = AutoRect.AutoPos(uiPos.Background);


        startButton = new UITextButton();
        startButton.SetTexture(UIButtonBase.State.Normal, buttonsMaterial,

                               ButtonsTexturePosition.ButtonNormal, AutoRect.AutoSize(ButtonsTexturePosition.MiddleSizeButton));
        startButton.SetTexture(UIButtonBase.State.Pressed, buttonsMaterial,

                               ButtonsTexturePosition.ButtonPressed, AutoRect.AutoSize(ButtonsTexturePosition.MiddleSizeButton));

        startButton.Rect = AutoRect.AutoPos(uiPos.StartButton);
        startButton.SetText(ConstData.FONT_NAME1, " NEW GAME", ColorName.fontColor_orange);

        continueButton = new UITextButton();
        continueButton.SetTexture(UIButtonBase.State.Normal, buttonsMaterial,

                                  ButtonsTexturePosition.ButtonNormal, AutoRect.AutoSize(ButtonsTexturePosition.MiddleSizeButton));
        continueButton.SetTexture(UIButtonBase.State.Pressed, buttonsMaterial,

                                  ButtonsTexturePosition.ButtonPressed, AutoRect.AutoSize(ButtonsTexturePosition.MiddleSizeButton));

        continueButton.Rect = AutoRect.AutoPos(uiPos.ContinueButton);

        continueButton.SetText(ConstData.FONT_NAME1, " CONTINUE", ColorName.fontColor_orange);



        gameDialog = new GameDialog(UIDialog.DialogMode.YES_OR_NO);
        gameDialog.SetText(ConstData.FONT_NAME2, "\n\nAre You Sure You Want To Erase Your Progress And Start A New Game?", ColorName.fontColor_darkorange);
        gameDialog.SetDialogEventHandler(this);


        m_UIManager.Add(background);
        m_UIManager.Add(startButton);
        m_UIManager.Add(continueButton);

        m_UIManager.Add(gameDialog);

        GameApp.GetInstance().Init();
        GameCenterInterface.Login();

        string path = Application.dataPath + "/../../Documents/";

        if (File.Exists(path + "MySavedGame.game"))
        {
        }
        else
        {
            continueButton.Visible = false;
            continueButton.Enable  = false;
        }

        FlurryTAd.ShowTAd(true);
    }
示例#28
0
        public QEBagPanel(QEBag bag) : base(bag)
        {
            Width.Pixels  = 16 + (SlotSize + SlotMargin) * 9 - SlotMargin;
            Height.Pixels = 44 + (SlotSize + SlotMargin) * 3 - SlotMargin;

            UIText textLabel = new UIText(Container.DisplayName.GetTranslation())
            {
                X = { Percent = 50 },
                HorizontalAlignment = HorizontalAlignment.Center
            };

            Add(textLabel);

            UITextButton buttonReset = new UITextButton("R")
            {
                Size        = new Vector2(20),
                RenderPanel = false,
                Padding     = BaseLibrary.UI.Padding.Zero,
                HoverText   = Language.GetText("Mods.QuantumStorage.UI.Reset")
            };

            buttonReset.OnClick += args =>
            {
                if (!Container.frequency.IsSet)
                {
                    for (int i = 0; i < 3; i++)
                    {
                        Main.LocalPlayer.PutItemInInventory(Utility.ColorToItem(Container.frequency[i]));
                    }

                    Container.frequency = new Frequency();
                    if (Main.netMode == NetmodeID.MultiplayerClient)
                    {
                        NetMessage.SendData(MessageID.SyncItem, -1, -1, null, Container.item.whoAmI, 1f);
                    }
                }
                else
                {
                    for (int i = 0; i < 3; i++)
                    {
                        Main.LocalPlayer.PutItemInInventory(Utility.ColorToItem(Container.frequency[i]));
                    }

                    Container.frequency = new Frequency();
                    if (Main.netMode == NetmodeID.MultiplayerClient)
                    {
                        NetMessage.SendData(MessageID.SyncItem, -1, -1, null, Container.item.whoAmI, 1f);
                    }

                    Remove(GridItems);

                    InitializeFrequencySelection();
                    for (int i = 0; i < 3; i++)
                    {
                        Add(buttonsFrequency[i]);
                    }
                    Add(buttonInitialize);
                }
            };
            Add(buttonReset);

            UIButton buttonLootAll = new UIButton(QuantumStorage.textureLootAll)
            {
                X         = { Pixels = 28 },
                Size      = new Vector2(20),
                HoverText = Language.GetText("LegacyInterface.29")
            };

            buttonLootAll.OnClick += args => ItemUtility.LootAll(Container.Handler, Main.LocalPlayer);
            Add(buttonLootAll);

            UIButton buttonDepositAll = new UIButton(QuantumStorage.textureDepositAll)
            {
                Size      = new Vector2(20),
                X         = { Pixels = 56 },
                HoverText = Language.GetText("LegacyInterface.30")
            };

            buttonDepositAll.OnClick += args => ItemUtility.DepositAll(Container.Handler, Main.LocalPlayer);
            Add(buttonDepositAll);

            UIButton buttonQuickStack = new UIButton(QuantumStorage.textureQuickStack)
            {
                Size      = new Vector2(20),
                X         = { Pixels = 84 },
                HoverText = Language.GetText("LegacyInterface.31")
            };

            buttonQuickStack.OnClick += args => ItemUtility.QuickStack(Container.Handler, Main.LocalPlayer);
            Add(buttonQuickStack);

            UITextButton buttonClose = new UITextButton("X")
            {
                Size        = new Vector2(20),
                X           = { Percent = 100 },
                RenderPanel = false,
                Padding     = BaseLibrary.UI.Padding.Zero,
                HoverText   = Language.GetText("Mods.BaseLibrary.UI.Close")
            };

            buttonClose.OnClick += args => PanelUI.Instance.CloseUI(Container);
            Add(buttonClose);

            if (!Container.frequency.IsSet)
            {
                InitializeFrequencySelection();

                for (int i = 0; i < 3; i++)
                {
                    Add(buttonsFrequency[i]);
                }
                Add(buttonInitialize);
            }
            else
            {
                Add(GridItems);
            }
        }
示例#29
0
        public override void OnInitialize()
        {
            Width  = (408, 0);
            Height = (172, 0);
            this.Center();

            UIText textLabel = new UIText(Container.DisplayName.GetTranslation())
            {
                HAlign = 0.5f
            };

            Append(textLabel);

            UITextButton buttonReset = new UITextButton("R")
            {
                Size        = new Vector2(20),
                RenderPanel = false
            };

            buttonReset.GetHoverText += () => Language.GetTextValue("Mods.QuantumStorage.UI.Reset");
            buttonReset.OnClick      += (evt, element) =>
            {
                if (!Container.frequency.IsSet)
                {
                    for (int i = 0; i < 3; i++)
                    {
                        Main.LocalPlayer.PutItemInInventory(Utility.ColorToItem(Container.frequency[i]));
                    }

                    Container.frequency = new Frequency();
                    if (Main.netMode == NetmodeID.MultiplayerClient)
                    {
                        NetMessage.SendData(MessageID.SyncItem, -1, -1, null, Container.item.whoAmI, 1f);
                    }
                }
                else
                {
                    for (int i = 0; i < 3; i++)
                    {
                        Main.LocalPlayer.PutItemInInventory(Utility.ColorToItem(Container.frequency[i]));
                    }

                    Container.frequency = new Frequency();
                    if (Main.netMode == NetmodeID.MultiplayerClient)
                    {
                        NetMessage.SendData(MessageID.SyncItem, -1, -1, null, Container.item.whoAmI, 1f);
                    }

                    RemoveChild(GridItems);

                    InitializeFrequencySelection();
                    for (int i = 0; i < 3; i++)
                    {
                        Append(buttonsFrequency[i]);
                    }
                    Append(buttonInitialize);
                }
            };
            Append(buttonReset);

            UITextButton buttonClose = new UITextButton("X")
            {
                Size        = new Vector2(20),
                Left        = (-20, 1),
                RenderPanel = false
            };

            buttonClose.GetHoverText += () => Language.GetTextValue("Mods.BaseLibrary.UI.Close");
            buttonClose.OnClick      += (evt, element) => BaseLibrary.BaseLibrary.PanelGUI.UI.CloseUI(Container);
            Append(buttonClose);

            if (!Container.frequency.IsSet)
            {
                InitializeFrequencySelection();

                for (int i = 0; i < 3; i++)
                {
                    Append(buttonsFrequency[i]);
                }
                Append(buttonInitialize);
            }
            else
            {
                Append(GridItems);
            }
        }
示例#30
0
        public RequesterModulePanel(RequesterModule module) : base(module)
        {
            Width.Pixels  = 60 + (SlotSize + SlotMargin) * Columns - SlotMargin;
            Height.Pixels = 144 + (SlotSize + SlotMargin) * (Rows + 2) - SlotMargin * 2;
            X.Percent     = Y.Percent = 50;

            UITextButton buttonClose = new UITextButton("X")
            {
                Width       = { Pixels = 20 },
                Height      = { Pixels = 20 },
                X           = { Percent = 100 },
                RenderPanel = false,
                Padding     = new Padding(0)
            };

            buttonClose.OnClick += args =>
            {
                if (args.Button != MouseButton.Left)
                {
                    return;
                }

                PanelUI.Instance.CloseUI(Container);
            };
            Add(buttonClose);

            textQueue = new UIText("Queue")
            {
                Width = { Percent = 50 },
                HorizontalAlignment = HorizontalAlignment.Left
            };
            Add(textQueue);

            UIText textLabel = new UIText("Requester Module")
            {
                Width = { Percent = 100 },
                HorizontalAlignment = HorizontalAlignment.Center
            };

            Add(textLabel);

            UIPanel panel = new UIPanel
            {
                Y               = { Pixels = 28 },
                Width           = { Percent = 100 },
                Height          = { Pixels = (SlotSize + SlotMargin) * Rows - SlotMargin },
                BorderColor     = Color.Transparent,
                BackgroundColor = Utility.ColorPanel_Selected * 0.75f
            };

            Add(panel);

            gridSlots = new UIGrid <UIRequesterSlot>(Columns)
            {
                Width      = { Percent = 100, Pixels = -26 },
                Height     = { Percent = 100 },
                ItemMargin = SlotMargin
            };
            gridSlots.SearchSelector += item =>
            {
                if (string.IsNullOrWhiteSpace(search.Value))
                {
                    return(true);
                }

                string itemName   = item.Item.HoverName.ToLower();
                string searchName = search.Value.ToLower();

                return(itemName.Contains(searchName));
            };
            panel.Add(gridSlots);

            gridSlots.scrollbar.X.Percent      = 100;
            gridSlots.scrollbar.Y.Pixels       = 0;
            gridSlots.scrollbar.Height.Percent = 100;
            panel.Add(gridSlots.scrollbar);

            UITextInput inputSearch = new UITextInput(ref search)
            {
                Y                 = { Pixels = 36 + (SlotSize + SlotMargin) * Rows - SlotMargin },
                Width             = { Percent = 100 },
                Height            = { Pixels = 40 },
                RenderPanel       = true,
                VerticalAlignment = VerticalAlignment.Center,
                HintText          = "Search",
                Padding           = new Padding(8)
            };

            inputSearch.OnKeyPressed += args =>
            {
                if (inputSearch.Focused && (args.Key == Keys.Enter || args.Key == Keys.Escape))
                {
                    args.Handled        = true;
                    inputSearch.Focused = false;
                }
            };
            inputSearch.OnTextChange += () => gridSlots.Search();
            Add(inputSearch);

            // requested items
            {
                UIText textRequestedItem = new UIText("Requested Items")
                {
                    Width  = { Pixels = (SlotSize + SlotMargin) * 10 - SlotMargin },
                    Margin = new Margin(8, 0, 0, 0),
                    Y      = { Pixels = 84 + (SlotSize + SlotMargin) * Rows - SlotMargin },
                    HorizontalAlignment = HorizontalAlignment.Center
                };
                Add(textRequestedItem);

                panel = new UIPanel
                {
                    Y               = { Pixels = 112 + (SlotSize + SlotMargin) * Rows - SlotMargin },
                    Width           = { Percent = 100 },
                    Height          = { Pixels = 16 + (SlotSize + SlotMargin) * 2 - SlotMargin },
                    BorderColor     = Color.Transparent,
                    BackgroundColor = Utility.ColorPanel_Selected * 0.75f
                };
                Add(panel);

                UIGrid <UIContainerSlot> gridOutout = new UIGrid <UIContainerSlot>(10)
                {
                    Width      = { Pixels = (SlotSize + SlotMargin) * 10 },
                    Height     = { Percent = 100 },
                    ItemMargin = SlotMargin
                };
                panel.Add(gridOutout);

                for (int i = 0; i < Container.Handler.Slots; i++)
                {
                    UIContainerSlot slot = new UIContainerSlot(() => Container.Handler, i)
                    {
                        Width   = { Pixels = SlotSize },
                        Height  = { Pixels = SlotSize },
                        Padding = new Padding(2)
                    };
                    gridOutout.Add(slot);
                }
            }

            // return items
            {
                UIText textReturnItems = new UIText("Return")
                {
                    Width  = { Pixels = (SlotSize + SlotMargin) * 3 - SlotMargin },
                    Margin = new Margin(0, 0, 8, 0),
                    X      = { Percent = 100 },
                    Y      = { Pixels = 84 + (SlotSize + SlotMargin) * Rows - SlotMargin },
                    HorizontalAlignment = HorizontalAlignment.Center
                };
                Add(textReturnItems);

                UIGrid <UIContainerSlot> gridInput = new UIGrid <UIContainerSlot>(3)
                {
                    Width      = { Pixels = (SlotSize + SlotMargin) * 3 - SlotMargin },
                    Height     = { Percent = 100 },
                    X          = { Percent = 100 },
                    ItemMargin = SlotMargin
                };
                panel.Add(gridInput);

                for (int i = 0; i < Container.ReturnHandler.Slots; i++)
                {
                    UIContainerSlot slot = new UIContainerSlot(() => Container.ReturnHandler, i)
                    {
                        Width   = { Pixels = SlotSize },
                        Height  = { Pixels = SlotSize },
                        Padding = new Padding(2)
                    };
                    gridInput.Add(slot);
                }
            }

            UIButton buttonTransfer = new UIButton(ModContent.GetTexture("BaseLibrary/Textures/UI/QuickStack"))
            {
                Y         = { Percent = 50 },
                X         = { Pixels = 6 + (SlotSize + SlotMargin) * 10 - SlotMargin },
                Width     = { Pixels = 20 },
                Height    = { Pixels = 20 },
                HoverText = "Transfer items"
            };

            buttonTransfer.OnClick += args =>
            {
                for (int i = 0; i < Container.Handler.Slots; i++)
                {
                    ref Item item = ref Container.Handler.GetItemInSlotByRef(i);
                    Container.ReturnHandler.InsertItem(ref item);
                    if (!item.IsAir)
                    {
                        break;
                    }
                }

                Recipe.FindRecipes();
            };