Advertisement
Guest User

Untitled

a guest
Jun 3rd, 2015
208
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.25 KB | None | 0 0
  1. package com.nrg.dagger;
  2.  
  3. import com.badlogic.gdx.ApplicationListener;
  4.  
  5. import dagger.ObjectGraph;
  6.  
  7. public class DaggerAdapter implements ApplicationListener {
  8.  
  9. private Class<? extends ApplicationListener> applicationListenerClass;
  10. private ApplicationListener delegateApplicationListener;
  11. private Object[] daggerModules;
  12.  
  13. public DaggerAdapter(Class<? extends ApplicationListener> applicationListener,
  14. Object... daggerModules){
  15. this.setApplicationListenerClass(applicationListener);
  16. this.setDaggerModules(daggerModules);
  17. }
  18.  
  19. @Override
  20. public void create(){
  21. final ObjectGraph objectGraph = ObjectGraph.create(this.getDaggerModules());
  22. final ApplicationListener applicationListener =
  23. objectGraph.get(this.getInjectableGameClass());
  24. this.setDelegateApplicationListener(applicationListener);
  25. this.getDelegateApplicationListener().create();
  26. }
  27.  
  28. @Override
  29. public void resize(int width, int height) {
  30. this.getDelegateApplicationListener().resize(width, height);
  31. }
  32.  
  33. @Override
  34. public void render() {
  35. this.getDelegateApplicationListener().render();
  36. }
  37.  
  38. @Override
  39. public void pause() {
  40. this.getDelegateApplicationListener().pause();
  41. }
  42.  
  43. @Override
  44. public void resume() {
  45. this.getDelegateApplicationListener().resume();
  46. }
  47.  
  48. @Override
  49. public void dispose() {
  50. this.getDelegateApplicationListener().dispose();
  51. }
  52.  
  53. public Class<? extends ApplicationListener> getInjectableGameClass() {
  54. return applicationListenerClass;
  55. }
  56.  
  57. public void setApplicationListenerClass(Class<? extends ApplicationListener> injectableGameClass) {
  58. this.applicationListenerClass = injectableGameClass;
  59. }
  60.  
  61. private void setDaggerModules(Object[] daggerModules) {
  62. this.daggerModules = daggerModules;
  63. }
  64.  
  65. private Object[] getDaggerModules(){
  66. return this.daggerModules;
  67. }
  68.  
  69. public ApplicationListener getDelegateApplicationListener() {
  70. return delegateApplicationListener;
  71. }
  72.  
  73. public void setDelegateApplicationListener(ApplicationListener applicationListener) {
  74. this.delegateApplicationListener = applicationListener;
  75. }
  76. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement