Search in sources :

Example 1 with EntryList

use of org.powerbot.bot.rt4.client.EntryList in project powerbot by powerbot.

the class Chat method register.

public void register() {
    if (!registered.compareAndSet(false, true)) {
        return;
    }
    final EventDispatcher e = ((AbstractBot) ctx.bot()).dispatcher;
    e.add(new PaintListener() {

        private final AtomicReference<Entry> previous = new AtomicReference<Entry>(null);

        @Override
        public void repaint(final Graphics graphics) {
            final Client client = ctx.client();
            if (client == null) {
                return;
            }
            final EntryList q = client.getLoggerEntries();
            final Entry s = q.getSentinel();
            Entry c = s.getNext();
            final Entry f = c;
            while (!s.equals(c) && !c.isNull() && !c.equals(previous.get())) {
                final MessageEntry m = new MessageEntry(c.reflector, c);
                e.dispatch(new MessageEvent(m));
                c = c.getNext();
            }
            previous.set(f);
        }
    });
}
Also used : Graphics(java.awt.Graphics) Entry(org.powerbot.bot.rt4.client.Entry) MessageEntry(org.powerbot.bot.rt4.client.MessageEntry) EventDispatcher(org.powerbot.bot.EventDispatcher) PaintListener(org.powerbot.script.PaintListener) MessageEvent(org.powerbot.script.MessageEvent) MessageEntry(org.powerbot.bot.rt4.client.MessageEntry) AtomicReference(java.util.concurrent.atomic.AtomicReference) EntryList(org.powerbot.bot.rt4.client.EntryList) Client(org.powerbot.bot.rt4.client.Client) AbstractBot(org.powerbot.bot.AbstractBot)

Aggregations

Graphics (java.awt.Graphics)1 AtomicReference (java.util.concurrent.atomic.AtomicReference)1 AbstractBot (org.powerbot.bot.AbstractBot)1 EventDispatcher (org.powerbot.bot.EventDispatcher)1 Client (org.powerbot.bot.rt4.client.Client)1 Entry (org.powerbot.bot.rt4.client.Entry)1 EntryList (org.powerbot.bot.rt4.client.EntryList)1 MessageEntry (org.powerbot.bot.rt4.client.MessageEntry)1 MessageEvent (org.powerbot.script.MessageEvent)1 PaintListener (org.powerbot.script.PaintListener)1