Java tutorial
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package com.dongbat.invasion.enemy.tasks; import com.artemis.Entity; import com.badlogic.gdx.ai.btree.LeafTask; import com.badlogic.gdx.ai.btree.Task; import com.badlogic.gdx.math.Vector2; import com.dongbat.invasion.component.Enemy; import com.dongbat.invasion.util.Constants; import com.dongbat.invasion.util.EntityUtil; import com.dongbat.invasion.util.MovementUtil; import com.dongbat.invasion.util.PhysicsUtil; /** * * @author password */ public class NormalFindTargetTask extends LeafTask<Entity> { @Override public void run(Entity enemy) { Enemy enemyComponent = EntityUtil.getComponent(enemy, Enemy.class); Vector2 position = PhysicsUtil.getPosition(enemy); Vector2 target = new Vector2(0, position.y); if (enemyComponent.hasPickedUpAds()) { target.x = enemyComponent.isAirUnit() ? Constants.ENEMY.AIR_START_X : Constants.ENEMY.GROUND_START_X; } else { target.x = Constants.ENEMY.PICK_UP_POINT_X; } MovementUtil.setTarget(enemy, target); success(); } @Override protected Task<Entity> copyTo(Task<Entity> task) { return task; } }