/*********
 ** Public methods
 *********/
 /// <summary>Construct an instance.</summary>
 /// <param name="reflection">Simplifies access to private game code.</param>
 /// <param name="gameHelper">Provides utility methods for interacting with the game code.</param>
 /// <param name="config">The mod configuration.</param>
 /// <param name="codex">Provides subject entries.</param>
 /// <param name="jsonAssets">The Json Assets API.</param>
 public ItemLookupProvider(IReflectionHelper reflection, GameHelper gameHelper, ModConfig config, ISubjectRegistry codex, JsonAssetsIntegration jsonAssets)
     : base(reflection, gameHelper)
 {
     this.Config     = config;
     this.Codex      = codex;
     this.JsonAssets = jsonAssets;
 }
Exemple #2
0
        /*********
        ** Public methods
        *********/
        /// <summary>Construct an instance.</summary>
        /// <param name="gameHelper">Provides utility methods for interacting with the game code.</param>
        /// <param name="label">A short field label.</param>
        /// <param name="item">The item for which to display an icon.</param>
        /// <param name="codex">Provides subject entries to create a link, if applicable.</param>
        /// <param name="text">The text to display (if not the item name).</param>
        public ItemIconField(GameHelper gameHelper, string label, Item item, ISubjectRegistry codex, string text = null)
            : base(label, hasValue: item != null)
        {
            this.Sprite = gameHelper.GetSprite(item);

            if (item != null)
            {
                this.LinkSubject = codex?.GetByEntity(item);

                text = !string.IsNullOrWhiteSpace(text) ? text : item.DisplayName;
                Color?color = this.LinkSubject != null ? Color.Blue : null;
                this.Value = new IFormattedText[] { new FormattedText(text, color) };
            }
        }
 /*********
 ** Public methods
 *********/
 /// <summary>Construct an instance.</summary>
 /// <param name="codex">Provides subject entries.</param>
 /// <param name="gameHelper">Provides utility methods for interacting with the game code.</param>
 /// <param name="animal">The lookup target.</param>
 /// <remarks>Reverse engineered from <see cref="FarmAnimal"/>.</remarks>
 public FarmAnimalSubject(ISubjectRegistry codex, GameHelper gameHelper, FarmAnimal animal)
     : base(gameHelper, animal.displayName, null, animal.displayType)
 {
     this.Codex  = codex;
     this.Target = animal;
 }
Exemple #4
0
 /*********
 ** Public methods
 *********/
 /// <summary>Construct an instance.</summary>
 /// <param name="reflection">Simplifies access to private game code.</param>
 /// <param name="gameHelper">Provides utility methods for interacting with the game code.</param>
 /// <param name="codex">Provides subject entries.</param>
 /// <param name="jsonAssets">The Json Assets API.</param>
 public TerrainFeatureLookupProvider(IReflectionHelper reflection, GameHelper gameHelper, ISubjectRegistry codex, JsonAssetsIntegration jsonAssets)
     : base(reflection, gameHelper)
 {
     this.Codex      = codex;
     this.JsonAssets = jsonAssets;
 }