Jump to content

T12: Selection API update (with snippet)


Recommended Posts

Posted (edited)

c62c2a31744f26cbf4938f376e342d8b.png

@ScriptManifest(author = "Botre", info = "", logo = "", name = "Selection Listener Example", version = 0)
public class SelectionListenerExample extends Script implements SelectionListener<NPC> {

	private Sapi sapi;
	
	@Override
	public void onStart() throws InterruptedException {
		super.onStart();
		sapi = new Sapi(this);
		sapi.registerMouseAdapter();
		sapi.setSelector(Module.NPC);
		sapi.getNpcSelector().getSelectionListeners().add(this);
	}
	
	@Override
	public int onLoop() throws InterruptedException {
		//...
		return 500;
	}
	
	@Override
	public void onPaint(Graphics2D g2d) {
		super.onPaint(g2d);
		for (NPC npc : sapi.getNpcSelector().getSelection()) {
			Painter.defaultEntity().paint(g2d, this, npc);
		}
	}
	
	@Override
	public void onExit() throws InterruptedException {
		sapi.unregisterMouseAdapter();
		super.onExit();
	}

	@Override
	public void onSelection(List<NPC> selection) {
		for (NPC npc : selection) {
			if(npc != null) {
				log("Selected npc with name: " + npc.getName());
				if(npc.getActions() == null) continue;
				log("This npc has the following actions:");
				for (String action : npc.getActions()) {
					log("\t" + action);
				}
			}
		}
	}

}
Edited by Botre
  • Like 3
Posted

Shoudln't one of those actions be 'Walk here'? 

Also, why are you displaying 3 'null's

 

Other than that it looks pretty intersting

 

"Walk-here" is actually a tile action, not an entity action.

I just didn't bother filtering the null actions out since this is just a testing / demonstration snippet, but since you're my special friend:

if(action == null) continue;
log("\t" + action);
  • Like 1

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...