allow shift-click to clear trigger/action slots
This commit is contained in:
parent
58c230f248
commit
ae51723c82
1 changed files with 44 additions and 37 deletions
|
@ -9,6 +9,7 @@
|
||||||
package buildcraft.transport.gui;
|
package buildcraft.transport.gui;
|
||||||
|
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
|
import org.lwjgl.input.Keyboard;
|
||||||
import org.lwjgl.input.Mouse;
|
import org.lwjgl.input.Mouse;
|
||||||
import org.lwjgl.opengl.GL11;
|
import org.lwjgl.opengl.GL11;
|
||||||
import net.minecraft.inventory.IInventory;
|
import net.minecraft.inventory.IInventory;
|
||||||
|
@ -271,28 +272,30 @@ public class GuiGateInterface extends GuiAdvancedInterface {
|
||||||
|
|
||||||
IStatement changed = null;
|
IStatement changed = null;
|
||||||
|
|
||||||
if (triggerSlot.getStatement() == null) {
|
if (isShiftKeyDown()) {
|
||||||
|
changed = null;
|
||||||
if (k == 0) {
|
|
||||||
changed = container.getFirstTrigger();
|
|
||||||
} else {
|
|
||||||
changed = container.getLastTrigger();
|
|
||||||
}
|
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
Iterator<IStatement> it = container.getTriggerIterator(k != 0);
|
if (triggerSlot.getStatement() == null) {
|
||||||
|
if (k == 0) {
|
||||||
for (; it.hasNext();) {
|
changed = container.getFirstTrigger();
|
||||||
IStatement trigger = it.next();
|
} else {
|
||||||
|
changed = container.getLastTrigger();
|
||||||
if (!it.hasNext()) {
|
|
||||||
changed = null;
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
Iterator<IStatement> it = container.getTriggerIterator(k != 0);
|
||||||
|
|
||||||
if (trigger == triggerSlot.getStatement()) {
|
for (; it.hasNext(); ) {
|
||||||
changed = it.next();
|
IStatement trigger = it.next();
|
||||||
break;
|
|
||||||
|
if (!it.hasNext()) {
|
||||||
|
changed = null;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (trigger == triggerSlot.getStatement()) {
|
||||||
|
changed = it.next();
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -314,28 +317,32 @@ public class GuiGateInterface extends GuiAdvancedInterface {
|
||||||
ActionSlot actionSlot = (ActionSlot) slot;
|
ActionSlot actionSlot = (ActionSlot) slot;
|
||||||
|
|
||||||
IStatement changed = null;
|
IStatement changed = null;
|
||||||
if (actionSlot.getStatement() == null) {
|
|
||||||
|
|
||||||
if (k == 0) {
|
|
||||||
changed = container.getFirstAction();
|
|
||||||
} else {
|
|
||||||
changed = container.getLastAction();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
if (isShiftKeyDown()) {
|
||||||
|
changed = null;
|
||||||
} else {
|
} else {
|
||||||
Iterator<IStatement> it = container.getActionIterator(k != 0);
|
if (actionSlot.getStatement() == null) {
|
||||||
|
if (k == 0) {
|
||||||
for (; it.hasNext();) {
|
changed = container.getFirstAction();
|
||||||
IStatement action = it.next();
|
} else {
|
||||||
|
changed = container.getLastAction();
|
||||||
if (!it.hasNext()) {
|
|
||||||
changed = null;
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (action == actionSlot.getStatement()) {
|
} else {
|
||||||
changed = it.next();
|
Iterator<IStatement> it = container.getActionIterator(k != 0);
|
||||||
break;
|
|
||||||
|
for (; it.hasNext(); ) {
|
||||||
|
IStatement action = it.next();
|
||||||
|
|
||||||
|
if (!it.hasNext()) {
|
||||||
|
changed = null;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (action == actionSlot.getStatement()) {
|
||||||
|
changed = it.next();
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue