Clean up: Bugs, LINQ, constructors, default values, and null checks (#18)

This commit is contained in:
Kamron Batman 2019-03-11 14:29:59 -07:00 committed by GitHub
parent e748af4430
commit 513e54f70e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
1094 changed files with 15913 additions and 21892 deletions

View file

@ -7,19 +7,11 @@ namespace Server
[Parsable]
public class TextDefinition
{
public TextDefinition() : this(0, null)
{
}
public TextDefinition(int number) : this(number, null)
{
}
public TextDefinition(string text) : this(0, text)
{
}
public TextDefinition(int number, string text)
public TextDefinition(int number = 0, string text = null)
{
Number = number;
String = text;
@ -31,34 +23,17 @@ namespace Server
public bool IsEmpty => Number <= 0 && String == null;
public override string ToString()
{
if (Number > 0)
return string.Concat("#", Number.ToString());
if (String != null)
return String;
return "";
}
public override string ToString() => Number > 0 ? $"#{Number}" : String ?? "";
public string Format(bool propsGump)
{
if (Number > 0)
return string.Format("{0} (0x{0:X})", Number);
if (String != null)
return $"\"{String}\"";
return propsGump ? "-empty-" : "empty";
return Number > 0 ? $"{Number} (0x{Number:X})" :
String != null ? $"\"{String}\"" : propsGump ? "-empty-" : "empty";
}
public string GetValue()
{
if (Number > 0)
return Number.ToString();
if (String != null)
return String;
return "";
return Number > 0 ? Number.ToString() : String ?? "";
}
public static void Serialize(GenericWriter writer, TextDefinition def)
@ -120,10 +95,7 @@ namespace Server
public static implicit operator int(TextDefinition m)
{
if (m == null)
return 0;
return m.Number;
return m?.Number ?? 0;
}
public static implicit operator string(TextDefinition m)
@ -201,14 +173,11 @@ namespace Server
int i;
bool isInteger;
if (value.StartsWith("0x"))
isInteger = int.TryParse(value.Substring(2), NumberStyles.HexNumber, null, out i);
else
isInteger = int.TryParse(value, out i);
isInteger = value.StartsWith("0x") ?
int.TryParse(value.Substring(2), NumberStyles.HexNumber, null, out i) :
int.TryParse(value, out i);
if (isInteger)
return new TextDefinition(i);
return new TextDefinition(value);
return isInteger ? new TextDefinition(i) : new TextDefinition(value);
}
public static bool IsNullOrEmpty(TextDefinition def)
@ -216,4 +185,4 @@ namespace Server
return def == null || def.IsEmpty;
}
}
}
}