Exemplo n.º 1
0
        public IEnumerable <Rule> GetTextGenerationRules()
        {
            if (this.def.rulePack != null)
            {
                for (int i = 0; i < this.def.rulePack.Rules.Count; i++)
                {
                    yield return(this.def.rulePack.Rules[i]);
                }
            }
            Vector2 location = Vector2.zero;

            if (this.surroundings != null && this.surroundings.tile >= 0)
            {
                location = Find.WorldGrid.LongLatOf(this.surroundings.tile);
            }
            yield return(new Rule_String("date", GenDate.DateFullStringAt((long)this.date, location)));

            if (this.surroundings != null)
            {
                foreach (Rule r in this.surroundings.GetRules())
                {
                    yield return(r);
                }
            }
            foreach (Rule r2 in this.SpecialTextGenerationRules())
            {
                yield return(r2);
            }
        }
Exemplo n.º 2
0
        public override string GetInspectString()
        {
            StringBuilder stringBuilder = new StringBuilder();

            stringBuilder.Append(base.GetInspectString());
            if (this.HasCorpse)
            {
                if (base.Tile != -1)
                {
                    string text = GenDate.DateFullStringAt((long)GenDate.TickGameToAbs(this.Corpse.timeOfDeath), Find.WorldGrid.LongLatOf(base.Tile));
                    stringBuilder.AppendLine();
                    stringBuilder.Append("DiedOn".Translate(new object[]
                    {
                        text
                    }));
                }
            }
            else if (this.assignedPawn != null)
            {
                stringBuilder.AppendLine();
                stringBuilder.Append("AssignedColonist".Translate());
                stringBuilder.Append(": ");
                stringBuilder.Append(this.assignedPawn.LabelCap);
            }
            return(stringBuilder.ToString());
        }
Exemplo n.º 3
0
        public IEnumerable <Rule> GetTextGenerationRules()
        {
            Vector2 location = Vector2.zero;

            if (surroundings != null && surroundings.tile >= 0)
            {
                location = Find.WorldGrid.LongLatOf(surroundings.tile);
            }
            yield return((Rule) new Rule_String("DATE", GenDate.DateFullStringAt(date, location)));

            /*Error: Unable to find new state assignment for yield return*/;
        }
Exemplo n.º 4
0
        public IEnumerable <Rule> GetTextGenerationRules()
        {
            Vector2 location = Vector2.zero;

            if (surroundings != null && surroundings.tile >= 0)
            {
                location = Find.WorldGrid.LongLatOf(surroundings.tile);
            }
            yield return(new Rule_String("DATE", GenDate.DateFullStringAt(date, location)));

            if (surroundings != null)
            {
                foreach (Rule rule in surroundings.GetRules())
                {
                    yield return(rule);
                }
            }
            foreach (Rule item in SpecialTextGenerationRules())
            {
                yield return(item);
            }
        }
Exemplo n.º 5
0
        public IEnumerable <Rule> GetTextGenerationRules()
        {
            if (this.def.rulePack != null)
            {
                int i = 0;
                if (i < this.def.rulePack.Rules.Count)
                {
                    yield return(this.def.rulePack.Rules[i]);

                    /*Error: Unable to find new state assignment for yield return*/;
                }
            }
            Vector2 location = Vector2.zero;

            if (this.surroundings != null && this.surroundings.tile >= 0)
            {
                location = Find.WorldGrid.LongLatOf(this.surroundings.tile);
            }
            yield return((Rule) new Rule_String("date", GenDate.DateFullStringAt(this.date, location)));

            /*Error: Unable to find new state assignment for yield return*/;
        }
