Esempio n. 1
0
        private void SetupMinimumMaximum(Item item, TableRow row)
        {
            // the spin boxes are on
            if (Data.IsAccepting(item.PrototypeID))
            {
                SpinBox spinner = GetSpinner(item, true);
                row.AddToRowAt(2, spinner);

                spinner = GetSpinner(item, false);
                row.AddToRowAt(3, spinner);
            }
            // the spinboxes are off
            else
            {
                row.AddToRowAt(2, new Label(Control.Manager)
                {
                    Text      = "---",
                    Alignment = Alignment.MiddleCenter
                }, true);

                row.AddToRowAt(3, new Label(Control.Manager)
                {
                    Text      = "---",
                    Alignment = Alignment.MiddleCenter
                }, true);
            }
        }
Esempio n. 2
0
        public override Table GetControl(Control parent)
        {
            // Setup the stockpile table
            Control = new Table(Manager)
            {
                Name      = "StockpileTable",
                Anchor    = Anchors.All,
                RowHeight = 24
            };
            Control.Init();

            // get a list of all items in the game
            List <Item> items = World.Prototypes.GetAll <Item>();

            Control.AddColumns(new string[] { "Item", "Amount", "Minimum", "Maximum" });

            foreach (Item item in items)
            {
                TableRow currentRow = Control.AddRow();
                currentRow.Tag = item;

                Button btn = new Button(Manager)
                {
                    Name     = string.Format("{0}-toggle", item.PrototypeID),
                    Text     = item.Name,
                    Height   = 20,
                    Width    = 100,
                    CanFocus = false,
                    Tag      = item
                };
                btn.Init();
                btn.ToolTip = new ToolTip(Manager)
                {
                    Text = "Enables or disables this item at the stockpile.\n\n" + item.Description
                };
                // Add event handler to listen for toggles on the button
                btn.Click += new EventHandler(ToggleStockPileItem);

                currentRow.AddToRowAt(0, btn, true);
                Control.AddAt(1, Control.RowsCount - 1, Data.Amount(item.PrototypeID).ToString());

                SetupMinimumMaximum(item, currentRow);

                Data.Get(item.PrototypeID).OnAmountChanged += new StockPileData.StockpileEventHandler(StockpileRenderer_OnAmountChanged);
            }

            return(base.GetControl(parent));
        }