Simplify C# print methods

- Extracts the parameters logic to a single method
- Simplify the handling of null parameters

(cherry picked from commit ad460cde79)
This commit is contained in:
Raul Santos 2021-07-29 13:51:54 +02:00 committed by Rémi Verschelde
parent a96519fa69
commit 5c206c38f9
No known key found for this signature in database
GPG key ID: C3336907360768E1

View file

@ -46,6 +46,16 @@ namespace Godot
return ret;
}
private static object[] GetPrintParams(object[] parameters)
{
if (parameters == null)
{
return new[] { "null" };
}
return Array.ConvertAll(parameters, x => x?.ToString() ?? "null");
}
public static int Hash(object var)
{
return godot_icall_GD_hash(var);
@ -83,7 +93,7 @@ namespace Godot
public static void Print(params object[] what)
{
godot_icall_GD_print(Array.ConvertAll(what ?? new object[] { "null" }, x => x != null ? x.ToString() : "null"));
godot_icall_GD_print(GetPrintParams(what));
}
public static void PrintStack()
@ -93,22 +103,22 @@ namespace Godot
public static void PrintErr(params object[] what)
{
godot_icall_GD_printerr(Array.ConvertAll(what ?? new object[] { "null" }, x => x != null ? x.ToString() : "null"));
godot_icall_GD_printerr(GetPrintParams(what));
}
public static void PrintRaw(params object[] what)
{
godot_icall_GD_printraw(Array.ConvertAll(what ?? new object[] { "null" }, x => x != null ? x.ToString() : "null"));
godot_icall_GD_printraw(GetPrintParams(what));
}
public static void PrintS(params object[] what)
{
godot_icall_GD_prints(Array.ConvertAll(what ?? new object[] { "null" }, x => x != null ? x.ToString() : "null"));
godot_icall_GD_prints(GetPrintParams(what));
}
public static void PrintT(params object[] what)
{
godot_icall_GD_printt(Array.ConvertAll(what ?? new object[] { "null" }, x => x != null ? x.ToString() : "null"));
godot_icall_GD_printt(GetPrintParams(what));
}
public static float Randf()