package com.github.czyzby.autumn.mvc.component.asset.dto.injection;
import com.badlogic.gdx.utils.ObjectSet;
import com.github.czyzby.autumn.mvc.component.asset.AssetService;
/** Allows for delayed injection.
*
* @author MJ */
public interface AssetInjection {
/** Injects the value of annotated field.
*
* @param assetService provides the asset.
* @return true if asset was injected. */
public boolean inject(AssetService assetService);
/** @param scheduledAssets will contain handled asset paths. */
public void fillScheduledAssets(ObjectSet<String> scheduledAssets);
/** @param scheduledAssets will have handled asset paths removed. */
public void removeScheduledAssets(ObjectSet<String> scheduledAssets);
}