SteamWar/SpigotCore
Archiviert
13
0

Add Reopen dir Up
Alle Prüfungen waren erfolgreich
SteamWarCI Build successful

Dieser Commit ist enthalten in:
Chaos 2022-02-05 12:25:40 +01:00
Ursprung 9be20fd60d
Commit 9fd44392e1

Datei anzeigen

@ -89,6 +89,12 @@ public class SchematicSelector {
injectable.onSelectorOpen(this, SchematicSelectorInjectable.OpenFrom.REOPEN); injectable.onSelectorOpen(this, SchematicSelectorInjectable.OpenFrom.REOPEN);
} }
public void reOpenDirUp() {
depth--;
openList(dirUp(lastParent));
injectable.onSelectorOpen(this, SchematicSelectorInjectable.OpenFrom.REOPEN);
}
private void openList(SchematicNode parent) { private void openList(SchematicNode parent) {
lastParent = parent; lastParent = parent;
List<SchematicNode> nodes = applySorting(filter.isFilter()?getFilteredSchematics():getSchematicList(parent)); List<SchematicNode> nodes = applySorting(filter.isFilter()?getFilteredSchematics():getSchematicList(parent));
@ -150,34 +156,38 @@ public class SchematicSelector {
inv.open(); inv.open();
} }
private SchematicNode dirUp(SchematicNode parent) {
if(!singleDirOpen) {
if(NodeMember.getNodeMember(parent.getId(), user.getId()) != null) {
return null;
} else {
return getParent(parent);
}
} else {
SchematicNode currentParent = parent;
boolean isMember = false;
do {
sdoTrigger = false;
if(NodeMember.getNodeMember(currentParent.getId(), user.getId()) != null) {
isMember = true;
}
currentParent = getParent(currentParent);
if(currentParent == null)
break;
getSchematicList(currentParent);
} while (sdoTrigger);
if(isMember || NodeMember.getNodeMember(parent.getId(), user.getId()) != null) {
return null;
} else {
return currentParent;
}
}
}
private void handleClick(SchematicNode node, SchematicNode parent) { private void handleClick(SchematicNode node, SchematicNode parent) {
if(node == null) { if(node == null) {
depth--; depth--;
if(!singleDirOpen) { openList(dirUp(parent));
if(NodeMember.getNodeMember(parent.getId(), user.getId()) != null) {
openList(null);
} else {
openList(getParent(parent));
}
} else {
SchematicNode currentParent = parent;
boolean isMember = false;
do {
sdoTrigger = false;
if(NodeMember.getNodeMember(currentParent.getId(), user.getId()) != null) {
isMember = true;
}
currentParent = getParent(currentParent);
if(currentParent == null)
break;
getSchematicList(currentParent);
} while (sdoTrigger);
if(isMember || NodeMember.getNodeMember(parent.getId(), user.getId()) != null) {
openList(null);
} else {
openList(currentParent);
}
}
return; return;
} }
if(node.isDir()) { if(node.isDir()) {