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}