Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
GuidHandle.cs
Go to the documentation of this file.
2
4
5public readonly struct GuidHandle : IEquatable<GuidHandle>
6{
7 private readonly int _index;
8
9 public bool IsNil => _index == 0;
10
11 internal int Index => _index;
12
13 private GuidHandle(int index)
14 {
15 _index = index;
16 }
17
18 internal static GuidHandle FromIndex(int heapIndex)
19 {
20 return new GuidHandle(heapIndex);
21 }
22
23 public static implicit operator Handle(GuidHandle handle)
24 {
25 return new Handle(114, handle._index);
26 }
27
28 public static explicit operator GuidHandle(Handle handle)
29 {
30 if (handle.VType != 114)
31 {
33 }
34 return new GuidHandle(handle.Offset);
35 }
36
37 public override bool Equals([NotNullWhen(true)] object? obj)
38 {
39 if (obj is GuidHandle other)
40 {
41 return Equals(other);
42 }
43 return false;
44 }
45
46 public bool Equals(GuidHandle other)
47 {
48 return _index == other._index;
49 }
50
51 public override int GetHashCode()
52 {
53 return _index;
54 }
55
56 public static bool operator ==(GuidHandle left, GuidHandle right)
57 {
58 return left.Equals(right);
59 }
60
61 public static bool operator !=(GuidHandle left, GuidHandle right)
62 {
63 return !left.Equals(right);
64 }
65}
static void InvalidCast()
Definition Throw.cs:12
static bool operator!=(GuidHandle left, GuidHandle right)
Definition GuidHandle.cs:61
static bool operator==(GuidHandle left, GuidHandle right)
Definition GuidHandle.cs:56
static GuidHandle FromIndex(int heapIndex)
Definition GuidHandle.cs:18
override bool Equals([NotNullWhen(true)] object? obj)
Definition GuidHandle.cs:37
bool Equals(GuidHandle other)
Definition GuidHandle.cs:46