Esempio n. 1
0
        private void DrawItemsInLoadout(Rect canvas)
        {
            Widgets.NoneLabelCenteredVertically(canvas.ReplaceHeight(GenUI.ListSpacing), UIText.ApparelsInLoadout.TranslateSimple());

            Rect outRect  = canvas.ReplaceyMin(canvas.y + GenUI.ListSpacing);
            Rect viewRect = new Rect(outRect);

            viewRect.height = _loadout.Count * GenUI.ListSpacing;

            GUI.DrawTexture(outRect, TexResource.DarkBackground);
            Widgets.BeginScrollView(outRect, ref _loadoutScrollPos, viewRect);

            bool alternate = true;
            Rect labelRect = new Rect(viewRect).ReplaceHeight(GenUI.ListSpacing).ReplaceX(viewRect.x + GenUI.GapTiny);

            foreach (ThingGroupSelector selector in _loadout.Where(t => t.AllowedThing.IsApparel))
            {
                Text.WordWrap = false;
                GUI.DrawTexture(labelRect, (alternate ^= true) ? TexUI.TextBGBlack : TexUI.GrayTextBG);
                DrawUtility.DrawLabelButton(
                    labelRect
                    , selector.LabelCapNoCount
                    , () =>
                {
                    Rect msgRect = new Rect(Vector2.zero, Text.CalcSize(UIText.NoCostumeSelected.TranslateSimple()));
                    if (_costume == null)
                    {
                        Find.WindowStack.Add(
                            new Dialog_InstantMessage(
                                UIText.NoCostumeSelected.TranslateSimple(), new Vector2(300, 200))
                        {
                            windowRect = msgRect,
                        });
                    }

                    _costume?.AddItemToCostume(selector);
                });

                labelRect = labelRect.ReplaceY(labelRect.yMax);
            }

            Widgets.EndScrollView();
        }