/// <summary> /// Convert all sprinklers to <typeparamref name="TObject"/> /// </summary> /// <remarks> /// Checks all locations in case a mod allows someone to place sprinklers somewhere invalid. /// </remarks> /// <typeparam name="TObject">SprinklerObject or StardewValley.Object</typeparam> private static void ConvertAllSprinklersTo <TObject>() where TObject : StardewValley.Object, new() { // Convert all sprinklers back to generic Stardew Valley objects for saving // Checks all locations in case a mod allows someone to place them somewhere invalid foreach (var loc in Game1.locations) { var objs = loc.objects; foreach (var key in objs.Keys.ToList()) { objs[key] = SprinklerObject.GetSprinklerObjectAs <TObject>(objs[key]); } } }
internal static void UpdateDefaultSpotsToWater(SprinklerObject value) { DefaultSpotsToWater[value.name] = new HashSet <Vector2>(from spot in value.WaterTiles select Vector2.Subtract(spot, value.TileLocation)); }