Guest User

Untitled

a guest
Mar 5th, 2015
333
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.63 KB | None | 0 0
  1. class Renderer
  2. {
  3.     Graphics gp;
  4.    
  5.     BackgroundRenderer backgroundRenderer;
  6.     ZombieRenderer zombieRenderer;
  7.    
  8.     Renderer(IAssetAccess assets)
  9.     {
  10.         backgroundRenderer = new BackgroundRenderer(assets);
  11.         zombieRenderer = new ZombieRenderer(assets);
  12.     }
  13.    
  14.     void renderBackground(Background background) { backgroundRenderer.render(gp, background); }
  15.     void renderZombie(ZombieEntity zombie) { zombieRenderer.render(gp, zombie); }
  16. }
  17.  
  18. class BackgroundRenderer
  19. {
  20.     Sprite[] sprites;
  21.    
  22.     BackgroundRenderer(IAssetAccess assets) { sprites = assets.get("bg"); }
  23.    
  24.     void render(Graphics gp, Background background)
  25.     {
  26.         gp.drawSprite(sprites[background.index], background.x, background.y);
  27.     }
  28. }
  29.  
  30. class ZombieRenderer
  31. {
  32.     Sprite[] idleSprites;
  33.     Sprite[] moveSprites;
  34.     Sprite[] attackSprites;
  35.    
  36.     ZombieRenderer(IAssetAccess assets)
  37.     {
  38.         idleSprites = assets.get("zombie_idle");
  39.         moveSprites = assets.get("zombie_move");
  40.         attackSprites = assets.get("zombie_attack");
  41.     }
  42.    
  43.     void render(Graphics gp, ZombieEntity zombie)
  44.     {
  45.         Sprite sprite;
  46.        
  47.         if (zombie.state == MobState.IDLE) sprite = idleSprites[zombie.idleAnim.currentFrame];
  48.         if (zombie.state == MobState.MOVE) sprite = moveSprites[zombie.moveAnim.currentFrame];
  49.         if (zombie.state == MobState.ATTACK) sprite = attackSprites[zombie.attackAnim.currentFrame];
  50.        
  51.         gp.drawSprite(sprite, zombie.x, zombie.y);
  52.     }
  53. }
  54.  
  55. class Background
  56. {
  57.     int index;
  58.    
  59.     void render(Renderer renderer) { renderer.drawBackground(this); }
  60. }
  61.  
  62. class ZombieEntity
  63. {
  64.     Animation idleAnim;
  65.     Animation moveAnim;
  66.     Animation attackAnim;
  67.    
  68.     void render(Renderer renderer) { renderer.drawZombie(this); }
  69. }
Advertisement
Add Comment
Please, Sign In to add comment