View Javadoc

1   package de.jos.game.objects;
2   
3   import java.awt.image.BufferedImage;
4   import java.io.Serializable;
5   import java.util.ArrayList;
6   import java.util.List;
7   import java.util.ResourceBundle;
8   
9   import org.springframework.beans.factory.xml.XmlBeanFactory;
10  
11  import com.golden.gamedev.object.AnimatedSprite;
12  import com.golden.gamedev.object.Background;
13  import com.golden.gamedev.object.GameFont;
14  import com.golden.gamedev.object.Sprite;
15  import com.golden.gamedev.object.background.ColorBackground;
16  import com.golden.gamedev.object.background.ImageBackground;
17  
18  import de.jos.game.Constants;
19  import de.jos.game.logic.NInARowValidator;
20  import de.jos.game.xml.Level;
21  
22  public class ResourceContainer implements Serializable {
23  
24    private static final long serialVersionUID = 3245510308465227482L;
25  
26    private final ResourceBundle labelResources = ResourceBundle.getBundle("label");
27  
28    private ImageBackground gameBackgroundImage = null;
29  
30    private Sprite cursorSprite = null;
31    private Sprite levelAdvanceTop = null;
32    private Sprite levelAdvanceBottom = null;
33  
34    private static final int NUMBER_BULLETS = 8;
35  
36    /*** teilhintergrund fuer den enlosmodues, bg rechts */
37    private BufferedImage bgPartInfinite = null;
38    
39    private BufferedImage[][] bulletSpriteImages = new BufferedImage[NUMBER_BULLETS][];
40    private BufferedImage[][] bulletSpriteImagesSmall = new BufferedImage[NUMBER_BULLETS][0];
41    private BufferedImage[][] bulletSpriteImagesTiny = new BufferedImage[NUMBER_BULLETS][0];  
42    private BufferedImage[][] bulletSpriteRotate = new BufferedImage[NUMBER_BULLETS][];
43  
44    private BufferedImage[][] canisterImages = new BufferedImage[NUMBER_BULLETS][];
45  
46    private GameFont gameFont = null;
47    private GameFont ingameFont = null;
48  
49    private XmlBeanFactory beanFactory = null;
50  
51    private Sprite countdownSprite = null;
52    private Sprite countdownBackground = null;
53    private AnimatedSprite animatedButtonSprite = null;
54  
55    private ScoreCalculator scoreCalculator = new ScoreCalculator();
56    private NInARowValidator nInARowValidator = new NInARowValidator();
57  
58    private Background background = new ColorBackground(Constants.DEFAULT_BACKGROUND_COLOR, 800, 600);
59  
60    private List<Level> puzzleLevels = new ArrayList<Level>();
61    private List<Level> infiniteLevels = new ArrayList<Level>();
62  
63    public List<Level> getInfiniteLevels() {
64      return infiniteLevels;
65    }
66  
67    public void setInfiniteLevels(List<Level> infiniteLevels) {
68      this.infiniteLevels = infiniteLevels;
69    }
70  
71    public List<Level> getPuzzleLevels() {
72      return puzzleLevels;
73    }
74  
75    public void setPuzzleLevels(List<Level> puzzleLevels) {
76      this.puzzleLevels = puzzleLevels;
77    }
78  
79    public ImageBackground getGameBackgroundImage() {
80      return gameBackgroundImage;
81    }
82  
83    public void setGameBackgroundImage(ImageBackground gameBackgroundImage) {
84      this.gameBackgroundImage = gameBackgroundImage;
85    }
86  
87    public Sprite getCursorSprite() {
88      return cursorSprite;
89    }
90  
91    public void setCursorSprite(Sprite cursorSprite) {
92      this.cursorSprite = cursorSprite;
93    }
94  
95    public BufferedImage[] getBulletSpriteImage(int index) {
96      return bulletSpriteImages[index];
97    }
98  
99    public void setBulletSpriteImage(int index, BufferedImage[] sprite) {
100     bulletSpriteImages[index] = sprite;
101   }
102 
103   public BufferedImage[] getBulletSpriteRotate(int index) {
104     return bulletSpriteRotate[index];
105   }
106 
107   public void setBulletSpriteRotate(int index, BufferedImage[] sprite) {
108     bulletSpriteRotate[index] = sprite;
109   }
110 
111   public BufferedImage[] getBulletSpriteImageSmall(int index) {
112     return bulletSpriteImagesSmall[index];
113   }
114 
115   public void setBulletSpriteImageSmall(int index, BufferedImage[] sprite) {
116     bulletSpriteImagesSmall[index] = sprite;
117   }
118 
119   public BufferedImage[] getBulletSpriteImageTiny(int index) {
120     return bulletSpriteImagesTiny[index];
121   }
122 
123   public void setBulletSpriteImageTiny(int index, BufferedImage[] sprite) {
124     bulletSpriteImagesTiny[index] = sprite;
125   }  
126   
127   public AnimatedSprite createAnimatedSprite(Integer color) {
128     return new AnimatedSprite(getBulletSpriteImage(color.intValue()));
129   }
130 
131   public AnimatedSprite createAnimatedSpriteSmall(Integer color) {
132     return new AnimatedSprite(getBulletSpriteImageSmall(color.intValue()));
133   }
134 
135   public void setCanisterImage(int index, BufferedImage[] canisterImage) {
136     // original buffered image does only contain the fill animations, not
137     // the empty animations -> add them
138     BufferedImage[] tmpImage = new BufferedImage[64];
139     for (int i = 0; i < canisterImage.length; i++) {
140       tmpImage[i] = canisterImage[i];
141       tmpImage[63 - i] = canisterImage[i];
142     }
143     canisterImages[index] = tmpImage;
144   }
145 
146   public BufferedImage[] getCanisterSpriteImage(int index) {
147     return canisterImages[index];
148   }
149 
150   public AnimatedSprite createCanisterSprite(Integer color) {
151     return new AnimatedSprite(getCanisterSpriteImage(color.intValue()));
152   }
153 
154   public Sprite getLevelAdvanceBottom() {
155     return levelAdvanceBottom;
156   }
157 
158   public void setLevelAdvanceBottom(Sprite levelAdvanceBottom) {
159     this.levelAdvanceBottom = levelAdvanceBottom;
160   }
161 
162   public Sprite getLevelAdvanceTop() {
163     return levelAdvanceTop;
164   }
165 
166   public void setLevelAdvanceTop(Sprite levelAdvanceTop) {
167     this.levelAdvanceTop = levelAdvanceTop;
168   }
169 
170   public GameFont getGameFont() {
171     return gameFont;
172   }
173 
174   public void setGameFont(GameFont gameFont) {
175     this.gameFont = gameFont;
176   }
177 
178   public ResourceBundle getLabelResources() {
179     return labelResources;
180   }
181 
182   public Sprite getCountdownSprite() {
183     return countdownSprite;
184   }
185 
186   public void setCountdownSprite(Sprite countdownSprite) {
187     this.countdownSprite = countdownSprite;
188   }
189 
190   // create new instance of the animated button to allow multiple instances
191   public AnimatedSprite getAnimatedButtonSprite() {
192     return new AnimatedSprite(animatedButtonSprite.getImages());
193   }
194 
195   public void setAnimatedButtonSprite(AnimatedSprite animatedButtonSprite) {
196     this.animatedButtonSprite = animatedButtonSprite;
197   }
198 
199   public Sprite getCountdownBackground() {
200     return countdownBackground;
201   }
202 
203   public void setCountdownBackground(Sprite countdownBackground) {
204     this.countdownBackground = countdownBackground;
205   }
206 
207   public ScoreCalculator getScoreCalculator() {
208     return scoreCalculator;
209   }
210 
211   public NInARowValidator getNInARowValidator() {
212     return nInARowValidator;
213   }
214 
215   public void setNInARowValidator(NInARowValidator inARowValidator) {
216     nInARowValidator = inARowValidator;
217   }
218 
219   public Background getBackground() {
220     return background;
221   }
222 
223   public void setBackground(Background background) {
224     this.background = background;
225   }
226 
227   public XmlBeanFactory getBeanFactory() {
228     return beanFactory;
229   }
230 
231   public void setBeanFactory(XmlBeanFactory beanFactory) {
232     this.beanFactory = beanFactory;
233   }
234 
235   public GameFont getIngameFont() {
236     return ingameFont;
237   }
238 
239   public void setIngameFont(GameFont ingameFont) {
240     this.ingameFont = ingameFont;
241   }
242 
243   public BufferedImage getBgPartInfinite() {
244     return bgPartInfinite;
245   }
246 
247   public void setBgPartInfinite(BufferedImage bgPartInfinite) {
248     this.bgPartInfinite = bgPartInfinite;
249   }
250 
251 
252 }