Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Renderer
- {
- Graphics gp;
- BackgroundRenderer backgroundRenderer;
- ZombieRenderer zombieRenderer;
- Renderer(IAssetAccess assets)
- {
- backgroundRenderer = new BackgroundRenderer(assets);
- zombieRenderer = new ZombieRenderer(assets);
- }
- void renderBackground(Background background) { backgroundRenderer.render(gp, background); }
- void renderZombie(ZombieEntity zombie) { zombieRenderer.render(gp, zombie); }
- }
- class BackgroundRenderer
- {
- Sprite[] sprites;
- BackgroundRenderer(IAssetAccess assets) { sprites = assets.get("bg"); }
- void render(Graphics gp, Background background)
- {
- gp.drawSprite(sprites[background.index], background.x, background.y);
- }
- }
- class ZombieRenderer
- {
- Sprite[] idleSprites;
- Sprite[] moveSprites;
- Sprite[] attackSprites;
- ZombieRenderer(IAssetAccess assets)
- {
- idleSprites = assets.get("zombie_idle");
- moveSprites = assets.get("zombie_move");
- attackSprites = assets.get("zombie_attack");
- }
- void render(Graphics gp, ZombieEntity zombie)
- {
- Sprite sprite;
- if (zombie.state == MobState.IDLE) sprite = idleSprites[zombie.idleAnim.currentFrame];
- if (zombie.state == MobState.MOVE) sprite = moveSprites[zombie.moveAnim.currentFrame];
- if (zombie.state == MobState.ATTACK) sprite = attackSprites[zombie.attackAnim.currentFrame];
- gp.drawSprite(sprite, zombie.x, zombie.y);
- }
- }
- class Background
- {
- int index;
- void render(Renderer renderer) { renderer.drawBackground(this); }
- }
- class ZombieEntity
- {
- Animation idleAnim;
- Animation moveAnim;
- Animation attackAnim;
- void render(Renderer renderer) { renderer.drawZombie(this); }
- }
Advertisement
Add Comment
Please, Sign In to add comment