public override void DoWindowContents(Rect inRect)
        {
            Vector2 vector = new Vector2(inRect.width - 16f, 40f);

            inRect.height -= 45f;
            float y        = vector.y;
            float height   = (float)this.files.Count * y;
            Rect  viewRect = new Rect(0f, 0f, inRect.width - 16f, height);
            Rect  outRect  = new Rect(inRect.AtZero());

            outRect.height -= this.bottomAreaHeight;
            Widgets.BeginScrollView(outRect, ref this.scrollPosition, viewRect, true);
            float num  = 0f;
            int   num2 = 0;

            foreach (SaveFileInfo current in this.files)
            {
                if (num + vector.y >= this.scrollPosition.y && num <= this.scrollPosition.y + outRect.height)
                {
                    Rect rect = new Rect(0f, num, vector.x, vector.y);
                    if (num2 % 2 == 0)
                    {
                        Widgets.DrawAltRect(rect);
                    }
                    GUI.BeginGroup(rect);
                    Rect rect2 = new Rect(rect.width - 36f, (rect.height - 36f) / 2f, 36f, 36f);
                    if (Widgets.ButtonImage(rect2, TexButton.DeleteX, Color.white, GenUI.SubtleMouseoverColor))
                    {
                        FileInfo localFile = current.FileInfo;
                        Find.WindowStack.Add(Dialog_MessageBox.CreateConfirmation("ConfirmDelete".Translate(localFile.Name), delegate
                        {
                            localFile.Delete();
                            this.ReloadFiles();
                        }, true, null));
                    }
                    TooltipHandler.TipRegion(rect2, "DeleteThisSavegame".Translate());
                    Text.Font = GameFont.Small;
                    Rect rect3 = new Rect(rect2.x - 100f, (rect.height - 36f) / 2f, 100f, 36f);
                    if (Widgets.ButtonText(rect3, this.interactButLabel, true, false, true))
                    {
                        this.DoFileInteraction(Path.GetFileNameWithoutExtension(current.FileInfo.Name));
                    }
                    Rect rect4 = new Rect(rect3.x - 94f, 0f, 94f, rect.height);
                    Dialog_FileList.DrawDateAndVersion(current, rect4);
                    GUI.color   = Color.white;
                    Text.Anchor = TextAnchor.UpperLeft;
                    GUI.color   = this.FileNameColor(current);
                    Rect rect5 = new Rect(8f, 0f, rect4.x - 8f - 4f, rect.height);
                    Text.Anchor = TextAnchor.MiddleLeft;
                    Text.Font   = GameFont.Small;
                    string fileNameWithoutExtension = Path.GetFileNameWithoutExtension(current.FileInfo.Name);
                    Widgets.Label(rect5, fileNameWithoutExtension.Truncate(rect5.width * 1.8f, null));
                    GUI.color   = Color.white;
                    Text.Anchor = TextAnchor.UpperLeft;
                    GUI.EndGroup();
                }
                num += vector.y;
                num2++;
            }
            Widgets.EndScrollView();
            if (this.ShouldDoTypeInField)
            {
                this.DoTypeInField(inRect.AtZero());
            }
        }
Beispiel #2
0
        public override void DoWindowContents(Rect inRect)
        {
            Vector2 vector  = new Vector2(inRect.width - 16f, 36f);
            Vector2 vector2 = new Vector2(100f, vector.y - 2f);

            inRect.height -= 45f;
            float num      = vector.y + 3f;
            float height   = (float)this.files.Count * num;
            Rect  viewRect = new Rect(0f, 0f, inRect.width - 16f, height);
            Rect  outRect  = new Rect(inRect.AtZero());

            outRect.height -= this.bottomAreaHeight;
            Widgets.BeginScrollView(outRect, ref this.scrollPosition, viewRect, true);
            float num2 = 0f;
            int   num3 = 0;

            foreach (SaveFileInfo current in this.files)
            {
                Rect rect = new Rect(0f, num2, vector.x, vector.y);
                if (num3 % 2 == 0)
                {
                    Widgets.DrawAltRect(rect);
                }
                Rect position = rect.ContractedBy(1f);
                GUI.BeginGroup(position);
                string fileNameWithoutExtension = Path.GetFileNameWithoutExtension(current.FileInfo.Name);
                GUI.color = this.FileNameColor(current);
                Rect rect2 = new Rect(15f, 0f, position.width, position.height);
                Text.Anchor = TextAnchor.MiddleLeft;
                Text.Font   = GameFont.Small;
                Widgets.Label(rect2, fileNameWithoutExtension);
                GUI.color = Color.white;
                Rect rect3 = new Rect(270f, 0f, 200f, position.height);
                Dialog_FileList.DrawDateAndVersion(current, rect3);
                GUI.color   = Color.white;
                Text.Anchor = TextAnchor.UpperLeft;
                Text.Font   = GameFont.Small;
                float num4  = vector.x - 2f - vector2.x - vector2.y;
                Rect  rect4 = new Rect(num4, 0f, vector2.x, vector2.y);
                if (Widgets.ButtonText(rect4, this.interactButLabel, true, false, true))
                {
                    this.DoFileInteraction(Path.GetFileNameWithoutExtension(current.FileInfo.Name));
                }
                Rect rect5 = new Rect(num4 + vector2.x + 5f, 0f, vector2.y, vector2.y);
                if (Widgets.ButtonImage(rect5, TexButton.DeleteX))
                {
                    FileInfo localFile = current.FileInfo;
                    Find.WindowStack.Add(Dialog_MessageBox.CreateConfirmation("ConfirmDelete".Translate(new object[]
                    {
                        localFile.Name
                    }), delegate
                    {
                        localFile.Delete();
                        this.ReloadFiles();
                    }, true, null));
                }
                TooltipHandler.TipRegion(rect5, "DeleteThisSavegame".Translate());
                GUI.EndGroup();
                num2 += vector.y + 3f;
                num3++;
            }
            Widgets.EndScrollView();
            if (this.ShouldDoTypeInField)
            {
                this.DoTypeInField(inRect.AtZero());
            }
        }