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

◆ DoNewlyRegisteredObjectFixups()

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

Definition at line 401 of file ObjectManager.cs.

402 {
403 if (holder.CanObjectValueChange)
404 {
405 return;
406 }
407 LongList dependentObjects = holder.DependentObjects;
408 if (dependentObjects == null)
409 {
410 return;
411 }
412 dependentObjects.StartEnumeration();
413 while (dependentObjects.MoveNext())
414 {
415 ObjectHolder objectHolder = FindObjectHolder(dependentObjects.Current);
416 objectHolder.DecrementFixupsRemaining(this);
417 if (objectHolder.DirectlyDependentObjects == 0)
418 {
419 if (objectHolder.ObjectValue != null)
420 {
422 }
423 else
424 {
425 objectHolder.MarkForCompletionWhenAvailable();
426 }
427 }
428 }
429 }
void CompleteObject(ObjectHolder holder, bool bObjectFullyComplete)
ObjectHolder FindObjectHolder(long objectID)

References System.Runtime.Serialization.ObjectManager.CompleteObject(), System.Runtime.Serialization.Dictionary, System.Runtime.Serialization.ObjectManager.FindObjectHolder(), and System.Runtime.Serialization.LongList.StartEnumeration().

Referenced by System.Runtime.Serialization.ObjectManager.FixupSpecialObject(), System.Runtime.Serialization.ObjectManager.RegisterObject(), and System.Runtime.Serialization.ObjectManager.ResolveObjectReference().