Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
EditorAttribute.cs
Go to the documentation of this file.
2
4
5[AttributeUsage(AttributeTargets.All, AllowMultiple = true, Inherited = true)]
6public sealed class EditorAttribute : Attribute
7{
8 private string _typeId;
9
10 [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicConstructors)]
11 public string? EditorBaseTypeName { get; }
12
13 [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicConstructors)]
14 public string EditorTypeName { get; }
15
16 public override object TypeId
17 {
18 get
19 {
20 if (_typeId == null)
21 {
22 string text = EditorBaseTypeName ?? string.Empty;
23 int num = text.IndexOf(',');
24 if (num != -1)
25 {
26 text = text.Substring(0, num);
27 }
28 _typeId = GetType().FullName + text;
29 }
30 return _typeId;
31 }
32 }
33
35 {
36 EditorTypeName = string.Empty;
37 EditorBaseTypeName = string.Empty;
38 }
39
40 public EditorAttribute([DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicConstructors)] string typeName, [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicConstructors)] string? baseTypeName)
41 {
42 EditorTypeName = typeName ?? throw new ArgumentNullException("typeName");
43 EditorBaseTypeName = baseTypeName;
44 }
45
46 public EditorAttribute([DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicConstructors)] string typeName, [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicConstructors)] Type baseType)
47 {
48 if (typeName == null)
49 {
50 throw new ArgumentNullException("typeName");
51 }
52 if (baseType == null)
53 {
54 throw new ArgumentNullException("baseType");
55 }
56 EditorTypeName = typeName;
58 }
59
60 public EditorAttribute([DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicConstructors)] Type type, [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicConstructors)] Type baseType)
61 {
62 if (type == null)
63 {
64 throw new ArgumentNullException("type");
65 }
66 if (baseType == null)
67 {
68 throw new ArgumentNullException("baseType");
69 }
70 EditorTypeName = type.AssemblyQualifiedName;
72 }
73
74 public override bool Equals(object? obj)
75 {
76 if (obj == this)
77 {
78 return true;
79 }
80 if (obj is EditorAttribute editorAttribute && editorAttribute.EditorTypeName == EditorTypeName)
81 {
82 return editorAttribute.EditorBaseTypeName == EditorBaseTypeName;
83 }
84 return false;
85 }
86
87 public override int GetHashCode()
88 {
89 return base.GetHashCode();
90 }
91}
EditorAttribute([DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicConstructors)] Type type, [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicConstructors)] Type baseType)
EditorAttribute([DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicConstructors)] string typeName, [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicConstructors)] Type baseType)
override bool Equals(object? obj)
EditorAttribute([DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicConstructors)] string typeName, [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicConstructors)] string? baseTypeName)
string? AssemblyQualifiedName
Definition Type.cs:45