aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/kr/syeyoung/dungeonsguide/roomedit/gui
diff options
context:
space:
mode:
authorsyeyoung <42869671+cyoung06@users.noreply.github.com>2020-12-10 22:46:37 +0900
committersyeyoung <42869671+cyoung06@users.noreply.github.com>2020-12-10 22:46:37 +0900
commit75aa91678c2dfdf844ecfcbb68bcf9389028ca4e (patch)
tree45757cabbc6e4c9b050f23102114ce89b10ea78d /src/main/java/kr/syeyoung/dungeonsguide/roomedit/gui
parentcbd22473c62d076b25543611894da001685f5e21 (diff)
downloadSkyblock-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.java14
-rw-r--r--src/main/java/kr/syeyoung/dungeonsguide/roomedit/gui/GuiDungeonParameterEdit.java11
-rw-r--r--src/main/java/kr/syeyoung/dungeonsguide/roomedit/gui/GuiDungeonRoomEdit.java12
-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();