Skip to content

Instantly share code, notes, and snippets.

@acyuta
Created December 14, 2019 11:53
Show Gist options
  • Save acyuta/f1974df3aa69d3f8f435122388f2f399 to your computer and use it in GitHub Desktop.
Save acyuta/f1974df3aa69d3f8f435122388f2f399 to your computer and use it in GitHub Desktop.
enum Sprites {
HERO_MOVE,
HERO_STAND_UP,
HERO_STAND_DOWN,
}
class Bitmap {}
class Hero {
private final Loader loader;
private Sprites state;
Hero(Loader loader) {
this.loader = loader;
state = Sprites.HERO_MOVE;
}
void onDraw() {
final List<Bitmap> sprites = loader.getSprites(state);
drawSprites(sprites);
}
private void drawSprites(List<Bitmap> sprites) {
// draw logic
}
}
class Loader {
Map<Sprites, List<Bitmap>> store = new HashMap<>();
public Loader() {
// load all bitmaps
load();
}
public List<Bitmap> getSprites(Sprites key) {
return store.get(key);
}
private void load() {
store.put(Sprites.HERO_MOVE, createHeroMoveSprites());
}
private List<Bitmap> createHeroMoveSprites() {
List<Bitmap> list = new ArrayList<>();
list.add(new Bitmap());
return list;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment