@Classname("money") public IFuture<Void> execute(IInternalAccess ia) { IBDIXAgentFeature capa = ia.getComponentFeature(IBDIXAgentFeature.class); capa.getBeliefbase().getBelief("money").addBeliefListener(new BeliefAdapter<Object>() { public void beliefChanged(final jadex.rules.eca.ChangeInfo<Object> info) { SwingUtilities.invokeLater(new Runnable() { public void run() { money.setText(df.format(info.getValue())); } }); } }); return IFuture.DONE; } });
@Classname("update") public IFuture<Void> execute(IInternalAccess ia) { final IBDIXAgentFeature capa = ia.getComponentFeature(IBDIXAgentFeature.class); capa.getBeliefbase().getBelief("vision").addBeliefListener(new BeliefAdapter<Object>() { public void beliefChanged(ChangeEvent ae) { final Vision vision = (Vision)ae.getValue(); Creature me = (Creature)capa.getBeliefbase().getBelief("my_self").getFact(); if(vision!=null) { // Update map and creature list from vision. map.update(new CurrentVision(me, vision)); creatures.update(vision.getCreatures()); observers.update(vision.getCreatures()); } // Refresh highscore. long time = System.currentTimeMillis(); if(refreshinterval>=0 && refreshtime+refreshinterval<=time) { refreshHighscore(agent); refreshtime = time; } } }); return IFuture.DONE; } });
/** * Add a belief listener. * @param name The belief name. * @param listener The belief listener. */ public <T> void addBeliefListener(String name, final IBeliefListener<T> listener) { name = capa!=null ? capa+MElement.CAPABILITY_SEPARATOR+name: name; IBDIAgentFeature bdif = agent.getComponentFeature0(IBDIAgentFeature.class); if(bdif!=null) { bdif.addBeliefListener(name, listener); } else { IBDIXAgentFeature bdixf = agent.getComponentFeature0(IBDIXAgentFeature.class); if(bdixf.getBeliefbase().containsBelief(name)) { bdixf.getBeliefbase().getBelief(name).addBeliefListener(listener); } else { bdixf.getBeliefbase().getBeliefSet(name).addBeliefSetListener(listener); } } }
getBeliefbase().getBelief("bel").addBeliefListener(new BeliefAdapter<Object>()