private void IntegrateBetterSprinklers() { IBetterSprinklersApi api = theMod.helper.ModRegistry.GetApi <IBetterSprinklersApi>("Speeder.BetterSprinklers"); if (api == null) { return; } theMod.api.RemoveItemRangeHighlighter("jltaylor-us.RangeHighlight/sprinkler"); IntegrateSprinklerCommon("jltaylor-us.RangeHighlight/better-sprinkler", api.GetSprinklerCoverage, false); }
/********* ** Public methods *********/ /// <summary>Construct an instance.</summary> /// <param name="modRegistry">An API for fetching metadata about loaded mods.</param> /// <param name="monitor">Encapsulates monitoring and logging.</param> public BetterSprinklersIntegration(IModRegistry modRegistry, IMonitor monitor) : base("Better Sprinklers", "Speeder.BetterSprinklers", "2.3.1-unofficial.6-pathoschild", modRegistry, monitor) { if (!this.IsLoaded) { return; } // get mod API this.ModApi = this.GetValidatedApi <IBetterSprinklersApi>(); this.IsLoaded = this.ModApi != null; this.MaxRadius = this.ModApi?.GetMaxGridSize() ?? 0; }
private void IntegrateBetterSprinklers() { IBetterSprinklersApi api = theMod.helper.ModRegistry.GetApi <IBetterSprinklersApi>("Speeder.BetterSprinklers"); if (api == null) { return; } theMod.api.RemoveItemRangeHighlighter("jltaylor-us.RangeHighlight/sprinkler"); theMod.api.AddItemRangeHighlighter("jltaylor-us.RangeHighlight/better-sprinkler", theMod.config.ShowSprinklerRangeKey, theMod.config.ShowOtherSprinklersWhenHoldingSprinkler, (item, itemID, itemName) => { Vector2[] tiles; if (api.GetSprinklerCoverage().TryGetValue(itemID, out tiles)) { return(new Tuple <Color, bool[, ]>(theMod.config.SprinklerRangeTint, PointsToMask(tiles))); } else { return(null); } }); }