From c43b6fe3d94e67ed36d10ed6e581ce8e6db6405a Mon Sep 17 00:00:00 2001 From: UnknownShadow200 Date: Thu, 15 Jun 2023 07:56:39 +1000 Subject: [PATCH] Fix not compiling on .NET 2.0 due to using Func delegate in two places --- MCGalaxy/Database/PlayerDB.cs | 7 ++++--- MCGalaxy/Generator/MapGen.cs | 5 +++-- MCGalaxy/Modules/Relay/Discord/DiscordBot.cs | 8 ++++---- 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/MCGalaxy/Database/PlayerDB.cs b/MCGalaxy/Database/PlayerDB.cs index 0f5812cbf..3c6dbf54d 100644 --- a/MCGalaxy/Database/PlayerDB.cs +++ b/MCGalaxy/Database/PlayerDB.cs @@ -144,7 +144,8 @@ namespace MCGalaxy.DB } - static List MatchMulti(string name, string columns, Func parseRecord) where T : class { + delegate T RecordParser(ISqlRecord record); + static List MatchMulti(string name, string columns, RecordParser parseRecord) where T : class { List list = FindPartial(name, columns, parseRecord); if (list.Count < 25) return list; @@ -160,7 +161,7 @@ namespace MCGalaxy.DB return list; } - static List FindPartial(string name, string columns, Func parseRecord) { + static List FindPartial(string name, string columns, RecordParser parseRecord) { string suffix = Database.Backend.CaselessLikeSuffix; List list = new List(); @@ -170,7 +171,7 @@ namespace MCGalaxy.DB return list; } - static T FindExact(string name, string columns, Func parseRecord) where T : class { + static T FindExact(string name, string columns, RecordParser parseRecord) where T : class { string suffix = Database.Backend.CaselessWhereSuffix; T exact = null; diff --git a/MCGalaxy/Generator/MapGen.cs b/MCGalaxy/Generator/MapGen.cs index b90a814c0..9835e68d5 100644 --- a/MCGalaxy/Generator/MapGen.cs +++ b/MCGalaxy/Generator/MapGen.cs @@ -26,6 +26,7 @@ using MCGalaxy.Generator.Classic; namespace MCGalaxy.Generator { public delegate bool MapGenFunc(Player p, Level lvl, MapGenArgs args); + public delegate bool MapGenArgSelector(string arg); public enum GenType { Simple, fCraft, Advanced }; public class MapGenArgs @@ -35,8 +36,8 @@ namespace MCGalaxy.Generator public MapGenBiomeName Biome; public bool RandomDefault = true; - public Func ArgFilter = (Args) => false; - public Func ArgParser = null; + public MapGenArgSelector ArgFilter = (Args) => false; + public MapGenArgSelector ArgParser = null; public bool ParseArgs(Player p) { bool gotSeed = false; diff --git a/MCGalaxy/Modules/Relay/Discord/DiscordBot.cs b/MCGalaxy/Modules/Relay/Discord/DiscordBot.cs index 40ae2c963..06b3d9f68 100644 --- a/MCGalaxy/Modules/Relay/Discord/DiscordBot.cs +++ b/MCGalaxy/Modules/Relay/Discord/DiscordBot.cs @@ -199,15 +199,15 @@ namespace MCGalaxy.Modules.Relay.Discord OnReady(); } - void PrintAttachments(JsonObject data, string channel) { + void PrintAttachments(RelayUser user, JsonObject data, string channel) { object raw; if (!data.TryGetValue("attachments", out raw)) return; JsonArray list = raw as JsonArray; if (list == null) return; - RelayUser user = ExtractUser(data); - foreach (object entry in list) { + foreach (object entry in list) + { JsonObject attachment = entry as JsonObject; if (attachment == null) continue; @@ -245,7 +245,7 @@ namespace MCGalaxy.Modules.Relay.Discord HandleDirectMessage(user, channel, message); } else { HandleChannelMessage(user, channel, message); - PrintAttachments(data, channel); + PrintAttachments(user, data, channel); } }