From 680f200d415db11d9f059a6bc4a885eba161001a Mon Sep 17 00:00:00 2001 From: UnknownShadow200 Date: Wed, 20 Sep 2017 10:38:18 +1000 Subject: [PATCH] Remove structs that always just get boxed to a reference type anyways. --- MCGalaxy/Commands/Maintenance/CmdShutdown.cs | 3 +- MCGalaxy/Commands/building/CmdCopy.cs | 4 +-- MCGalaxy/Commands/building/CmdImageprint.cs | 4 +-- MCGalaxy/Commands/building/CmdMessageBlock.cs | 24 ++++++++-------- MCGalaxy/Commands/building/CmdPortal.cs | 28 +++++++++---------- MCGalaxy/Commands/building/CmdSPlace.cs | 4 +-- MCGalaxy/Commands/building/CmdTree.cs | 4 +-- MCGalaxy/Commands/building/CmdWrite.cs | 4 +-- MCGalaxy/Commands/other/CmdHackRank.cs | 4 +-- 9 files changed, 39 insertions(+), 40 deletions(-) diff --git a/MCGalaxy/Commands/Maintenance/CmdShutdown.cs b/MCGalaxy/Commands/Maintenance/CmdShutdown.cs index 061fbd495..1d69e5dd0 100644 --- a/MCGalaxy/Commands/Maintenance/CmdShutdown.cs +++ b/MCGalaxy/Commands/Maintenance/CmdShutdown.cs @@ -85,11 +85,10 @@ namespace MCGalaxy.Commands.Maintenance { } else { Log("Server shutdown in " + args.Delay + " seconds"); args.Delay--; - task.State = args; } } - struct ShutdownArgs { + class ShutdownArgs { public int Delay; public string Reason; } diff --git a/MCGalaxy/Commands/building/CmdCopy.cs b/MCGalaxy/Commands/building/CmdCopy.cs index fcacff4ac..7308ca96b 100644 --- a/MCGalaxy/Commands/building/CmdCopy.cs +++ b/MCGalaxy/Commands/building/CmdCopy.cs @@ -78,7 +78,7 @@ namespace MCGalaxy.Commands.Building { } void HandleOther(Player p, string opt, string[] parts, int offsetIndex) { - CopyArgs cArgs = default(CopyArgs); + CopyArgs cArgs = new CopyArgs(); cArgs.offsetIndex = offsetIndex; if (opt == "cut") { @@ -160,7 +160,7 @@ namespace MCGalaxy.Commands.Building { } bool DoCopy(Player p, Vec3S32[] m, object state, ExtBlock block) { return false; } - struct CopyArgs { public int type, offsetIndex; } + class CopyArgs { public int type, offsetIndex; } void SaveCopy(Player p, string file) { if (!Directory.Exists("extra/savecopy")) diff --git a/MCGalaxy/Commands/building/CmdImageprint.cs b/MCGalaxy/Commands/building/CmdImageprint.cs index 61e6c18a6..f14453b11 100644 --- a/MCGalaxy/Commands/building/CmdImageprint.cs +++ b/MCGalaxy/Commands/building/CmdImageprint.cs @@ -45,7 +45,7 @@ namespace MCGalaxy.Commands.Building { if (message.Length == 0) { Help(p); return; } string[] parts = message.SplitSpaces(3); - DrawArgs dArgs = default(DrawArgs); + DrawArgs dArgs = new DrawArgs(); dArgs.palette = ImagePalette.Find("color"); if (dArgs.palette == null) dArgs.palette = ImagePalette.Palettes[0]; dArgs.dualLayered = true; @@ -135,7 +135,7 @@ namespace MCGalaxy.Commands.Building { Player.Message(p, "%HModes: &fVertical, Vertical2Layer, Horizontal"); } - struct DrawArgs { public bool layer, dualLayered; public ImagePalette palette; public string name; } + class DrawArgs { public bool layer, dualLayered; public ImagePalette palette; public string name; } } } diff --git a/MCGalaxy/Commands/building/CmdMessageBlock.cs b/MCGalaxy/Commands/building/CmdMessageBlock.cs index 022d08fd7..a3b694c34 100644 --- a/MCGalaxy/Commands/building/CmdMessageBlock.cs +++ b/MCGalaxy/Commands/building/CmdMessageBlock.cs @@ -40,7 +40,7 @@ namespace MCGalaxy.Commands.Building { if (message.Length == 0) { Help(p); return; } bool allMessage = false; - MBData data; + MBArgs data = new MBArgs(); string[] args = message.SplitSpaces(2); string block = args[0].ToLower(); data.Block = GetBlock(p, block, ref allMessage); @@ -107,12 +107,12 @@ namespace MCGalaxy.Commands.Building { bool PlacedMark(Player p, Vec3S32[] marks, object state, ExtBlock block) { ushort x = (ushort)marks[0].X, y = (ushort)marks[0].Y, z = (ushort)marks[0].Z; - MBData data = (MBData)state; + MBArgs args = (MBArgs)state; ExtBlock old = p.level.GetBlock(x, y, z); - if (p.level.CheckAffectPermissions(p, x, y, z, old, data.Block)) { - p.level.UpdateBlock(p, x, y, z, data.Block); - UpdateDatabase(p, data, x, y, z); + if (p.level.CheckAffectPermissions(p, x, y, z, old, args.Block)) { + p.level.UpdateBlock(p, x, y, z, args.Block); + UpdateDatabase(p, args, x, y, z); Player.Message(p, "Message block created."); } else { Player.Message(p, "Failed to create a message block."); @@ -120,10 +120,10 @@ namespace MCGalaxy.Commands.Building { return true; } - void UpdateDatabase(Player p, MBData data, ushort x, ushort y, ushort z) { - data.Message = data.Message.Replace("'", "\\'"); - data.Message = Colors.Escape(data.Message); - data.Message = data.Message.UnicodeToCp437(); + void UpdateDatabase(Player p, MBArgs args, ushort x, ushort y, ushort z) { + args.Message = args.Message.Replace("'", "\\'"); + args.Message = Colors.Escape(args.Message); + args.Message = args.Message.UnicodeToCp437(); string lvlName = p.level.name; object locker = ThreadSafeCache.DBCache.GetLocker(lvlName); @@ -139,15 +139,15 @@ namespace MCGalaxy.Commands.Building { } if (count == 0) { - Database.Backend.AddRow("Messages" + lvlName, "X, Y, Z, Message", x, y, z, data.Message); + Database.Backend.AddRow("Messages" + lvlName, "X, Y, Z, Message", x, y, z, args.Message); } else { Database.Backend.UpdateRows("Messages" + lvlName, "Message=@3", - "WHERE X=@0 AND Y=@1 AND Z=@2", x, y, z, data.Message); + "WHERE X=@0 AND Y=@1 AND Z=@2", x, y, z, args.Message); } } } - struct MBData { public string Message; public ExtBlock Block; } + class MBArgs { public string Message; public ExtBlock Block; } void ShowMessageBlocks(Player p) { diff --git a/MCGalaxy/Commands/building/CmdPortal.cs b/MCGalaxy/Commands/building/CmdPortal.cs index 49c254ca8..f2b88230f 100644 --- a/MCGalaxy/Commands/building/CmdPortal.cs +++ b/MCGalaxy/Commands/building/CmdPortal.cs @@ -32,7 +32,7 @@ namespace MCGalaxy.Commands.Building { public override bool SuperUseable { get { return false; } } public override void Use(Player p, string message) { - PortalData data; + PortalArgs data = new PortalArgs(); data.Multi = false; string[] args = message.SplitSpaces(); string block = message.Length == 0 ? "" : args[0].ToLower(); @@ -74,27 +74,27 @@ namespace MCGalaxy.Commands.Building { } void EntryChange(Player p, ushort x, ushort y, ushort z, ExtBlock block) { - PortalData data = (PortalData)p.blockchangeObject; + PortalArgs args = (PortalArgs)p.blockchangeObject; ExtBlock old = p.level.GetBlock(x, y, z); - if (!p.level.CheckAffectPermissions(p, x, y, z, old, data.Block)) { + if (!p.level.CheckAffectPermissions(p, x, y, z, old, args.Block)) { p.RevertBlock(x, y, z); return; } p.ClearBlockchange(); - if (data.Multi && block.BlockID == Block.Red && data.Entries.Count > 0) { + if (args.Multi && block.BlockID == Block.Red && args.Entries.Count > 0) { ExitChange(p, x, y, z, block); return; } - p.level.UpdateBlock(p, x, y, z, data.Block); + p.level.UpdateBlock(p, x, y, z, args.Block); p.SendBlockchange(x, y, z, (ExtBlock)Block.Green); PortalPos Port; Port.Map = p.level.name; Port.x = x; Port.y = y; Port.z = z; - data.Entries.Add(Port); - p.blockchangeObject = data; + args.Entries.Add(Port); + p.blockchangeObject = args; - if (!data.Multi) { + if (!args.Multi) { p.Blockchange += ExitChange; Player.Message(p, "&aEntry block placed"); } else { @@ -107,10 +107,10 @@ namespace MCGalaxy.Commands.Building { void ExitChange(Player p, ushort x, ushort y, ushort z, ExtBlock block) { p.ClearBlockchange(); p.RevertBlock(x, y, z); - PortalData bp = (PortalData)p.blockchangeObject; + PortalArgs args = (PortalArgs)p.blockchangeObject; string dstMap = p.level.name.UnicodeToCp437(); - foreach (PortalPos P in bp.Entries) { + foreach (PortalPos P in args.Entries) { string lvlName = P.Map; object locker = ThreadSafeCache.DBCache.GetLocker(lvlName); @@ -134,17 +134,17 @@ namespace MCGalaxy.Commands.Building { } } if (P.Map == p.level.name) - p.SendBlockchange(P.x, P.y, P.z, bp.Block); + p.SendBlockchange(P.x, P.y, P.z, args.Block); } Player.Message(p, "&3Exit %Sblock placed"); if (!p.staticCommands) return; - bp.Entries.Clear(); - p.blockchangeObject = bp; + args.Entries.Clear(); + p.blockchangeObject = args; p.Blockchange += EntryChange; } - struct PortalData { public List Entries; public ExtBlock Block; public bool Multi; } + class PortalArgs { public List Entries; public ExtBlock Block; public bool Multi; } struct PortalPos { public ushort x, y, z; public string Map; } diff --git a/MCGalaxy/Commands/building/CmdSPlace.cs b/MCGalaxy/Commands/building/CmdSPlace.cs index ca832695b..e9e43bce4 100644 --- a/MCGalaxy/Commands/building/CmdSPlace.cs +++ b/MCGalaxy/Commands/building/CmdSPlace.cs @@ -43,7 +43,7 @@ namespace MCGalaxy.Commands.Building { Player.Message(p, "The Interval cannot be greater than the distance."); return; } - DrawArgs dArgs = default(DrawArgs); + DrawArgs dArgs = new DrawArgs(); dArgs.distance = distance; dArgs.interval = interval; Player.Message(p, "Place or break two blocks to determine direction."); p.MakeSelection(2, dArgs, DoSPlace); @@ -90,7 +90,7 @@ namespace MCGalaxy.Commands.Building { return true; } - struct DrawArgs { public ushort distance, interval; } + class DrawArgs { public ushort distance, interval; } public override void Help(Player p) { Player.Message(p, "%T/SPlace [distance] "); diff --git a/MCGalaxy/Commands/building/CmdTree.cs b/MCGalaxy/Commands/building/CmdTree.cs index eb31003e4..35c622e07 100644 --- a/MCGalaxy/Commands/building/CmdTree.cs +++ b/MCGalaxy/Commands/building/CmdTree.cs @@ -32,7 +32,7 @@ namespace MCGalaxy.Commands.Building { public override void Use(Player p, string message) { string[] parts = message.SplitSpaces(3); - DrawArgs dArgs = default(DrawArgs); + DrawArgs dArgs = new DrawArgs(); dArgs.size = -1; Tree tree = Tree.Find(parts[0]); @@ -98,7 +98,7 @@ namespace MCGalaxy.Commands.Building { return brush.Construct(args); } - struct DrawArgs { public Tree tree; public string brushMsg; public int size; } + class DrawArgs { public Tree tree; public string brushMsg; public int size; } public override void Help(Player p) { Player.Message(p, "%T/Tree [type] %H- Draws a tree."); diff --git a/MCGalaxy/Commands/building/CmdWrite.cs b/MCGalaxy/Commands/building/CmdWrite.cs index 2fcf10f02..b56bcd3df 100644 --- a/MCGalaxy/Commands/building/CmdWrite.cs +++ b/MCGalaxy/Commands/building/CmdWrite.cs @@ -42,7 +42,7 @@ namespace MCGalaxy.Commands.Building { if (!byte.TryParse(args[0], out scale)) scale = 1; if (!byte.TryParse(args[1], out spacing)) spacing = 1; - WriteArgs wArgs = default(WriteArgs); + WriteArgs wArgs = new WriteArgs(); wArgs.scale = scale; wArgs.spacing = spacing; wArgs.message = args[2].ToUpper(); Player.Message(p, "Place or break two blocks to determine direction."); @@ -64,7 +64,7 @@ namespace MCGalaxy.Commands.Building { return true; } - struct WriteArgs { public byte scale, spacing; public string message; } + class WriteArgs { public byte scale, spacing; public string message; } public override void Help(Player p) { Player.Message(p, "%T/WriteText [scale] [spacing] [message]"); diff --git a/MCGalaxy/Commands/other/CmdHackRank.cs b/MCGalaxy/Commands/other/CmdHackRank.cs index 0a8189f1b..2a7a51ec0 100644 --- a/MCGalaxy/Commands/other/CmdHackRank.cs +++ b/MCGalaxy/Commands/other/CmdHackRank.cs @@ -59,7 +59,7 @@ namespace MCGalaxy.Commands.Misc { void DoKick(Player p, Group newRank) { if (!ServerConfig.HackrankKicks) return; - HackRankArgs args; + HackRankArgs args = new HackRankArgs(); args.name = p.name; args.newRank = newRank; TimeSpan delay = TimeSpan.FromSeconds(ServerConfig.HackrankKickDelay); @@ -75,7 +75,7 @@ namespace MCGalaxy.Commands.Misc { who.Leave("kicked (" + msg + "%S)", "Kicked " + msg); } - struct HackRankArgs { public string name; public Group newRank; } + class HackRankArgs { public string name; public Group newRank; } public override void Help(Player p) { Player.Message(p, "%T/HackRank [rank] %H- Hacks a rank");