MCPcopy Create free account
hub / github.com/OpenRCT2/OpenRCT2 / GetOrLoadObject

Method GetOrLoadObject

src/openrct2/object/ObjectManager.cpp:728–747  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

726 }
727
728 Object* GetOrLoadObject(const ObjectRepositoryItem* ori)
729 {
730 auto* loadedObject = ori->LoadedObject.get();
731 if (loadedObject != nullptr)
732 return loadedObject;
733
734 // Try to load object
735 auto object = _objectRepository.LoadObject(ori);
736 if (object != nullptr)
737 {
738 loadedObject = object.get();
739
740 object->Load();
741
742 // Connect the ori to the registered object
743 _objectRepository.RegisterLoadedObject(ori, std::move(object));
744 }
745
746 return loadedObject;
747 }
748
749 void ResetTypeToRideEntryIndexMap()
750 {

Callers

nothing calls this directly

Calls 4

RegisterLoadedObjectMethod · 0.80
getMethod · 0.65
LoadObjectMethod · 0.45
LoadMethod · 0.45

Tested by

no test coverage detected