Exemple #1
0
 static void Postfix(TaleReference __instance)
 {
     if (__instance is BakedTaleReference reference)
     {
         Scribe_Values.Look(ref reference.bakedTale, "bakedTale", "Default Baked Tale Whatever", false);
     }
 }
        private static string RandomArtworkDescription(TaleReference tr)
        {
            RulePackDef extraInclude = null;

            switch (Rand.RangeInclusive(0, 4))
            {
            case 0:
                extraInclude = RulePackDefOf.ArtDescription_Sculpture;
                break;

            case 1:
                extraInclude = RulePackDefOf.ArtDescription_WeaponMelee;
                break;

            case 2:
                extraInclude = RulePackDefOf.ArtDescription_WeaponGun;
                break;

            case 3:
                extraInclude = RulePackDefOf.ArtDescription_Furniture;
                break;

            case 4:
                extraInclude = RulePackDefOf.ArtDescription_SarcophagusPlate;
                break;
            }
            return(tr.GenerateText(TextGenerationPurpose.ArtDescription, extraInclude));
        }
Exemple #3
0
 static bool Prefix(TaleReference __instance, ref string __result)
 {
     if (!(__instance is BakedTaleReference reference))
     {
         return(true);
     }
     __result = reference.bakedTale;
     // Debug.Message("Set result of generate text to {0}", __result);
     return(false);
 }
        protected override void FillTab()
        {
            Rect rect  = new Rect(0f, 0f, this.size.x, this.size.y).ContractedBy(20f);
            Rect rect2 = rect;

            Text.Font = GameFont.Medium;
            CompArt compArt = (CompArt)this.selectedCompArtGetter.Invoke(this, null);

            Widgets.Label(rect2, compArt.Title);
            if (ITab_Art_Alternate.cachedImageSource != compArt || ITab_Art_Alternate.cachedTaleRef != compArt.TaleRef)
            {
                ITab_Art_Alternate.cachedImageDescription = compArt.ImageDescription();
                ITab_Art_Alternate.cachedImageSource      = compArt;
                ITab_Art_Alternate.cachedTaleRef          = compArt.TaleRef;
            }
            Rect rect3 = rect;

            rect3.yMin += 35f;
            Text.Font   = GameFont.Small;
            Widgets.Label(rect3, ITab_Art_Alternate.cachedImageDescription);
        }
Exemple #5
0
        /// <summary>
        /// A reimplementation of CompArt.InitializeArt() for specific tales.
        /// </summary>
        private static void InitializeArt(CompArt comp, Tale tale)
        {
            if (comp.TaleRef != null)
            {
                comp.TaleRef.ReferenceDestroyed();
            }
            TaleReference taleRef;

            if (tale == null)
            {
                taleRef = TaleReference.Taleless;
            }
            else
            {
                tale.Notify_NewlyUsed();
                taleRef = new TaleReference(tale);
            }
            var traverse = Traverse.Create(comp);

            traverse.Field("taleRef").SetValue(taleRef);
            traverse.Field("titleInt").SetValue(new TaggedString(traverse.Method("GenerateTitle").GetValue <string>()));
        }
        private static void LogTales(IEnumerable <Tale> tales)
        {
            StringBuilder stringBuilder = new StringBuilder();
            int           num           = 0;

            foreach (Tale tale in tales)
            {
                TaleReference tr = new TaleReference(tale);
                stringBuilder.AppendLine(RandomArtworkName(tr));
                stringBuilder.AppendLine(RandomArtworkDescription(tr));
                stringBuilder.AppendLine();
                num++;
                if (num % 20 == 0)
                {
                    Log.Message(stringBuilder.ToString());
                    stringBuilder = new StringBuilder();
                }
            }
            if (!stringBuilder.ToString().NullOrEmpty())
            {
                Log.Message(stringBuilder.ToString());
            }
        }