View Javadoc
1   package de.jos.game.objects.screen;
2   
3   import java.awt.Graphics2D;
4   
5   import org.springframework.beans.factory.xml.XmlBeanFactory;
6   
7   import com.golden.gamedev.GameEngine;
8   
9   import de.jos.game.objects.ResourceContainer;
10  import de.jos.game.objects.buttons.BackButton;
11  import de.jos.game.objects.buttons.NextButton;
12  import de.jos.game.objects.buttons.PreviousButton;
13  
14  /***
15   * 
16   * @author root
17   * 
18   */
19  public abstract class MultiPageScreen extends AbstractGameObject {
20  
21    /***
22     * The page that is currently displayed.
23     */
24    private int currentPage = 1;
25  
26    /***
27     * The number of pages to be displayed.
28     */
29    private int numberOfPages = 0;
30  
31    private Screen backScreen = null;
32  
33    public MultiPageScreen(GameEngine gameEngine, ResourceContainer resourceContainer, XmlBeanFactory xmlBeanFactory,
34        Screen backScreen) {
35      super(gameEngine, resourceContainer, xmlBeanFactory);
36      this.backScreen = backScreen;
37    }
38  
39    public void initResources() {
40      addButtonToScreen(new PreviousButton(this, 30 + 0 * 150, 360));
41      addButtonToScreen(new NextButton(this, 30 + 2 * 150, 360));
42      addButtonToScreen(new BackButton(this, 30 + 1 * 150, 360, backScreen));
43    }
44  
45    public void render(Graphics2D graphics) {
46      getResourceContainer().getBackground().render(graphics);
47      getFramework().render(graphics);
48    }
49  
50    public void update(long elapsedTime) {
51      super.update(elapsedTime);
52    }
53  
54    /***
55     * In dieser Methode koennen zusaetzliche Aktionen definiert werden, die beim
56     * wechseln einer Seite durchzufuehren sind (z.B. umschalten eines Panels).
57     * 
58     */
59    public abstract void executePagingAction();
60  
61    public int getNumberOfPages() {
62      return numberOfPages;
63    }
64  
65    public int getCurrentPage() {
66      return currentPage;
67    }
68  
69    public void setCurrentPage(int currentPage) {
70      this.currentPage = currentPage;
71    }
72  
73    public void setNumberOfPages(int numberOfPages) {
74      this.numberOfPages = numberOfPages;
75    }
76  
77  }