/********* ** 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; }
/********* ** 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; }
/********* ** 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; }