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