package tk.amberide.ide.data.res; import tk.amberide.engine.al.Audio; import tk.amberide.engine.gl.model.obj.WavefrontObject; import java.io.File; import java.util.Collection; /** * * @author Tudor */ public interface IResourceManager { void loadResources() throws Exception; void emitResources() throws Exception; void importTileset(String name, Tileset sheet, File source); void removeTileset(String name); void importAudio(String name, Audio clip, File source); void removeAudio(String name); void importModel(String name, WavefrontObject model, File source); void removeModel(String name); Tileset getTileset(String name); Audio getAudio(String name); WavefrontObject getModel(String name); Resource<Tileset> getTilesetResource(String name); Resource<Audio> getAudioResource(String name); Resource<WavefrontObject> getModelResource(String name); Collection<Resource<Tileset>> getTilesets(); Collection<Resource<Audio>> getClips(); Collection<Resource<WavefrontObject>> getModels(); Collection<IResourceListener> getResourceListeners(); void addResourceListener(IResourceListener listener); void removeResourceListener(IResourceListener listener); void registerResourceListener(Object listener); void unregisterResourceListener(Object listener); }