Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ AddObjectHolder()

void System.Runtime.Serialization.ObjectManager.AddObjectHolder ( ObjectHolder holder)
inlineprivate

Definition at line 81 of file ObjectManager.cs.

82 {
83 if (holder._id >= _objects.Length && _objects.Length != 1048576)
84 {
85 int num = 1048576;
86 if (holder._id < 524288)
87 {
88 num = _objects.Length * 2;
89 while (num <= holder._id && num < 1048576)
90 {
91 num *= 2;
92 }
93 if (num > 1048576)
94 {
95 num = 1048576;
96 }
97 }
98 ObjectHolder[] array = new ObjectHolder[num];
99 Array.Copy(_objects, array, _objects.Length);
100 _objects = array;
101 }
102 int num2 = (int)(holder._id & 0xFFFFF);
103 ObjectHolder next = _objects[num2];
104 holder._next = next;
106 }

References System.Runtime.Serialization.ObjectManager._objects, System.array, System.Array.Copy(), and System.Runtime.Serialization.Dictionary.

Referenced by System.Runtime.Serialization.ObjectManager.FindOrCreateObjectHolder(), System.Runtime.Serialization.ObjectManager.RegisterObject(), and System.Runtime.Serialization.ObjectManager.RegisterString().