사용법

// ResourceHolder.cs

// 동기 로딩, Editor 에서 사용
public void LoadAll()
{
    // "ui", "common" 라벨이 달린 UI 리소스 로드
    // see (ResourceHolder.Foundation.Load.cs)
    LoadUI(1, new string[] { "ui", "common" });

    LoadAssets();
}

// 비동기 로딩, 빌드에서 사용
public IEnumerator LoadAllAsync(ILoadingReceiver.Data loadingReceiver)
{
    LoadUI(1, new string[] { "ui", "common" });

    yield return LoadAssetsAsync(loadingReceiver);
}

// Load Methods
{
    // AssetType 애셋 로드
    LoadObject<AssetType>(unload_flag, "asset_key", onLoadedCallback);
    LoadObject<GameObject, TComponent>(unload_flag, "asset_key", obj => obj.GetComponent<TComponent>(), onLoadedCallback);
    
    // VFX
    LoadVFX(unload_flag, "asset_key");
    
    // SFX
    LoadAudioClip(unload_flag, "asset_key");
    
    // Sprite
    LoadSprite(unload_flag, "asset_key");
    
    // UI
    LoadUI(unload_flag, "asset_key");
}