SteamWar/SpigotCore
Archiviert
13
0

Add Reopen to SchematicSelector #169

Zusammengeführt
Lixfel hat 4 Commits von re_open_schem_gui nach master 2022-02-09 18:20:03 +01:00 zusammengeführt
2 geänderte Dateien mit 16 neuen und 0 gelöschten Zeilen
Nur Änderungen aus Commit 148653ea4c werden angezeigt - Alle Commits anzeigen

Datei anzeigen

@ -58,6 +58,8 @@ public class SchematicSelector {
private int depth = 0;
private Sorting sorting = Sorting.NAME;
private boolean invertSorting = false;
@Getter
private SchematicNode lastParent;
public SchematicSelector(Player player, SelectorTarget target, Consumer<SchematicNode> callback) {
this.player = player;
@ -77,10 +79,17 @@ public class SchematicSelector {
if(publicMode == PublicMode.PUBLIC_ONLY) {
this.user = SteamwarUser.get(0);
}
injectable.onSelectorOpen(this, SchematicSelectorInjectable.OpenFrom.FRESH);
openList(null);
}
public void reOpen() {
injectable.onSelectorOpen(this, SchematicSelectorInjectable.OpenFrom.REOPEN);
openList(lastParent);
}
private void openList(SchematicNode parent) {
lastParent = parent;
List<SchematicNode> nodes = applySorting(filter.isFilter()?getFilteredSchematics():getSchematicList(parent));
if(sdoTrigger) {

Datei anzeigen

@ -42,4 +42,11 @@ public interface SchematicSelectorInjectable {
default boolean onFolderCreate(SchematicSelector selector, String name) {return true;}
default void onNodeFilter(SchematicSelector selector, SchematicNode node) {}
default void onSelectorOpen(SchematicSelector selector, OpenFrom from) {}
enum OpenFrom {
FRESH,
REOPEN
}
}