using System; namespace UnityAtoms { public abstract class EquatableAtomReference : AtomReference, IEquatable> where P : struct, IPair where C : AtomBaseVariable where V : AtomVariable where E1 : AtomEvent where E2 : AtomEvent

where F : AtomFunction where VI : AtomVariableInstancer where CO : IGetValue where L : IGetValue { public EquatableAtomReference() : base() { } public EquatableAtomReference(T value) : base(value) { } public bool Equals(EquatableAtomReference other) { return base.Equals(other); } protected override bool ValueEquals(T other) { return (Value == null && other == null) || (Value != null && Value.Equals(other)); } } }