MCPcopy Create free account
hub / github.com/defold/defold / CompFactoryUpdate

Function CompFactoryUpdate

engine/gamesys/src/gamesys/components/comp_factory.cpp:192–220  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

190 }
191
192 dmGameObject::UpdateResult CompFactoryUpdate(const dmGameObject::ComponentsUpdateParams& params, dmGameObject::ComponentsUpdateResult& update_result)
193 {
194 FactoryWorld* world = (FactoryWorld*)params.m_World;
195 dmGameObject::UpdateResult result = dmGameObject::UPDATE_RESULT_OK;
196 for (uint32_t i = 0; i < world->m_Components.Size(); ++i)
197 {
198 FactoryComponent* component = &world->m_Components[i];
199 if (!component->m_AddedToUpdate)
200 continue;
201 if (component->m_Loading)
202 {
203 dmResource::HFactory factory = dmGameObject::GetFactory(params.m_Collection);
204 dmResource::Result r = dmResource::RESULT_OK;
205 if(component->m_Preloader)
206 {
207 dmResource::PreloaderCompleteCallbackParams preloader_params;
208 preloader_params.m_Factory = factory;
209 preloader_params.m_UserData = component;
210 r = dmResource::UpdatePreloader(component->m_Preloader, PreloadCompleteCallback, &preloader_params, 10*1000);
211 }
212 if (r != dmResource::RESULT_PENDING)
213 {
214 LoadComplete(params, component, r);
215 }
216 }
217 }
218 DM_PROPERTY_ADD_U32(rmtp_Factory, world->m_IndexPool.Size());
219 return result;
220 }
221
222 dmGameObject::UpdateResult CompFactoryOnMessage(const dmGameObject::ComponentOnMessageParams& params)
223 {

Callers

nothing calls this directly

Calls 4

UpdatePreloaderFunction · 0.85
GetFactoryFunction · 0.70
LoadCompleteFunction · 0.70
SizeMethod · 0.45

Tested by

no test coverage detected