diff options
| author | syeyoung <42869671+cyoung06@users.noreply.github.com> | 2020-12-10 22:46:37 +0900 |
|---|---|---|
| committer | syeyoung <42869671+cyoung06@users.noreply.github.com> | 2020-12-10 22:46:37 +0900 |
| commit | 75aa91678c2dfdf844ecfcbb68bcf9389028ca4e (patch) | |
| tree | 45757cabbc6e4c9b050f23102114ce89b10ea78d /src/main/java/kr/syeyoung/dungeonsguide/roomedit/gui | |
| parent | cbd22473c62d076b25543611894da001685f5e21 (diff) | |
| download | Skyblock-Dungeons-Guide-75aa91678c2dfdf844ecfcbb68bcf9389028ca4e.tar.gz Skyblock-Dungeons-Guide-75aa91678c2dfdf844ecfcbb68bcf9389028ca4e.tar.bz2 Skyblock-Dungeons-Guide-75aa91678c2dfdf844ecfcbb68bcf9389028ca4e.zip | |
secretz
Diffstat (limited to 'src/main/java/kr/syeyoung/dungeonsguide/roomedit/gui')
| -rw-r--r-- | src/main/java/kr/syeyoung/dungeonsguide/roomedit/gui/GuiDungeonAddSet.java | 14 | ||||
| -rw-r--r-- | src/main/java/kr/syeyoung/dungeonsguide/roomedit/gui/GuiDungeonParameterEdit.java | 11 | ||||
| -rw-r--r-- | src/main/java/kr/syeyoung/dungeonsguide/roomedit/gui/GuiDungeonRoomEdit.java | 12 | ||||
| -rw-r--r-- | src/main/java/kr/syeyoung/dungeonsguide/roomedit/gui/GuiDungeonValueEdit.java (renamed from src/main/java/kr/syeyoung/dungeonsguide/roomedit/gui/GuiDungeonOffsetPointEdit.java) | 126 |
4 files changed, 83 insertions, 80 deletions
diff --git a/src/main/java/kr/syeyoung/dungeonsguide/roomedit/gui/GuiDungeonAddSet.java b/src/main/java/kr/syeyoung/dungeonsguide/roomedit/gui/GuiDungeonAddSet.java index a0496b47..2498888f 100644 --- a/src/main/java/kr/syeyoung/dungeonsguide/roomedit/gui/GuiDungeonAddSet.java +++ b/src/main/java/kr/syeyoung/dungeonsguide/roomedit/gui/GuiDungeonAddSet.java @@ -10,13 +10,13 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiScreen; import net.minecraft.client.gui.ScaledResolution; import net.minecraft.client.renderer.GlStateManager; -import net.minecraft.util.BlockPos; import org.lwjgl.input.Mouse; import org.lwjgl.opengl.GL11; import java.awt.*; import java.io.IOException; import java.util.ArrayList; +import java.util.Collections; import java.util.List; public class GuiDungeonAddSet extends GuiScreen { @@ -71,12 +71,12 @@ public class GuiDungeonAddSet extends GuiScreen { end = new OffsetPoint(EditingContext.getEditingContext().getRoom(), Minecraft.getMinecraft().thePlayer.getPosition()); } { - MOffsetPoint mOffsetPoint = new MOffsetPoint(null,start); - mOffsetPoint.setBounds(new Rectangle(0,0,150,20)); - mainPanel.add(mOffsetPoint); - MOffsetPoint mOffsetPoint2 = new MOffsetPoint(null,end); - mOffsetPoint2.setBounds(new Rectangle(0,20,150,20)); - mainPanel.add(mOffsetPoint2); + MValue mValue = new MValue(start, Collections.emptyList()); + mValue.setBounds(new Rectangle(0,0,150,20)); + mainPanel.add(mValue); + MValue mValue2 = new MValue(end,Collections.emptyList()); + mValue2.setBounds(new Rectangle(0,20,150,20)); + mainPanel.add(mValue2); } { add = new MButton() { diff --git a/src/main/java/kr/syeyoung/dungeonsguide/roomedit/gui/GuiDungeonParameterEdit.java b/src/main/java/kr/syeyoung/dungeonsguide/roomedit/gui/GuiDungeonParameterEdit.java index 26ebbe5b..21b05bfd 100644 --- a/src/main/java/kr/syeyoung/dungeonsguide/roomedit/gui/GuiDungeonParameterEdit.java +++ b/src/main/java/kr/syeyoung/dungeonsguide/roomedit/gui/GuiDungeonParameterEdit.java @@ -1,15 +1,11 @@ package kr.syeyoung.dungeonsguide.roomedit.gui; -import kr.syeyoung.dungeonsguide.dungeon.DungeonContext; -import kr.syeyoung.dungeonsguide.dungeon.data.DungeonRoomInfo; import kr.syeyoung.dungeonsguide.dungeon.roomfinder.DungeonRoom; import kr.syeyoung.dungeonsguide.roomedit.EditingContext; import kr.syeyoung.dungeonsguide.roomedit.MPanel; import kr.syeyoung.dungeonsguide.roomedit.Parameter; import kr.syeyoung.dungeonsguide.roomedit.elements.*; -import kr.syeyoung.dungeonsguide.roomedit.panes.GeneralEditPane; -import kr.syeyoung.dungeonsguide.roomedit.panes.ProcessorParameterEditPane; -import kr.syeyoung.dungeonsguide.roomedit.panes.RoomDataDisplayPane; +import kr.syeyoung.dungeonsguide.roomedit.panes.DynamicEditor; import kr.syeyoung.dungeonsguide.roomedit.valueedit.ValueEdit; import kr.syeyoung.dungeonsguide.roomedit.valueedit.ValueEditCreator; import kr.syeyoung.dungeonsguide.roomedit.valueedit.ValueEditRegistry; @@ -23,7 +19,6 @@ import org.lwjgl.opengl.GL11; import java.awt.*; import java.io.IOException; -import java.util.UUID; public class GuiDungeonParameterEdit extends GuiScreen { @@ -42,7 +37,7 @@ public class GuiDungeonParameterEdit extends GuiScreen { @Getter private ValueEdit valueEdit; - public GuiDungeonParameterEdit(final MParameter parameter2, final ProcessorParameterEditPane processorParameterEditPane) { + public GuiDungeonParameterEdit(final MParameter parameter2, final DynamicEditor processorParameterEditPane) { dungeonRoom = EditingContext.getEditingContext().getRoom(); mainPanel.setBackgroundColor(new Color(17, 17, 17, 179)); this.parameter = parameter2.getParameter(); @@ -61,7 +56,7 @@ public class GuiDungeonParameterEdit extends GuiScreen { } { classSelection = parameter.getNewData() == null ?"null" : parameter.getNewData().getClass().getName(); - final MStringSelectionButton mStringSelectionButton = new MStringSelectionButton(ValueEditRegistry.getClassesSupported(), classSelection) { + final MStringSelectionButton mStringSelectionButton = new MStringSelectionButton(processorParameterEditPane.allowedClass(), classSelection) { @Override public void resize(int parentWidth, int parentHeight) { setBounds(new Rectangle(0, 20, parentWidth,20)); diff --git a/src/main/java/kr/syeyoung/dungeonsguide/roomedit/gui/GuiDungeonRoomEdit.java b/src/main/java/kr/syeyoung/dungeonsguide/roomedit/gui/GuiDungeonRoomEdit.java index 6ca1b3c9..c332dd20 100644 --- a/src/main/java/kr/syeyoung/dungeonsguide/roomedit/gui/GuiDungeonRoomEdit.java +++ b/src/main/java/kr/syeyoung/dungeonsguide/roomedit/gui/GuiDungeonRoomEdit.java @@ -9,6 +9,7 @@ import kr.syeyoung.dungeonsguide.roomedit.elements.MTextField; import kr.syeyoung.dungeonsguide.roomedit.panes.GeneralEditPane; import kr.syeyoung.dungeonsguide.roomedit.panes.ProcessorParameterEditPane; import kr.syeyoung.dungeonsguide.roomedit.panes.RoomDataDisplayPane; +import kr.syeyoung.dungeonsguide.roomedit.panes.SecretEditPane; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiScreen; import net.minecraft.client.gui.ScaledResolution; @@ -25,6 +26,8 @@ public class GuiDungeonRoomEdit extends GuiScreen { private DungeonRoom room; + private MTabbedPane tabbedPane; + public GuiDungeonRoomEdit(DungeonRoom room) { this.room = room; @@ -35,7 +38,16 @@ public class GuiDungeonRoomEdit extends GuiScreen { tabbedPane.addTab("General", new GeneralEditPane(room)); tabbedPane.addTab("Match", new RoomDataDisplayPane(room)); + tabbedPane.addTab("Secrets", new SecretEditPane(room)); tabbedPane.addTab("Proc.Params", new ProcessorParameterEditPane(room)); + this.tabbedPane = tabbedPane; + } + + public boolean isEditingSelected() { + return "Secrets".equals(tabbedPane.getSelectedKey()); + } + public void endEditing() { + tabbedPane.setSelectedKey("General"); } @Override diff --git a/src/main/java/kr/syeyoung/dungeonsguide/roomedit/gui/GuiDungeonOffsetPointEdit.java b/src/main/java/kr/syeyoung/dungeonsguide/roomedit/gui/GuiDungeonValueEdit.java index ba96eb05..b7605542 100644 --- a/src/main/java/kr/syeyoung/dungeonsguide/roomedit/gui/GuiDungeonOffsetPointEdit.java +++ b/src/main/java/kr/syeyoung/dungeonsguide/roomedit/gui/GuiDungeonValueEdit.java @@ -1,12 +1,13 @@ package kr.syeyoung.dungeonsguide.roomedit.gui; -import kr.syeyoung.dungeonsguide.dungeon.data.OffsetPoint; +import kr.syeyoung.dungeonsguide.dungeon.roomfinder.DungeonRoom; import kr.syeyoung.dungeonsguide.roomedit.EditingContext; import kr.syeyoung.dungeonsguide.roomedit.MPanel; import kr.syeyoung.dungeonsguide.roomedit.Parameter; -import kr.syeyoung.dungeonsguide.roomedit.elements.MButton; +import kr.syeyoung.dungeonsguide.roomedit.elements.*; +import kr.syeyoung.dungeonsguide.roomedit.panes.DynamicEditor; import kr.syeyoung.dungeonsguide.roomedit.valueedit.ValueEdit; -import kr.syeyoung.dungeonsguide.roomedit.valueedit.ValueEditOffsetPointSet; +import kr.syeyoung.dungeonsguide.roomedit.valueedit.ValueEditCreator; import kr.syeyoung.dungeonsguide.roomedit.valueedit.ValueEditRegistry; import lombok.Getter; import net.minecraft.client.Minecraft; @@ -17,85 +18,57 @@ import org.lwjgl.input.Mouse; import org.lwjgl.opengl.GL11; import java.awt.*; +import java.util.List; import java.io.IOException; -public class GuiDungeonOffsetPointEdit extends GuiScreen { - private MPanel mainPanel = new MPanel(); - @Getter - private OffsetPoint offsetPoint; - private MButton save; - private MButton delete; +public class GuiDungeonValueEdit extends GuiScreen { - @Getter - private ValueEdit valueEdit; + private MPanel mainPanel = new MPanel() { + @Override + public void onBoundsUpdate() { + for (int i = 0; i < addons.size(); i++) { + addons.get(i).setBounds(new Rectangle(0, bounds.height - (i+1) * 20 - 20, bounds.width, 20)); + } + } + }; - public GuiDungeonOffsetPointEdit(final ValueEditOffsetPointSet valueEditOffsetPointSet, final OffsetPoint offsetPoint) { - this.offsetPoint = offsetPoint; - mainPanel.setBackgroundColor(new Color(17, 17, 17, 179)); - { - MPanel thing = (MPanel) ValueEditRegistry.getValueEditMap(OffsetPoint.class.getName()).createValueEdit(new Parameter(null, null, null) { - @Override - public Object getPreviousData() { - return offsetPoint; - } + private DungeonRoom dungeonRoom; - @Override - public Object getNewData() { - return offsetPoint; - } - @Override - public String getName() { - return ""; - } + private MPanel currentValueEdit; - @Override - public void setName(String name) { - return; - } + private MButton save; - @Override - public void setPreviousData(Object previousData) { - return; - } + @Getter + private ValueEdit valueEdit; - @Override - public void setNewData(Object newData) { - return; - } - }); - valueEdit = (ValueEdit) thing; - MPanel wrapper = new MPanel() { - @Override - public void resize(int parentWidth, int parentHeight) { - setBounds(new Rectangle(0, 0, parentWidth,parentHeight - 20)); - } - }; - wrapper.add(thing); - mainPanel.add(wrapper); - } + private List<MPanel> addons; + + private Object editingObj; + + public GuiDungeonValueEdit(final Object object, final List<MPanel> addons) { + dungeonRoom = EditingContext.getEditingContext().getRoom(); + this.addons = addons; + this.editingObj = object; + mainPanel.setBackgroundColor(new Color(17, 17, 17, 179)); { - delete = new MButton() { + currentValueEdit = new MPanel(){ @Override public void resize(int parentWidth, int parentHeight) { - setBounds(new Rectangle(0,parentHeight - 20, parentWidth / 2, 20)); + setBounds(new Rectangle(0, 0, parentWidth,parentHeight - 20 - addons.size() * 20)); } }; - delete.setText("Delete"); - delete.setBackgroundColor(Color.red); - delete.setOnActionPerformed(new Runnable() { - @Override - public void run() { - if (valueEditOffsetPointSet != null) - valueEditOffsetPointSet.delete(offsetPoint); - EditingContext.getEditingContext().goBack(); - } - }); + mainPanel.add(currentValueEdit); + } + for (MPanel addon : addons) { + mainPanel.add(addon); + } + { save = new MButton(){ @Override public void resize(int parentWidth, int parentHeight) { - setBounds(new Rectangle(parentWidth / 2,parentHeight - 20, parentWidth / 2, 20)); + setBounds(new Rectangle(parentWidth ,parentHeight - 20, parentWidth, 20)); } }; save.setText("Go back"); @@ -106,11 +79,34 @@ public class GuiDungeonOffsetPointEdit extends GuiScreen { EditingContext.getEditingContext().goBack(); } }); - mainPanel.add(delete); mainPanel.add(save); } + updateClassSelection(); } + public void updateClassSelection() { + currentValueEdit.getChildComponents().clear(); + + ValueEditCreator valueEditCreator = ValueEditRegistry.getValueEditMap(editingObj == null ?"null":editingObj.getClass().getName()); + + MPanel valueEdit = (MPanel) valueEditCreator.createValueEdit(new Parameter("", editingObj, editingObj)); + if (valueEdit == null) { + MLabel valueEdit2 = new MLabel() { + @Override + public void resize(int parentWidth, int parentHeight) { + setBounds(new Rectangle(0, 0, parentWidth,20)); + } + }; + valueEdit2.setText("No Value Edit"); + valueEdit2.setBounds(new Rectangle(0,0,150,20)); + valueEdit = valueEdit2; + this.valueEdit = null; + } else{ + this.valueEdit = (ValueEdit) valueEdit; + } + valueEdit.resize0(currentValueEdit.getBounds().width, currentValueEdit.getBounds().height); + currentValueEdit.add(valueEdit); + } @Override public void initGui() { super.initGui(); |
