2020-03-02 02:26:06 +01:00
using System ;
using UnityAtoms.BaseAtoms ;
using UnityEngine ;
namespace UnityAtoms.BaseAtoms
{
/// <summary>
/// Reference of type `GameObject`. Inherits from `AtomReference<GameObject, GameObjectPair, GameObjectConstant, GameObjectVariable, GameObjectEvent, GameObjectPairEvent, GameObjectGameObjectFunction, GameObjectVariableInstancer>`.
/// </summary>
[Serializable]
public sealed class GameObjectReference : AtomReference <
GameObject ,
GameObjectPair ,
GameObjectConstant ,
GameObjectVariable ,
GameObjectEvent ,
GameObjectPairEvent ,
GameObjectGameObjectFunction ,
GameObjectVariableInstancer ,
AtomCollection ,
AtomList > , IEquatable < GameObjectReference >
{
public GameObjectReference ( ) : base ( ) { }
public GameObjectReference ( GameObject value ) : base ( value ) { }
public bool Equals ( GameObjectReference other ) { return base . Equals ( other ) ; }
protected override bool ValueEquals ( GameObject other )
{
2020-03-05 00:56:56 +01:00
return ( this . Value = = null & & other = = null ) | | this . Value ! = null & & other ! = null & & this . Value . GetInstanceID ( ) = = other . GetInstanceID ( ) ;
}
2020-03-02 02:26:06 +01:00
}
}