123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- using System;
- using UnityEngine;
- namespace UnityEditor.Graphing
- {
- [Serializable]
- class Edge : IEdge
- {
- [SerializeField]
- private SlotReference m_OutputSlot;
- [SerializeField]
- private SlotReference m_InputSlot;
- public Edge()
- {}
- public Edge(SlotReference outputSlot, SlotReference inputSlot)
- {
- m_OutputSlot = outputSlot;
- m_InputSlot = inputSlot;
- }
- public SlotReference outputSlot
- {
- get { return m_OutputSlot; }
- }
- public SlotReference inputSlot
- {
- get { return m_InputSlot; }
- }
- protected bool Equals(Edge other)
- {
- return Equals(m_OutputSlot, other.m_OutputSlot) && Equals(m_InputSlot, other.m_InputSlot);
- }
- public bool Equals(IEdge other)
- {
- return Equals(other as object);
- }
- public override bool Equals(object obj)
- {
- if (ReferenceEquals(null, obj)) return false;
- if (ReferenceEquals(this, obj)) return true;
- if (obj.GetType() != this.GetType()) return false;
- return Equals((Edge)obj);
- }
- public override int GetHashCode()
- {
- unchecked
- {
- // Can't make fields readonly due to Unity serialization
- return (m_OutputSlot.GetHashCode() * 397) ^ m_InputSlot.GetHashCode();
- }
- }
- }
- }
|