public static bool TryGetPool <TComponent>(AssetReference aRef, out AssetReferencePool <TComponent> assetReferencePool) where TComponent : Component
        {
            if (AllPools.TryGetValue(aRef.RuntimeKey, out var p))
            {
                assetReferencePool = p as AssetReferencePool <TComponent>;
                return(true);
            }

            assetReferencePool = null;
            return(false);
        }
 public static bool TryGetPool(object key, out AssetReferencePool assetReferencePool)
 {
     return(AllPools.TryGetValue(key, out assetReferencePool));
 }
 public static bool TryGetPool(AssetReference aRef, out AssetReferencePool assetReferencePool)
 {
     return(AllPools.TryGetValue(aRef.RuntimeKey, out assetReferencePool));
 }