List of usage examples for com.badlogic.gdx.ai.btree.utils BehaviorTreeParser BehaviorTreeParser
public BehaviorTreeParser(int debug)
From source file:com.badlogic.gdx.ai.tests.BehaviorTreeViewer.java
License:Apache License
@Override public void create() { step = 0;/* w w w .ja va 2s. co m*/ taskNodes = new ObjectMap<Task<Dog>, TaskNode>(); BehaviorTreeParser<Dog> parser = new BehaviorTreeParser<Dog>(BehaviorTreeParser.DEBUG_NONE); BehaviorTree<Dog> tree = parser.parse(Gdx.files.internal("data/dog.tree"), null); dog = new Dog("Dog 1", tree); tree.addListener(new BehaviorTree.Listener<Dog>() { @Override public void statusUpdated(Task<Dog> task, Task.Status previousStatus) { TaskNode tn = taskNodes.get(task); tn.updateStatus(previousStatus, step); } @Override public void childAdded(Task<Dog> task, int index) { TaskNode parentNode = taskNodes.get(task); Task<Dog> child = task.getChild(index); addToTree(displayTree, parentNode, child, null, 0); displayTree.expandAll(); } }); KryoUtils.initKryo(); skin = new Skin(Gdx.files.internal("data/uiskin.json")); treeStatus = SUSPENDED; runDelaySlider = new Slider(0, 5, 0.01f, false, skin); runDelaySlider.setValue(.5f); runButton = new TextButton("Run", skin); stepButton = new TextButton("Step", skin); loadButton = new TextButton("Load", skin); loadButton.setDisabled(true); saveButton = new TextButton("Save", skin); stepLabel = new Label(new StringBuilder(LABEL_STEP + step), skin); stage = new Stage(new ScreenViewport()); Table table = new Table(); table.row().height(20).fillX(); table.add(runDelaySlider); table.add(runButton); table.add(stepButton); table.add(saveButton); table.add(loadButton); table.add(stepLabel); table.row(); displayTree = new Tree(skin); redrawTree(); table.add(displayTree).colspan(3).fillX().fillY().expand(true, true); stage.addActor(table); table.setFillParent(true); saveButton.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { save(); saved = true; loadButton.setDisabled(false); } }); loadButton.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { load(); } }); stepButton.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { treeStatus = STEP; // step(); } }); runButton.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { if (treeStatus == SUSPENDED) { treeStatus = RUNNING; delay = runDelaySlider.getValue(); // this makes it start immediately runButton.setText("Suspend"); stepButton.setDisabled(true); saveButton.setDisabled(true); loadButton.setDisabled(true); } else { treeStatus = SUSPENDED; runButton.setText("Run"); stepButton.setDisabled(false); saveButton.setDisabled(false); loadButton.setDisabled(!saved); } } }); Gdx.input.setInputProcessor(stage); setScreen(this); }
From source file:com.mygdx.entities.DynamicEntities.DogEntities.DogEntity.java
@Override public void init(World world) { super.init(world); body.setLinearDamping(5.0f);/*from w w w . j av a 2s.c o m*/ //ai Reader reader = null; try { reader = Gdx.files.internal("ai/stella.tree").reader(); BehaviorTreeParser<DogEntity> parser = new BehaviorTreeParser<DogEntity>(BehaviorTreeParser.DEBUG_NONE); bt = parser.parse(reader, this); } finally { StreamUtils.closeQuietly(reader); } }
From source file:com.mygdx.entities.DynamicEntities.enemies.Enemy_TestMon.java
@Override public void init(World world) { super.init(world); EnemyManager.add(this); //ai//from ww w. j ava2 s. c o m Reader reader = null; try { //read this file in resource manager reader = Gdx.files.internal("ai/patrol.tree").reader(); BehaviorTreeParser<EnemyEntity> parser = new BehaviorTreeParser<EnemyEntity>( BehaviorTreeParser.DEBUG_NONE); bt = parser.parse(reader, this); } finally { StreamUtils.closeQuietly(reader); } }
From source file:com.mygdx.entities.DynamicEntities.enemies.En_Goober.java
@Override public void init(World world) { super.init(world); body.createFixture(attFd1).setUserData(sensordata); body.createFixture(attFd2).setUserData(sensordata); body.createFixture(attFd3).setUserData(sensordata); body.createFixture(attFd4).setUserData(sensordata); //ai//from w w w.j av a2 s . c o m Reader reader = null; try { //read this file in resource manager reader = Gdx.files.internal("ai/enemies/en_goober2.tree").reader(); BehaviorTreeParser<EnemyEntity> parser = new BehaviorTreeParser<EnemyEntity>( BehaviorTreeParser.DEBUG_NONE); bt = parser.parse(reader, this); } finally { StreamUtils.closeQuietly(reader); } }
From source file:com.mygdx.game.overworld.java
private void createplayer() { Reader reader = null;//from w w w . ja v a2s . c om try { reader = Gdx.files.internal("player.tree").reader(); BehaviorTreeParser<player> parser = new BehaviorTreeParser<player>(BehaviorTreeParser.DEBUG_HIGH); BehaviorTree<player> btree = parser.parse(reader, p = new player()); p.btree = btree; p.playerlocation = p.playerlocation.Maki; p.pstate = p.pstate.overworld; p.pdirY = p.pdirY.non; p.pdirX = p.pdirX.non; p.x = 400; p.y = 260; owpathfinding = new overworldpathfinding(p, townnodes); p.funds = 1000; } finally { StreamUtils.closeQuietly(reader); } }