Debug.Log Extensions
Documentation (1.1.9)

◆ Guard() [6/10]

static bool Debug.Guard ( bool  condition,
int  channel,
params string[]  messageParts 

If condition is false logs to the Console on the given channel an error message formed by joining the given text strings together and returns true.

If condition is true returns false without logging anything.

This can be useful for checking that the arguments passed to a function are valid and if not returning early with an error.

An error is only logged the first time during a session that the condition evaluates to false to avoid flooding the log file.

In release builds an error will only be logged if the UNITY_ASSERTIONS symbol is defined.

private void CopyComponent(Component component, GameObject to)
if(Debug.Guard(component != null, Channel.Utils, nameof(CopyComponent), " called with null ", nameof(component), " argument.")
|| Debug.Guard(to != null, Channel.Utils, nameof(CopyComponent), " called with null ", nameof(to), " argument."))
var copy = to.AddComponent(component.GetType());
var json = JsonUtility.ToJson(component);
JsonUtility.FromJsonOverwrite(json, copy);
Defines a channel for a message logged to the Console.
Definition: Channel.cs:12
static bool Guard(bool condition, Object context=null)
If condition is false logs to the Console an error message and returns true.
Definition: Debug.cs:4102
Extended version of the built-in Debug class with additional methods to ease debugging while developi...
Definition: Debug.cs:34
conditionCondition you expect to be true.
channelThe channel to which the message belongs if logged.
messagePartsstrings to join together to form the message.
true if condition was false; otherwise, false.