Debug.Log Extensions
Documentation (1.1.9)

◆ Guard() [10/10]

static bool Debug.Guard ( bool  condition,
[NotNull] Expression< Action >  methodContext 
)
static

Logs an error message to the Console if condition is not true and returns true if condition was false or false if it was not.

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 && to != null, ()=>CopyComponent(component, to)))
{
return;
}
var copy = to.AddComponent(component.GetType());
var json = JsonUtility.ToJson(component);
JsonUtility.FromJsonOverwrite(json, copy);
}
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
Parameters
conditionCondition you expect to be true.
methodContextExpression pointing to a method to which the guard applies.