Пример #1
0
        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();
            }
        }
Пример #2
0
 private void OnLargeTerrainFeatureListChanged(object?sender, LargeTerrainFeatureListChangedEventArgs e)
 {
     SprinklerBehavior.ClearCacheForMap(new GameLocationMap(e.Location, CustomWaterableTileProviders));
 }