private void OnObjectListChanged(object?sender, ObjectListChangedEventArgs e) { SprinklerBehavior.ClearCacheForMap(new GameLocationMap(e.Location, CustomWaterableTileProviders)); if (!e.Added.Where(o => o.Value.IsSprinkler()).Any() && !e.Removed.Where(o => o.Value.IsSprinkler()).Any()) { return; } if (Config.ActivateOnPlacement && SprinklerBehavior is ISprinklerBehavior.Independent) { foreach (var(_, @object) in e.Added) { if (@object.IsSprinkler()) { ActivateSprinkler(@object, e.Location); } } } if (Config.ShowCoverageOnPlacement) { DisplaySprinklerCoverage(); } }
private void OnLargeTerrainFeatureListChanged(object?sender, LargeTerrainFeatureListChangedEventArgs e) { SprinklerBehavior.ClearCacheForMap(new GameLocationMap(e.Location, CustomWaterableTileProviders)); }