From 31012fd060117ff9ebdd3b2bf413f5904d2b9ebe Mon Sep 17 00:00:00 2001 From: kobewi Date: Thu, 7 Oct 2021 15:40:48 +0200 Subject: Change print_line() to use any number of Variants --- core/string/print_string.cpp | 6 +++++- core/string/print_string.h | 12 ++++++++++-- 2 files changed, 15 insertions(+), 3 deletions(-) (limited to 'core') diff --git a/core/string/print_string.cpp b/core/string/print_string.cpp index 345371d733..adc218f597 100644 --- a/core/string/print_string.cpp +++ b/core/string/print_string.cpp @@ -69,7 +69,7 @@ void remove_print_handler(PrintHandlerList *p_handler) { ERR_FAIL_COND(l == nullptr); } -void print_line(String p_string) { +void __print_line(String p_string) { if (!_print_line_enabled) { return; } @@ -108,3 +108,7 @@ void print_verbose(String p_string) { print_line(p_string); } } + +String stringify_variants(Variant p_var) { + return p_var.operator String(); +} diff --git a/core/string/print_string.h b/core/string/print_string.h index 1a9ff1efd6..3cd170b68e 100644 --- a/core/string/print_string.h +++ b/core/string/print_string.h @@ -31,7 +31,7 @@ #ifndef PRINT_STRING_H #define PRINT_STRING_H -#include "core/string/ustring.h" +#include "core/variant/variant.h" extern void (*_print_func)(String); @@ -46,13 +46,21 @@ struct PrintHandlerList { PrintHandlerList() {} }; +String stringify_variants(Variant p_var); + +template +String stringify_variants(Variant p_var, Args... p_args) { + return p_var.operator String() + " " + stringify_variants(p_args...); +} + void add_print_handler(PrintHandlerList *p_handler); void remove_print_handler(PrintHandlerList *p_handler); extern bool _print_line_enabled; extern bool _print_error_enabled; -extern void print_line(String p_string); +extern void __print_line(String p_string); extern void print_error(String p_string); extern void print_verbose(String p_string); +#define print_line(...) __print_line(stringify_variants(__VA_ARGS__)) #endif // PRINT_STRING_H -- cgit v1.2.3