Exemplo n.º 6
0
        public IEnumerable <Rule> GetTextGenerationRules()
        {
            Vector2 location = Vector2.zero;

            if (this.surroundings != null && this.surroundings.tile >= 0)
            {
                location = Find.WorldGrid.LongLatOf(this.surroundings.tile);
            }
            yield return(new Rule_String("DATE", GenDate.DateFullStringAt((long)this.date, location)));

            if (this.surroundings != null)
            {
                foreach (Rule r in this.surroundings.GetRules())
                {
                    yield return(r);
                }
            }
            foreach (Rule r2 in this.SpecialTextGenerationRules())
            {
                yield return(r2);
            }
            yield break;
        }
        private void DoArchivableRow(Rect rect, IArchivable archivable, int index)
        {
            if (index % 2 == 1)
            {
                Widgets.DrawLightHighlight(rect);
            }
            Widgets.DrawHighlightIfMouseover(rect);
            Text.Font     = GameFont.Small;
            Text.Anchor   = TextAnchor.MiddleLeft;
            Text.WordWrap = false;
            Rect rect2 = rect;
            Rect rect3 = rect2;

            rect3.width = 30f;
            rect2.xMin += 40f;
            float num;

            if (Find.Archive.IsPinned(archivable))
            {
                num = 1f;
            }
            else if (Mouse.IsOver(rect3))
            {
                num = 0.25f;
            }
            else
            {
                num = 0f;
            }
            if (num > 0f)
            {
                GUI.color = new Color(1f, 1f, 1f, num);
                GUI.DrawTexture(new Rect(rect3.x + (rect3.width - 22f) / 2f, rect3.y + (rect3.height - 22f) / 2f, 22f, 22f).Rounded(), MainTabWindow_History.PinTex);
                GUI.color = Color.white;
            }
            Rect rect4     = rect2;
            Rect outerRect = rect2;

            outerRect.width = 30f;
            rect2.xMin     += 40f;
            Texture archivedIcon = archivable.ArchivedIcon;

            if (archivedIcon != null)
            {
                GUI.color = archivable.ArchivedIconColor;
                Widgets.DrawTextureFitted(outerRect, archivedIcon, 0.8f);
                GUI.color = Color.white;
            }
            Rect rect5 = rect2;

            rect5.width = 200f;
            rect2.xMin += 210f;
            Vector2 location = (Find.CurrentMap == null) ? default(Vector2) : Find.WorldGrid.LongLatOf(Find.CurrentMap.Tile);

            GUI.color = new Color(0.75f, 0.75f, 0.75f);
            int    num2 = GenDate.TickGameToAbs(archivable.CreatedTicksGame);
            string str  = string.Concat(new object[]
            {
                GenDate.DateFullStringAt((long)num2, location),
                ", ",
                GenDate.HourInteger((long)num2, location.x),
                "LetterHour".Translate()
            });

            Widgets.Label(rect5, str.Truncate(rect5.width, null));
            GUI.color = Color.white;
            Rect rect6 = rect2;

            Widgets.Label(rect6, archivable.ArchivedLabel.Truncate(rect6.width, null));
            GenUI.ResetLabelAlign();
            Text.WordWrap = true;
            TooltipHandler.TipRegion(rect3, "PinArchivableTip".Translate(200));
            if (Mouse.IsOver(rect4))
            {
                TooltipHandler.TipRegion(rect4, archivable.ArchivedTooltip);
            }
            if (Widgets.ButtonInvisible(rect3, false))
            {
                if (Find.Archive.IsPinned(archivable))
                {
                    Find.Archive.Unpin(archivable);
                    SoundDefOf.Checkbox_TurnedOff.PlayOneShotOnCamera(null);
                }
                else
                {
                    Find.Archive.Pin(archivable);
                    SoundDefOf.Checkbox_TurnedOn.PlayOneShotOnCamera(null);
                }
            }
            if (Widgets.ButtonInvisible(rect4, false))
            {
                if (Event.current.button == 1)
                {
                    LookTargets lookTargets = archivable.LookTargets;
                    if (CameraJumper.CanJump(lookTargets.TryGetPrimaryTarget()))
                    {
                        CameraJumper.TryJumpAndSelect(lookTargets.TryGetPrimaryTarget());
                        Find.MainTabsRoot.EscapeCurrentTab(true);
                    }
                }
                else
                {
                    archivable.OpenArchived();
                }
            }
        }