/** * The plan body. */ public void body() { // System.out.println("MoveToLocation: "+getComponentIdentifier()); ISpaceObject myself = (ISpaceObject)getBeliefbase().getBelief("myself").getFact(); IVector3 dest = (IVector3)getParameter("destination").getValue(); Map<String, Object> props = new HashMap<String, Object>(); props.put(MoveTask.PROPERTY_DESTINATION, dest); props.put(MoveTask.PROPERTY_SCOPE, getScope().getExternalAccess()); props.put(AbstractTask.PROPERTY_CONDITION, new PlanFinishedTaskCondition(getPlanElement())); IEnvironmentSpace space = (IEnvironmentSpace)getBeliefbase().getBelief("environment").getFact(); Object taskid = space.createObjectTask(MoveTask.PROPERTY_TYPENAME, props, myself.getId()); // move = new MoveTask(dest, res, getExternalAccess()); // myself.addTask(move); Future<Void> fut = new Future<Void>(); space.addTaskListener(taskid, myself.getId(), new DelegationResultListener<Void>(fut)); fut.get(); } }
/** * The plan body. */ public void body() { // System.out.println("MoveToLocation: "+getComponentIdentifier()); ISpaceObject myself = (ISpaceObject)getBeliefbase().getBelief("myself").getFact(); IVector2 dest = (IVector2)getParameter("destination").getValue(); Map<String, Object> props = new HashMap<String, Object>(); props.put(MoveTask.PROPERTY_DESTINATION, dest); props.put(MoveTask.PROPERTY_SCOPE, getScope().getExternalAccess()); props.put(AbstractTask.PROPERTY_CONDITION, new PlanFinishedTaskCondition(getPlanElement())); IEnvironmentSpace space = (IEnvironmentSpace)getBeliefbase().getBelief("environment").getFact(); Object rtaskid = space.createObjectTask(RotationTask.PROPERTY_TYPENAME, props, myself.getId()); Future<Void> ret = new Future<Void>(); space.addTaskListener(rtaskid, myself.getId(), new DelegationResultListener<Void>(ret)); ret.get(); Object mtaskid = space.createObjectTask(MoveTask.PROPERTY_TYPENAME, props, myself.getId()); ret = new Future<Void>(); space.addTaskListener(mtaskid, myself.getId(), new DelegationResultListener<Void>(ret)); ret.get(); }