Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
DataObjectAttribute.cs
Go to the documentation of this file.
2
4
5[AttributeUsage(AttributeTargets.Class)]
6public sealed class DataObjectAttribute : Attribute
7{
8 public static readonly DataObjectAttribute DataObject = new DataObjectAttribute(isDataObject: true);
9
10 public static readonly DataObjectAttribute NonDataObject = new DataObjectAttribute(isDataObject: false);
11
12 public static readonly DataObjectAttribute Default = NonDataObject;
13
14 public bool IsDataObject { get; }
15
17 : this(isDataObject: true)
18 {
19 }
20
21 public DataObjectAttribute(bool isDataObject)
22 {
23 IsDataObject = isDataObject;
24 }
25
26 public override bool Equals([NotNullWhen(true)] object? obj)
27 {
28 if (obj == this)
29 {
30 return true;
31 }
32 if (obj is DataObjectAttribute dataObjectAttribute)
33 {
34 return dataObjectAttribute.IsDataObject == IsDataObject;
35 }
36 return false;
37 }
38
39 public override int GetHashCode()
40 {
41 return IsDataObject.GetHashCode();
42 }
43
44 public override bool IsDefaultAttribute()
45 {
46 return Equals(Default);
47 }
48}
static readonly DataObjectAttribute DataObject
static readonly DataObjectAttribute NonDataObject
override bool Equals([NotNullWhen(true)] object? obj)
static readonly DataObjectAttribute Default