Пример #1
0
        // Token: 0x06000055 RID: 85 RVA: 0x00003AB4 File Offset: 0x00001CB4
        public override void DoWindowContents(Rect inRect)
        {
            var listContainer = new ListContainer {
                spaceBetween = 10f
            };

            listContainer.Add(new TextWidget(
                                  "ATTENTION: This feature is highly experimental. Only use it if you're playing with a save you could potentially corrupt."));
            var listContainer2 = new ListContainer {
                drawAlternateBackground = true
            };

            listContainer.Add(new ScrollContainer(listContainer2, scrollPosition,
                                                  delegate(Vector2 s) { scrollPosition = s; }));
            using (IEnumerator <Pawn> enumerator = Find.CurrentMap.mapPawns.FreeColonists.GetEnumerator())
            {
                while (enumerator.MoveNext())
                {
                    var freeColonist   = enumerator.Current;
                    var listContainer3 = new ListContainer(ListFlow.ROW)
                    {
                        spaceBetween = 10f
                    };
                    listContainer2.Add(new HeightContainer(listContainer3, 40f));
                    listContainer3.Add(new ButtonWidget(freeColonist?.Label,
                                                        delegate { OnColonistClick(freeColonist); },
                                                        false));
                }
            }

            listContainer.Draw(inRect);
        }
Пример #2
0
        public override void DoWindowContents(Rect inRect)
        {
            ListContainer mainCont = new ListContainer();

            mainCont.spaceBetween = ListContainer.SPACE;

            mainCont.Add(new TextWidget("ATTENTION: This feature is highly experimental. Only use it if you're playing with a save you could potentially corrupt."));

            //Adds a scrollable container for trading animals.
            ListContainer columnCont = new ListContainer();

            columnCont.drawAlternateBackground = true;
            mainCont.Add(new ScrollContainer(columnCont, scrollPosition, (s) => { scrollPosition = s; }));

            float beginY = 0f; //Unused

            foreach (Pawn animal in Find.VisibleMap.mapPawns.AllPawns.Where(p => p.RaceProps.Animal && p.Faction == Faction.OfPlayer))
            {
                ListContainer rowCont = new ListContainer(ListFlow.ROW);
                rowCont.spaceBetween = ListContainer.SPACE;
                columnCont.Add(new HeightContainer(rowCont, 40f));
                rowCont.Add(new ButtonWidget(animal.Label, () => OnAnimalClick(animal), false));
            }

            mainCont.Draw(inRect);
        }
Пример #3
0
        public override void DoWindowContents(Rect inRect)
        {
            base.DoWindowContents(inRect);

            PhiClient phi = PhiClient.instance;

            ListContainer mainList = new ListContainer();

            mainList.spaceBetween = ListContainer.SPACE;

            mainList.Add(new TextWidget("Realm", GameFont.Medium, TextAnchor.MiddleCenter));

            ListContainer rowBodyContainer = new ListContainer(new List <Displayable>()
            {
                DoChat(),
                new WidthContainer(DoBodyRightBar(), STATUS_AREA_WIDTH)
            }, ListFlow.ROW);

            rowBodyContainer.spaceBetween = ListContainer.SPACE;

            mainList.Add(rowBodyContainer);
            mainList.Add(new HeightContainer(DoFooter(), 30f));

            mainList.Draw(inRect);
        }
Пример #4
0
        // Token: 0x06000051 RID: 81 RVA: 0x00003944 File Offset: 0x00001B44
        public override void DoWindowContents(Rect inRect)
        {
            var listContainer = new ListContainer {
                spaceBetween = 10f
            };

            listContainer.Add(new TextWidget(
                                  "ATTENTION: This feature is highly experimental. Only use it if you're playing with a save you could potentially corrupt."));
            var listContainer2 = new ListContainer {
                drawAlternateBackground = true
            };

            listContainer.Add(new ScrollContainer(listContainer2, scrollPosition,
                                                  delegate(Vector2 s) { scrollPosition = s; }));
            using (var enumerator = (from p in Find.CurrentMap.mapPawns.AllPawns
                                     where p.RaceProps.Animal && p.Faction == Faction.OfPlayer
                                     select p).GetEnumerator())
            {
                while (enumerator.MoveNext())
                {
                    var item           = enumerator.Current;
                    var listContainer3 = new ListContainer(ListFlow.ROW)
                    {
                        spaceBetween = 10f
                    };
                    listContainer2.Add(new HeightContainer(listContainer3, 40f));
                    if (item != null)
                    {
                        listContainer3.Add(new ButtonWidget(item.Label, delegate { OnAnimalClick(item); }, false));
                    }
                }
            }

            listContainer.Draw(inRect);
        }
