Advertisement
Guest User

Untitled

a guest
May 3rd, 2016
173
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.71 KB | None | 0 0
  1. public class GuiStage extends Stage{
  2.     private GameStage stage;
  3.     private InventoryWindow inventoryWindow;
  4.     private ChestWindow chestWindow;
  5.     private Table leftPanel;
  6.     private boolean hidden;
  7.  
  8.     public GuiStage(GameStage stage) {
  9.         this.stage = stage;
  10.  
  11.         chestWindow = null;
  12.         inventoryWindow = null;
  13.         hidden = true;
  14.         setupIngameLeftPanel();
  15.         addActor(leftPanel);
  16.     }
  17.  
  18.     public void setPlayerInventory(Inventory inventory) {
  19.         inventoryWindow = new InventoryWindow(this, inventory);
  20.     }
  21.  
  22.     public void openChest(Inventory inventory) {
  23.         cleadAll();
  24.         chestWindow = new ChestWindow(this, inventory);
  25.         addActor(chestWindow);
  26.         setupInuiLeftPanel();
  27.         addActor(leftPanel);
  28.     }
  29.  
  30.     public void openPlayerInventory() {
  31.         ChestWindow c = chestWindow;
  32.         cleadAll();
  33.         chestWindow = c;
  34.         addActor(inventoryWindow);
  35.         setupInuiLeftPanel();
  36.         addActor(leftPanel);
  37.     }
  38.  
  39.     public void setupIngameLeftPanel() {
  40.         this.leftPanel = new Table();
  41.         leftPanel.align(Align.top);
  42.         leftPanel.setSize(Vars.slotSize, Vars.slotSize * 3);
  43.         leftPanel.setPosition(0, Vars.slotSize * 3);
  44.  
  45.         ImageButton inventoryButton = new ImageButton((ResourseLoader.instance.getSkin("main")));
  46.         Image inventoryIcon = new Image(ResourseLoader.instance.getTextureRegion("inventory_button"));
  47.         inventoryButton.add(inventoryIcon).size(Vars.slotSize);
  48.  
  49.         inventoryButton.addListener(new ClickListener() {
  50.             @Override
  51.             public void clicked(InputEvent event, float x, float y) {
  52.                 openPlayerInventory();
  53.             }
  54.         });
  55.  
  56.         leftPanel.add(inventoryButton).size(Vars.slotSize, Vars.slotSize);
  57.         leftPanel.row();
  58.     }
  59.  
  60.     public void setupInuiLeftPanel() {
  61.         this.leftPanel = new Table();
  62.         leftPanel.align(Align.top);
  63.         leftPanel.setSize(Vars.slotSize, Vars.slotSize * 3);
  64.         leftPanel.setPosition(0, Vars.slotSize * 3);
  65.  
  66.         ImageButton inventoryButton = new ImageButton((ResourseLoader.instance.getSkin("main")));
  67.         Image inventoryIcon = new Image(ResourseLoader.instance.getTextureRegion("inventory_button"));
  68.         inventoryButton.add(inventoryIcon).size(Vars.slotSize);
  69.         if(getActors().indexOf(inventoryWindow, true) != -1) inventoryButton.setColor(0.0f, 1.0f, 0.0f, 1.0f);
  70.  
  71.         inventoryButton.addListener(new ClickListener() {
  72.             @Override
  73.             public void clicked(InputEvent event, float x, float y) {
  74.                 openPlayerInventory();
  75.             }
  76.         });
  77.  
  78.         leftPanel.add(inventoryButton).size(Vars.slotSize, Vars.slotSize);
  79.         leftPanel.row();
  80.         if(chestWindow != null) addChestWindowButton();
  81.         addCloseWindowButton();
  82.     }
  83.  
  84.     public void cleadAll() {
  85.         hidden = true;
  86.  
  87.         inventoryWindow.hideItemIteraction();
  88.         inventoryWindow.getInventory().setButtonsColor();
  89.         if(chestWindow != null) {
  90.             chestWindow.hideItemIteraction();
  91.             chestWindow.getInventory().setButtonsColor();
  92.             chestWindow = null;
  93.         }
  94.         clear();
  95.     }
  96.  
  97.     private void addCloseWindowButton() {
  98.         ImageButton closeWindowButton = new ImageButton((ResourseLoader.instance.getSkin("main")));
  99.         Image closeWindowIcon = new Image(ResourseLoader.instance.getTextureRegion("close_window_button"));
  100.         closeWindowButton.add(closeWindowIcon).size(Vars.slotSize);
  101.         closeWindowButton.addListener(new ClickListener() {
  102.             @Override
  103.             public void clicked(InputEvent event, float x, float y) {
  104.                 cleadAll();
  105.                 setupIngameLeftPanel();
  106.                 addActor(leftPanel);
  107.             }
  108.         });
  109.         leftPanel.add(closeWindowButton).size(Vars.slotSize, Vars.slotSize);
  110.         leftPanel.row();
  111.     }
  112.  
  113.     private void addChestWindowButton() {
  114.         ImageButton chestWindowButton = new ImageButton((ResourseLoader.instance.getSkin("main")));
  115.         Image closeWindowIcon = new Image(ResourseLoader.instance.getTextureRegion("chest_opened"));
  116.         chestWindowButton.add(closeWindowIcon).size(Vars.slotSize);
  117.         if(getActors().indexOf(chestWindow, true) != -1) chestWindowButton.setColor(0.0f, 1.0f, 0.0f, 1.0f);
  118.         chestWindowButton.addListener(new ClickListener() {
  119.             @Override
  120.             public void clicked(InputEvent event, float x, float y) {
  121.                 openChest(chestWindow.getInventory());
  122.             }
  123.         });
  124.         leftPanel.add(chestWindowButton).size(Vars.slotSize, Vars.slotSize);
  125.         leftPanel.row();
  126.     }
  127.  
  128.     @Override
  129.     public boolean keyDown(int keyCode) {
  130.         return super.keyDown(keyCode);
  131.     }
  132.  
  133.     public void dropItem(ItemSlot item) {
  134.         stage.dropItem(item.getItem());
  135.     }
  136.  
  137.     public boolean isHidden() {
  138.         return hidden;
  139.     }
  140.  
  141.     public void addItemToPlayerInventory(ItemSlot item) {
  142.         if(!inventoryWindow.getInventory().addItem(item.getItem())) {
  143.             addItemToChestInventory(item);
  144.         }
  145.     }
  146.  
  147.     public void addItemToChestInventory(ItemSlot item) {
  148.         if(!chestWindow.getInventory().addItem(item.getItem())) {
  149.             addItemToPlayerInventory(item);
  150.         }
  151.     }
  152.  
  153.     public boolean isChestWindowReady() {
  154.         return chestWindow != null;
  155.     }
  156.  
  157.     public boolean isChestHaveSlot(ItemSlot i) {
  158.         if(chestWindow != null) return chestWindow.getInventory().haveSpaceForItem(i.getItem());
  159.         return false;
  160.     }
  161.  
  162.     public boolean isPlayerHaveSlot(ItemSlot i) {
  163.         return inventoryWindow.getInventory().haveSpaceForItem(i.getItem());
  164.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement