private bool tryGet(string archetype, string kit, out AsyncAssetPool <GameObject> pool) { ResPath.Inspection archInspect, kitInspect; try { archInspect = ResPath.Inspect(archetype); kitInspect = ResPath.Inspect(kit); } catch (InvalidOperationException ex) // catch parse error { pool = null; return(false); } pool = null; if (!m_PoolByArchetype.TryGetValue(archInspect.ResourcePath, out var kitMap)) { return(false); } return(kitMap.TryGetValue(kitInspect.ResourcePath, out pool)); }