Created
December 14, 2019 11:53
-
-
Save acyuta/f1974df3aa69d3f8f435122388f2f399 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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