package com.opticalcobra.storybear.game; import java.util.LinkedList; import javax.swing.JLabel; import javax.swing.JLayeredPane; import com.opticalcobra.storybear.db.TileResult; import com.opticalcobra.storybear.main.Ringbuffer; import com.opticalcobra.storybear.res.Ressources; public class InteractionLayer extends JLayeredPane { private IRenderer renderer; private int step = Ressources.WINDOW.width; private int currentView = 1; // Zahl des momentan angezeigten JLabels private JLayeredPane [] layer; private JLabel [] label; public InteractionLayer(IRenderer rendererInteraction) { this.renderer = rendererInteraction; } public void step(){ step--; if(step < 0 ){ step = Ressources.WINDOW.width; currentView = (currentView + 1) % 3; RenderThreadWrapper.addRenderTask(renderer,label[(currentView+1)%3]); } layer[currentView].setLocation(step, 0); layer[(currentView+2)%3].setLocation(step-Ressources.WINDOW.width, 0); } public void initialize(LinkedList<TileResult> tileQue) { layer = new JLayeredPane[3]; label = new JLabel[3]; for (int i = 0; i<3; i++){ layer[i]=new JLayeredPane(); label[i]=new JLabel(); this.add(layer[i]); RenderThreadWrapper.addRenderTask(renderer, label[i]); layer[i].add(label[i]); label[i].setBounds(0, 0, Ressources.WINDOW.width, Ressources.WINDOW.height); if (i==0){ layer[i].setBounds(0, 0, Ressources.WINDOW.width, Ressources.WINDOW.height); } else { layer[i].setBounds(Ressources.WINDOW.width, 0, Ressources.WINDOW.width, Ressources.WINDOW.height); } } } }