Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class GuiStage extends Stage{
- private GameStage stage;
- private InventoryWindow inventoryWindow;
- private ChestWindow chestWindow;
- private Table leftPanel;
- private boolean hidden;
- public GuiStage(GameStage stage) {
- this.stage = stage;
- chestWindow = null;
- inventoryWindow = null;
- hidden = true;
- setupIngameLeftPanel();
- addActor(leftPanel);
- }
- public void setPlayerInventory(Inventory inventory) {
- inventoryWindow = new InventoryWindow(this, inventory);
- }
- public void openChest(Inventory inventory) {
- cleadAll();
- chestWindow = new ChestWindow(this, inventory);
- addActor(chestWindow);
- setupInuiLeftPanel();
- addActor(leftPanel);
- }
- public void openPlayerInventory() {
- ChestWindow c = chestWindow;
- cleadAll();
- chestWindow = c;
- addActor(inventoryWindow);
- setupInuiLeftPanel();
- addActor(leftPanel);
- }
- public void setupIngameLeftPanel() {
- this.leftPanel = new Table();
- leftPanel.align(Align.top);
- leftPanel.setSize(Vars.slotSize, Vars.slotSize * 3);
- leftPanel.setPosition(0, Vars.slotSize * 3);
- ImageButton inventoryButton = new ImageButton((ResourseLoader.instance.getSkin("main")));
- Image inventoryIcon = new Image(ResourseLoader.instance.getTextureRegion("inventory_button"));
- inventoryButton.add(inventoryIcon).size(Vars.slotSize);
- inventoryButton.addListener(new ClickListener() {
- @Override
- public void clicked(InputEvent event, float x, float y) {
- openPlayerInventory();
- }
- });
- leftPanel.add(inventoryButton).size(Vars.slotSize, Vars.slotSize);
- leftPanel.row();
- }
- public void setupInuiLeftPanel() {
- this.leftPanel = new Table();
- leftPanel.align(Align.top);
- leftPanel.setSize(Vars.slotSize, Vars.slotSize * 3);
- leftPanel.setPosition(0, Vars.slotSize * 3);
- ImageButton inventoryButton = new ImageButton((ResourseLoader.instance.getSkin("main")));
- Image inventoryIcon = new Image(ResourseLoader.instance.getTextureRegion("inventory_button"));
- inventoryButton.add(inventoryIcon).size(Vars.slotSize);
- if(getActors().indexOf(inventoryWindow, true) != -1) inventoryButton.setColor(0.0f, 1.0f, 0.0f, 1.0f);
- inventoryButton.addListener(new ClickListener() {
- @Override
- public void clicked(InputEvent event, float x, float y) {
- openPlayerInventory();
- }
- });
- leftPanel.add(inventoryButton).size(Vars.slotSize, Vars.slotSize);
- leftPanel.row();
- if(chestWindow != null) addChestWindowButton();
- addCloseWindowButton();
- }
- public void cleadAll() {
- hidden = true;
- inventoryWindow.hideItemIteraction();
- inventoryWindow.getInventory().setButtonsColor();
- if(chestWindow != null) {
- chestWindow.hideItemIteraction();
- chestWindow.getInventory().setButtonsColor();
- chestWindow = null;
- }
- clear();
- }
- private void addCloseWindowButton() {
- ImageButton closeWindowButton = new ImageButton((ResourseLoader.instance.getSkin("main")));
- Image closeWindowIcon = new Image(ResourseLoader.instance.getTextureRegion("close_window_button"));
- closeWindowButton.add(closeWindowIcon).size(Vars.slotSize);
- closeWindowButton.addListener(new ClickListener() {
- @Override
- public void clicked(InputEvent event, float x, float y) {
- cleadAll();
- setupIngameLeftPanel();
- addActor(leftPanel);
- }
- });
- leftPanel.add(closeWindowButton).size(Vars.slotSize, Vars.slotSize);
- leftPanel.row();
- }
- private void addChestWindowButton() {
- ImageButton chestWindowButton = new ImageButton((ResourseLoader.instance.getSkin("main")));
- Image closeWindowIcon = new Image(ResourseLoader.instance.getTextureRegion("chest_opened"));
- chestWindowButton.add(closeWindowIcon).size(Vars.slotSize);
- if(getActors().indexOf(chestWindow, true) != -1) chestWindowButton.setColor(0.0f, 1.0f, 0.0f, 1.0f);
- chestWindowButton.addListener(new ClickListener() {
- @Override
- public void clicked(InputEvent event, float x, float y) {
- openChest(chestWindow.getInventory());
- }
- });
- leftPanel.add(chestWindowButton).size(Vars.slotSize, Vars.slotSize);
- leftPanel.row();
- }
- @Override
- public boolean keyDown(int keyCode) {
- return super.keyDown(keyCode);
- }
- public void dropItem(ItemSlot item) {
- stage.dropItem(item.getItem());
- }
- public boolean isHidden() {
- return hidden;
- }
- public void addItemToPlayerInventory(ItemSlot item) {
- if(!inventoryWindow.getInventory().addItem(item.getItem())) {
- addItemToChestInventory(item);
- }
- }
- public void addItemToChestInventory(ItemSlot item) {
- if(!chestWindow.getInventory().addItem(item.getItem())) {
- addItemToPlayerInventory(item);
- }
- }
- public boolean isChestWindowReady() {
- return chestWindow != null;
- }
- public boolean isChestHaveSlot(ItemSlot i) {
- if(chestWindow != null) return chestWindow.getInventory().haveSpaceForItem(i.getItem());
- return false;
- }
- public boolean isPlayerHaveSlot(ItemSlot i) {
- return inventoryWindow.getInventory().haveSpaceForItem(i.getItem());
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement