mirror of
https://github.com/2OOP/pism.git
synced 2026-02-04 19:04:49 +00:00
Resources now impelement the ResourceType interface
This commit is contained in:
@@ -3,9 +3,12 @@ package org.toop.framework.assets.resources;
|
||||
import javax.sound.sampled.*;
|
||||
import java.io.*;
|
||||
|
||||
public class AudioResource extends Resource {
|
||||
public class AudioResource extends Resource implements ResourceType<AudioResource> {
|
||||
|
||||
private AudioInputStream audioInputStream = null;
|
||||
private Clip clip = null;
|
||||
|
||||
|
||||
public AudioResource(File audioFile) {
|
||||
super(audioFile);
|
||||
}
|
||||
@@ -18,8 +21,7 @@ public class AudioResource extends Resource {
|
||||
return this.clip;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Resource load() {
|
||||
public AudioResource load() {
|
||||
try {
|
||||
this.audioInputStream = AudioSystem.getAudioInputStream(this.stream);
|
||||
Clip clip = AudioSystem.getClip();
|
||||
|
||||
@@ -2,8 +2,13 @@ package org.toop.framework.assets.resources;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
public class FontResource extends Resource {
|
||||
public class FontResource extends Resource implements ResourceType<FontResource> {
|
||||
|
||||
public FontResource(File fontFile) {
|
||||
super(fontFile);
|
||||
}
|
||||
|
||||
public FontResource load() {
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,11 +2,8 @@ package org.toop.framework.assets.resources;
|
||||
|
||||
import javafx.scene.image.Image;
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.InputStream;
|
||||
|
||||
public class ImageResource extends Resource {
|
||||
public class ImageResource extends Resource implements ResourceType<ImageResource> {
|
||||
|
||||
private Image image = null;
|
||||
|
||||
@@ -18,8 +15,7 @@ public class ImageResource extends Resource {
|
||||
return this.image;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Resource load() {
|
||||
public ImageResource load() {
|
||||
this.image = new Image(this.stream);
|
||||
return this;
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ package org.toop.framework.assets.resources;
|
||||
import java.io.*;
|
||||
|
||||
public abstract class Resource {
|
||||
|
||||
final InputStream stream;
|
||||
final File file;
|
||||
|
||||
@@ -15,10 +16,6 @@ public abstract class Resource {
|
||||
}
|
||||
}
|
||||
|
||||
public Resource load() {
|
||||
return this;
|
||||
}
|
||||
|
||||
public InputStream getInputStream() {
|
||||
return this.stream;
|
||||
}
|
||||
@@ -26,4 +23,5 @@ public abstract class Resource {
|
||||
public File getFile() {
|
||||
return this.file;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
package org.toop.framework.assets.resources;
|
||||
|
||||
public interface ResourceType<T extends Resource> {
|
||||
T load();
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
package org.toop.framework.assets.resources;
|
||||
|
||||
import javax.sound.sampled.AudioSystem;
|
||||
import javax.sound.sampled.Clip;
|
||||
import javax.sound.sampled.LineUnavailableException;
|
||||
import javax.sound.sampled.UnsupportedAudioFileException;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
|
||||
public class TextResource extends Resource implements ResourceType<TextResource> {
|
||||
|
||||
TextResource(File file) {
|
||||
super(file);
|
||||
}
|
||||
|
||||
public TextResource load() {
|
||||
return this;
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user