package org.rsbot.script.internal.wrappers; import org.rsbot.client.NodeSubQueue; @SuppressWarnings("unchecked") public class Queue<N extends org.rsbot.client.NodeSub> { private final NodeSubQueue nl; private org.rsbot.client.NodeSub current; public Queue(final NodeSubQueue nl) { this.nl = nl; } public int size() { int size = 0; org.rsbot.client.NodeSub node = nl.getTail().getPrevSub(); while (node != nl.getTail()) { node = node.getPrevSub(); size++; } return size; } public N getHead() { final org.rsbot.client.NodeSub node = nl.getTail().getNextSub(); if (node == nl.getTail()) { current = null; return null; } current = node.getNextSub(); return (N) node; } public N getNext() { final org.rsbot.client.NodeSub node = current; if (node == nl.getTail()) { current = null; return null; } current = node.getNextSub(); return (N) node; } }