Пример #5
0
        public override void DoWindowContents(Rect inRect)
        {
            ListContainer mainCont = new ListContainer();

            mainCont.spaceBetween = ListContainer.SPACE;

            // Title
            mainCont.Add(new TextWidget("Ship to " + this.user.name, GameFont.Medium, TextAnchor.MiddleCenter));

            /**
             * Draw the search input
             */
            mainCont.Add(new Container(new TextFieldWidget(filterTerm, (s) => {
                filterTerm = s;
                FilterInventory();
            }), 150f, 30f));

            /**
             * Drawing the inventory
             */
            ListContainer columnCont = new ListContainer();

            columnCont.drawAlternateBackground = true;
            mainCont.Add(new ScrollContainer(columnCont, scrollPosition, (s) => { scrollPosition = s; }));

            foreach (List <Thing> entry in filteredInventory)
            {
                Thing thing      = entry[0];
                int   stackCount = entry.Sum((e) => e.stackCount);

                int chosenCount = 0;
                chosenThings.TryGetValue(entry, out chosenCount);

                ListContainer rowCont = new ListContainer(ListFlow.ROW);
                rowCont.spaceBetween = ListContainer.SPACE;
                columnCont.Add(new HeightContainer(rowCont, ROW_HEIGHT));

                rowCont.Add(new Container(new ThingIconWidget(thing), ROW_HEIGHT, ROW_HEIGHT));
                rowCont.Add(new TextWidget(thing.LabelCapNoCount, GameFont.Small, TextAnchor.MiddleLeft));
                rowCont.Add(new TextWidget(stackCount.ToString(), GameFont.Small, TextAnchor.MiddleRight));

                // We add the controls for changing the quantity sent
                ListContainer controlsCont = new ListContainer(ListFlow.ROW);
                rowCont.Add(new WidthContainer(controlsCont, CONTROLS_WIDTH));

                controlsCont.Add(new ButtonWidget("-100", () => ChangeChosenCount(entry, -100)));
                controlsCont.Add(new ButtonWidget("-10", () => ChangeChosenCount(entry, -10)));
                controlsCont.Add(new ButtonWidget("-1", () => ChangeChosenCount(entry, -1)));
                controlsCont.Add(new TextWidget(chosenCount.ToString(), GameFont.Small, TextAnchor.MiddleCenter));
                controlsCont.Add(new ButtonWidget("+1", () => ChangeChosenCount(entry, 1)));
                controlsCont.Add(new ButtonWidget("+10", () => ChangeChosenCount(entry, 10)));
                controlsCont.Add(new ButtonWidget("+100", () => ChangeChosenCount(entry, 100)));
            }

            // We add the send button
            mainCont.Add(new HeightContainer(new ButtonWidget("Send", OnSendClick), ROW_HEIGHT));

            mainCont.Draw(inRect);
        }
Пример #6
0
        // Token: 0x06000049 RID: 73 RVA: 0x00003504 File Offset: 0x00001704
        public override void DoWindowContents(Rect inRect)
        {
            var listContainer = new ListContainer {
                spaceBetween = 10f
            };

            listContainer.Add(new TextWidget("Ship to " + user.name, GameFont.Medium, TextAnchor.MiddleCenter));
            listContainer.Add(new Container(new TextFieldWidget(filterTerm, delegate(string s)
            {
                filterTerm = s;
                FilterInventory();
            }), 150f, 30f));
            var listContainer2 = new ListContainer {
                drawAlternateBackground = true
            };

            listContainer.Add(new ScrollContainer(listContainer2, scrollPosition,
                                                  delegate(Vector2 s) { scrollPosition = s; }));
            using (var enumerator = filteredInventory.GetEnumerator())
            {
                while (enumerator.MoveNext())
                {
                    var item = enumerator.Current;
                    if (item == null)
                    {
                        continue;
                    }

                    var thing = item[0];
                    var num   = item.Sum(e => e.stackCount);
                    chosenThings.TryGetValue(item, out var num2);
                    var listContainer3 = new ListContainer(ListFlow.ROW)
                    {
                        spaceBetween = 10f
                    };
                    listContainer2.Add(new HeightContainer(listContainer3, 30f));
                    listContainer3.Add(new Container(new ThingIconWidget(thing), 30f, 30f));
                    listContainer3.Add(new TextWidget(thing.LabelCapNoCount, GameFont.Small, TextAnchor.MiddleLeft));
                    listContainer3.Add(new TextWidget(num.ToString(), GameFont.Small, TextAnchor.MiddleRight));
                    var listContainer4 = new ListContainer(ListFlow.ROW);
                    listContainer3.Add(new WidthContainer(listContainer4, 300f));
                    listContainer4.Add(new ButtonWidget("-100", delegate { ChangeChosenCount(item, -100); }));
                    listContainer4.Add(new ButtonWidget("-10", delegate { ChangeChosenCount(item, -10); }));
                    listContainer4.Add(new ButtonWidget("-1", delegate { ChangeChosenCount(item, -1); }));
                    listContainer4.Add(new TextFieldWidget(num2.ToString(),
                                                           delegate(string str) { ChangeChosenCount(item, str); }));
                    listContainer4.Add(new ButtonWidget("+1", delegate { ChangeChosenCount(item, 1); }));
                    listContainer4.Add(new ButtonWidget("+10", delegate { ChangeChosenCount(item, 10); }));
                    listContainer4.Add(new ButtonWidget("+100", delegate { ChangeChosenCount(item, 100); }));
                }
            }

            listContainer.Add(new HeightContainer(new ButtonWidget("Send", OnSendClick), 30f));
            listContainer.Draw(inRect);
        }
Пример #7
0
        // Token: 0x06000026 RID: 38 RVA: 0x000028FC File Offset: 0x00000AFC
        public override void DoWindowContents(Rect inRect)
        {
            var instance      = PhiClient.instance;
            var listContainer = new ListContainer {
                spaceBetween = 10f
            };

            listContainer.Add(new HeightContainer(DoHeader(), 30f));
            if (instance.IsUsable())
            {
                listContainer.Add(DoConnectedContent());
            }

            listContainer.Draw(inRect);
        }
Пример #8
0
        public override void DoWindowContents(Rect inRect)
        {
            PhiClient client = PhiClient.instance;

            ListContainer cont = new ListContainer();

            cont.spaceBetween = ListContainer.SPACE;
            cont.Add(new HeightContainer(DoHeader(), 30f));

            if (client.IsUsable())
            {
                cont.Add(DoConnectedContent());
            }

            cont.Draw(inRect);
        }
Пример #9
0
        // Token: 0x06000031 RID: 49 RVA: 0x00002C20 File Offset: 0x00000E20
        public override void DoWindowContents(Rect inRect)
        {
            var unused        = PhiClient.instance;
            var listContainer = new ListContainer {
                spaceBetween = 10f
            };

            listContainer.Add(new TextWidget("Realm", GameFont.Medium, TextAnchor.MiddleCenter));
            listContainer.Add(new ListContainer(new List <Displayable>
            {
                DoChat(),
                new WidthContainer(DoBodyRightBar(), 160f)
            }, ListFlow.ROW)
            {
                spaceBetween = 10f
            });
            listContainer.Add(new HeightContainer(DoFooter(), 30f));
            listContainer.Draw(inRect);
        }