A game about forced loneliness, made by TACStudios
1using System; 2using System.Reflection; 3 4namespace Unity.VisualScripting 5{ 6 public struct LooseAssemblyName 7 { 8 public readonly string name; 9 10 public LooseAssemblyName(string name) 11 { 12 if (name == null) 13 { 14 throw new ArgumentNullException(nameof(name)); 15 } 16 17 this.name = name; 18 } 19 20 public override bool Equals(object obj) 21 { 22 if (!(obj is LooseAssemblyName)) 23 { 24 return false; 25 } 26 27 return ((LooseAssemblyName)obj).name == name; 28 } 29 30 public override int GetHashCode() 31 { 32 return HashUtility.GetHashCode(name); 33 } 34 35 public static bool operator ==(LooseAssemblyName a, LooseAssemblyName b) 36 { 37 return a.Equals(b); 38 } 39 40 public static bool operator !=(LooseAssemblyName a, LooseAssemblyName b) 41 { 42 return !(a == b); 43 } 44 45 public static implicit operator LooseAssemblyName(string name) 46 { 47 return new LooseAssemblyName(name); 48 } 49 50 public static implicit operator string(LooseAssemblyName name) 51 { 52 return name.name; 53 } 54 55 public static explicit operator LooseAssemblyName(AssemblyName strongAssemblyName) 56 { 57 return new LooseAssemblyName(strongAssemblyName.Name); 58 } 59 60 public override string ToString() 61 { 62 return name; 63 } 64 } 65}