Remove structs that always just get boxed to a reference type anyways.

This commit is contained in:
UnknownShadow200 2017-09-20 10:38:18 +10:00
parent 901ad70064
commit 680f200d41
9 changed files with 39 additions and 40 deletions

View File

@ -85,11 +85,10 @@ namespace MCGalaxy.Commands.Maintenance {
} else { } else {
Log("Server shutdown in " + args.Delay + " seconds"); Log("Server shutdown in " + args.Delay + " seconds");
args.Delay--; args.Delay--;
task.State = args;
} }
} }
struct ShutdownArgs { class ShutdownArgs {
public int Delay; public int Delay;
public string Reason; public string Reason;
} }

View File

@ -78,7 +78,7 @@ namespace MCGalaxy.Commands.Building {
} }
void HandleOther(Player p, string opt, string[] parts, int offsetIndex) { void HandleOther(Player p, string opt, string[] parts, int offsetIndex) {
CopyArgs cArgs = default(CopyArgs); CopyArgs cArgs = new CopyArgs();
cArgs.offsetIndex = offsetIndex; cArgs.offsetIndex = offsetIndex;
if (opt == "cut") { if (opt == "cut") {
@ -160,7 +160,7 @@ namespace MCGalaxy.Commands.Building {
} }
bool DoCopy(Player p, Vec3S32[] m, object state, ExtBlock block) { return false; } 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) { void SaveCopy(Player p, string file) {
if (!Directory.Exists("extra/savecopy")) if (!Directory.Exists("extra/savecopy"))

View File

@ -45,7 +45,7 @@ namespace MCGalaxy.Commands.Building {
if (message.Length == 0) { Help(p); return; } if (message.Length == 0) { Help(p); return; }
string[] parts = message.SplitSpaces(3); string[] parts = message.SplitSpaces(3);
DrawArgs dArgs = default(DrawArgs); DrawArgs dArgs = new DrawArgs();
dArgs.palette = ImagePalette.Find("color"); dArgs.palette = ImagePalette.Find("color");
if (dArgs.palette == null) dArgs.palette = ImagePalette.Palettes[0]; if (dArgs.palette == null) dArgs.palette = ImagePalette.Palettes[0];
dArgs.dualLayered = true; dArgs.dualLayered = true;
@ -135,7 +135,7 @@ namespace MCGalaxy.Commands.Building {
Player.Message(p, "%HModes: &fVertical, Vertical2Layer, Horizontal"); 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; }
} }
} }

View File

@ -40,7 +40,7 @@ namespace MCGalaxy.Commands.Building {
if (message.Length == 0) { Help(p); return; } if (message.Length == 0) { Help(p); return; }
bool allMessage = false; bool allMessage = false;
MBData data; MBArgs data = new MBArgs();
string[] args = message.SplitSpaces(2); string[] args = message.SplitSpaces(2);
string block = args[0].ToLower(); string block = args[0].ToLower();
data.Block = GetBlock(p, block, ref allMessage); 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) { 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; 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); 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.level.UpdateBlock(p, x, y, z, data.Block); p.level.UpdateBlock(p, x, y, z, args.Block);
UpdateDatabase(p, data, x, y, z); UpdateDatabase(p, args, x, y, z);
Player.Message(p, "Message block created."); Player.Message(p, "Message block created.");
} else { } else {
Player.Message(p, "Failed to create a message block."); Player.Message(p, "Failed to create a message block.");
@ -120,10 +120,10 @@ namespace MCGalaxy.Commands.Building {
return true; return true;
} }
void UpdateDatabase(Player p, MBData data, ushort x, ushort y, ushort z) { void UpdateDatabase(Player p, MBArgs args, ushort x, ushort y, ushort z) {
data.Message = data.Message.Replace("'", "\\'"); args.Message = args.Message.Replace("'", "\\'");
data.Message = Colors.Escape(data.Message); args.Message = Colors.Escape(args.Message);
data.Message = data.Message.UnicodeToCp437(); args.Message = args.Message.UnicodeToCp437();
string lvlName = p.level.name; string lvlName = p.level.name;
object locker = ThreadSafeCache.DBCache.GetLocker(lvlName); object locker = ThreadSafeCache.DBCache.GetLocker(lvlName);
@ -139,15 +139,15 @@ namespace MCGalaxy.Commands.Building {
} }
if (count == 0) { 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 { } else {
Database.Backend.UpdateRows("Messages" + lvlName, "Message=@3", 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) { void ShowMessageBlocks(Player p) {

View File

@ -32,7 +32,7 @@ namespace MCGalaxy.Commands.Building {
public override bool SuperUseable { get { return false; } } public override bool SuperUseable { get { return false; } }
public override void Use(Player p, string message) { public override void Use(Player p, string message) {
PortalData data; PortalArgs data = new PortalArgs();
data.Multi = false; data.Multi = false;
string[] args = message.SplitSpaces(); string[] args = message.SplitSpaces();
string block = message.Length == 0 ? "" : args[0].ToLower(); 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) { 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); 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.RevertBlock(x, y, z); return;
} }
p.ClearBlockchange(); 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; 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); p.SendBlockchange(x, y, z, (ExtBlock)Block.Green);
PortalPos Port; PortalPos Port;
Port.Map = p.level.name; Port.Map = p.level.name;
Port.x = x; Port.y = y; Port.z = z; Port.x = x; Port.y = y; Port.z = z;
data.Entries.Add(Port); args.Entries.Add(Port);
p.blockchangeObject = data; p.blockchangeObject = args;
if (!data.Multi) { if (!args.Multi) {
p.Blockchange += ExitChange; p.Blockchange += ExitChange;
Player.Message(p, "&aEntry block placed"); Player.Message(p, "&aEntry block placed");
} else { } else {
@ -107,10 +107,10 @@ namespace MCGalaxy.Commands.Building {
void ExitChange(Player p, ushort x, ushort y, ushort z, ExtBlock block) { void ExitChange(Player p, ushort x, ushort y, ushort z, ExtBlock block) {
p.ClearBlockchange(); p.ClearBlockchange();
p.RevertBlock(x, y, z); p.RevertBlock(x, y, z);
PortalData bp = (PortalData)p.blockchangeObject; PortalArgs args = (PortalArgs)p.blockchangeObject;
string dstMap = p.level.name.UnicodeToCp437(); string dstMap = p.level.name.UnicodeToCp437();
foreach (PortalPos P in bp.Entries) { foreach (PortalPos P in args.Entries) {
string lvlName = P.Map; string lvlName = P.Map;
object locker = ThreadSafeCache.DBCache.GetLocker(lvlName); object locker = ThreadSafeCache.DBCache.GetLocker(lvlName);
@ -134,17 +134,17 @@ namespace MCGalaxy.Commands.Building {
} }
} }
if (P.Map == p.level.name) 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"); Player.Message(p, "&3Exit %Sblock placed");
if (!p.staticCommands) return; if (!p.staticCommands) return;
bp.Entries.Clear(); args.Entries.Clear();
p.blockchangeObject = bp; p.blockchangeObject = args;
p.Blockchange += EntryChange; p.Blockchange += EntryChange;
} }
struct PortalData { public List<PortalPos> Entries; public ExtBlock Block; public bool Multi; } class PortalArgs { public List<PortalPos> Entries; public ExtBlock Block; public bool Multi; }
struct PortalPos { public ushort x, y, z; public string Map; } struct PortalPos { public ushort x, y, z; public string Map; }

View File

@ -43,7 +43,7 @@ namespace MCGalaxy.Commands.Building {
Player.Message(p, "The Interval cannot be greater than the distance."); return; 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; dArgs.distance = distance; dArgs.interval = interval;
Player.Message(p, "Place or break two blocks to determine direction."); Player.Message(p, "Place or break two blocks to determine direction.");
p.MakeSelection(2, dArgs, DoSPlace); p.MakeSelection(2, dArgs, DoSPlace);
@ -90,7 +90,7 @@ namespace MCGalaxy.Commands.Building {
return true; return true;
} }
struct DrawArgs { public ushort distance, interval; } class DrawArgs { public ushort distance, interval; }
public override void Help(Player p) { public override void Help(Player p) {
Player.Message(p, "%T/SPlace [distance] <interval>"); Player.Message(p, "%T/SPlace [distance] <interval>");

View File

@ -32,7 +32,7 @@ namespace MCGalaxy.Commands.Building {
public override void Use(Player p, string message) { public override void Use(Player p, string message) {
string[] parts = message.SplitSpaces(3); string[] parts = message.SplitSpaces(3);
DrawArgs dArgs = default(DrawArgs); DrawArgs dArgs = new DrawArgs();
dArgs.size = -1; dArgs.size = -1;
Tree tree = Tree.Find(parts[0]); Tree tree = Tree.Find(parts[0]);
@ -98,7 +98,7 @@ namespace MCGalaxy.Commands.Building {
return brush.Construct(args); 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) { public override void Help(Player p) {
Player.Message(p, "%T/Tree [type] %H- Draws a tree."); Player.Message(p, "%T/Tree [type] %H- Draws a tree.");

View File

@ -42,7 +42,7 @@ namespace MCGalaxy.Commands.Building {
if (!byte.TryParse(args[0], out scale)) scale = 1; if (!byte.TryParse(args[0], out scale)) scale = 1;
if (!byte.TryParse(args[1], out spacing)) spacing = 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.scale = scale; wArgs.spacing = spacing;
wArgs.message = args[2].ToUpper(); wArgs.message = args[2].ToUpper();
Player.Message(p, "Place or break two blocks to determine direction."); Player.Message(p, "Place or break two blocks to determine direction.");
@ -64,7 +64,7 @@ namespace MCGalaxy.Commands.Building {
return true; 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) { public override void Help(Player p) {
Player.Message(p, "%T/WriteText [scale] [spacing] [message]"); Player.Message(p, "%T/WriteText [scale] [spacing] [message]");

View File

@ -59,7 +59,7 @@ namespace MCGalaxy.Commands.Misc {
void DoKick(Player p, Group newRank) { void DoKick(Player p, Group newRank) {
if (!ServerConfig.HackrankKicks) return; if (!ServerConfig.HackrankKicks) return;
HackRankArgs args; HackRankArgs args = new HackRankArgs();
args.name = p.name; args.newRank = newRank; args.name = p.name; args.newRank = newRank;
TimeSpan delay = TimeSpan.FromSeconds(ServerConfig.HackrankKickDelay); TimeSpan delay = TimeSpan.FromSeconds(ServerConfig.HackrankKickDelay);
@ -75,7 +75,7 @@ namespace MCGalaxy.Commands.Misc {
who.Leave("kicked (" + msg + "%S)", "Kicked " + msg); 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) { public override void Help(Player p) {
Player.Message(p, "%T/HackRank [rank] %H- Hacks a rank"); Player.Message(p, "%T/HackRank [rank] %H- Hacks a rank");