A game about forced loneliness, made by TACStudios
fork

Configure Feed

Select the types of activity you want to include in your feed.

at master 106 lines 3.0 kB view raw
1using System; 2using UnityEngine; 3 4namespace UnityEditor 5{ 6 /// <summary> 7 /// Data structure to hold Name ID pair. 8 /// </summary> 9 [Serializable] 10 public class SpriteNameFileIdPair : IEquatable<SpriteNameFileIdPair> 11 { 12 [SerializeField] 13 private string m_Name; 14 [SerializeField] 15 private long m_FileId; 16 [SerializeField] 17 private GUID m_GUID; 18 19 /// <summary> 20 /// Name property. 21 /// </summary> 22 public string name 23 { 24 get { return m_Name; } 25 set { m_Name = value; } 26 } 27 28 /// <summary> 29 /// FileId property. This property is obsolete. Please use GetFileGUID and SetFileGUID instead. 30 /// </summary> 31 [Obsolete("Property obsolete. Please use GetFileGUID and SetFileGUID instead.")] 32 public long fileId 33 { 34 get { return m_FileId; } 35 set 36 { 37 m_FileId = value; 38 SetFileGUID(GUID.CreateGUIDFromSInt64(m_FileId)); 39 } 40 } 41 42 /// <summary> 43 /// Returns the ID used for the name. 44 /// </summary> 45 /// <returns>GUID value.</returns> 46 public GUID GetFileGUID() 47 { 48 return m_GUID; 49 } 50 51 /// <summary> 52 /// Sets the ID used for the name. 53 /// </summary> 54 /// <param name="value">GUID value to set.</param> 55 public void SetFileGUID(GUID value) 56 { 57 if (value.Empty()) 58 value = GUID.Generate(); 59 m_GUID = value; 60 } 61 62 /// <summary> 63 /// Default constructor. 64 /// </summary> 65 public SpriteNameFileIdPair() {} 66 67 /// <summary> 68 /// Constructor to initialize name and fileID. 69 /// </summary> 70 public SpriteNameFileIdPair(string name, GUID fileId) 71 { 72 this.name = name; 73 SetFileGUID(fileId); 74 } 75 76 /// <summary> 77 /// Custom hashcode generation. 78 /// </summary> 79 /// <returns>Int value representing the hash value.</returns> 80 public override int GetHashCode() 81 { 82 return (name ?? string.Empty).GetHashCode() ^ m_GUID.GetHashCode(); 83 } 84 85 /// <summary> 86 /// Override Equal operator. 87 /// </summary> 88 /// <param name="obj">Object to compare.</param> 89 /// <returns>True if the same. False otherwise.</returns> 90 public override bool Equals(object obj) 91 { 92 var pair = obj as SpriteNameFileIdPair; 93 return pair != null && Equals(pair); 94 } 95 96 /// <summary> 97 /// Override Equal operator. 98 /// </summary> 99 /// <param name="pair">Object to compare.</param> 100 /// <returns>True if the same. False otherwise.</returns> 101 public bool Equals(SpriteNameFileIdPair pair) 102 { 103 return pair != null && name == pair.name && GetFileGUID() == pair.GetFileGUID(); 104 } 105 } 106}