Compare Scriptable Objects#
Compare / Compare Scriptable Objects
Description#
Returns true if two Scriptable Objects are equal
Parameters#
| Name | Description |
|---|---|
| Value 1 | The Scriptable Object targeted |
| Value 2 | The Scriptable Object to compare against |
Code#
using System;
using UnityEngine;
using VisualScript.Icons;
namespace VisualScript.Runtime
{
[Title("Compare Scriptable Objects")]
[Image(typeof(IconCubeOutline), ColorTheme.Type.Blue, typeof(BadgeScriptableObject))]
[Description("Returns true if two Scriptable Objects are equal")]
[Category("Compare/Compare Scriptable Objects")]
[Parameter("Value 1", "The Scriptable Object targeted")]
[Parameter("Value 2", "The Scriptable Object to compare against")]
[Keywords("Check", "Equals", "Same")]
[Serializable]
public class ConditionCoreCompareScriptableObject : Condition
{
[SerializeField] private GetScriptableObject m_Value1 = new GetScriptableObject();
[SerializeField] private GetScriptableObject m_Value2 = new GetScriptableObject();
protected override string GetTitle(GameObject source) => $"{this.m_Value1} = {this.m_Value2}";
protected override bool Run(Args args)
{
ScriptableObject value1 = this.m_Value1.Get(args);
ScriptableObject value2 = this.m_Value2.Get(args);
return value1 == value2;
}
}
}