Moved tasks into commands

This commit is contained in:
Henry Mao 2013-01-04 12:32:24 +08:00
parent be43631eae
commit 410e2c1c27
7 changed files with 24 additions and 19 deletions

View file

@ -1,4 +1,4 @@
package assemblyline.common.ai; package assemblyline.common.machine.armbot;
import java.util.List; import java.util.List;

View file

@ -1,4 +1,4 @@
package assemblyline.common.ai; package assemblyline.common.machine.armbot;
import assemblyline.common.machine.crafter.TileEntityArmbot; import assemblyline.common.machine.crafter.TileEntityArmbot;
@ -8,12 +8,17 @@ import assemblyline.common.machine.crafter.TileEntityArmbot;
* @author Calclavia * @author Calclavia
* *
*/ */
public abstract class Task public abstract class Command
{ {
/**
* A class of all available commands. Command IDs are the indexes of the array.
*/
public static Class[] COMMANDS = { CommandIdle.class };
protected int ticks; protected int ticks;
protected TileEntityArmbot tileEntity; protected TileEntityArmbot tileEntity;
public Task(TileEntityArmbot arm) public Command(TileEntityArmbot arm)
{ {
this.tileEntity = arm; this.tileEntity = arm;
} }

View file

@ -1,10 +1,10 @@
package assemblyline.common.ai; package assemblyline.common.machine.armbot;
import assemblyline.common.machine.crafter.TileEntityArmbot; import assemblyline.common.machine.crafter.TileEntityArmbot;
public class TaskIdle extends Task public class CommandIdle extends Command
{ {
public TaskIdle(TileEntityArmbot arm) public CommandIdle(TileEntityArmbot arm)
{ {
super(arm); super(arm);
} }

View file

@ -1,4 +1,4 @@
package assemblyline.common.ai; package assemblyline.common.machine.armbot;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Iterator; import java.util.Iterator;
@ -7,9 +7,9 @@ import java.util.List;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import cpw.mods.fml.common.FMLLog; import cpw.mods.fml.common.FMLLog;
public class TaskManager public class CommandManager
{ {
private final List<Task> tasks = new ArrayList<Task>(); private final List<Command> tasks = new ArrayList<Command>();
private int ticks = 0; private int ticks = 0;
@ -23,8 +23,8 @@ public class TaskManager
*/ */
try try
{ {
Task task; Command task;
Iterator<Task> iter = tasks.iterator(); Iterator<Command> iter = tasks.iterator();
while (iter.hasNext()) while (iter.hasNext())
{ {
task = iter.next(); task = iter.next();
@ -57,7 +57,7 @@ public class TaskManager
* @param tileEntity TE instance to register the task for * @param tileEntity TE instance to register the task for
* @param task Task instance to register * @param task Task instance to register
*/ */
public void addTask(TileEntity tileEntity, Task task) public void addTask(TileEntity tileEntity, Command task)
{ {
tasks.add(task); tasks.add(task);
task.onTaskStart(); task.onTaskStart();

View file

@ -1,14 +1,14 @@
package assemblyline.common.machine.crafter; package assemblyline.common.machine.crafter;
import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.item.EntityItem;
import assemblyline.common.ai.Task; import assemblyline.common.machine.armbot.Command;
/** /**
* Used by arms to collect items in a specific region. * Used by arms to collect items in a specific region.
* *
* @author Calclavia * @author Calclavia
*/ */
public class TaskArmCollect extends Task public class TaskArmCollect extends Command
{ {
/** /**

View file

@ -4,14 +4,14 @@ import java.util.List;
import net.minecraft.entity.Entity; import net.minecraft.entity.Entity;
import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.AxisAlignedBB;
import assemblyline.common.ai.Task; import assemblyline.common.machine.armbot.Command;
/** /**
* Used by arms to search for entities in a region * Used by arms to search for entities in a region
* *
* @author Calclavia * @author Calclavia
*/ */
public class TaskArmSearch extends Task public class TaskArmSearch extends Command
{ {
/** /**

View file

@ -17,7 +17,7 @@ import universalelectricity.core.implement.IJouleStorage;
import universalelectricity.core.vector.Vector3; import universalelectricity.core.vector.Vector3;
import universalelectricity.prefab.network.IPacketReceiver; import universalelectricity.prefab.network.IPacketReceiver;
import universalelectricity.prefab.tile.TileEntityElectricityReceiver; import universalelectricity.prefab.tile.TileEntityElectricityReceiver;
import assemblyline.common.ai.TaskManager; import assemblyline.common.machine.armbot.CommandManager;
import com.google.common.io.ByteArrayDataInput; import com.google.common.io.ByteArrayDataInput;
@ -28,7 +28,7 @@ public class TileEntityArmbot extends TileEntityElectricityReceiver implements I
*/ */
protected ItemStack[] containingItems = new ItemStack[this.getSizeInventory()]; protected ItemStack[] containingItems = new ItemStack[this.getSizeInventory()];
private TaskManager taskManager = new TaskManager(); private CommandManager taskManager = new CommandManager();
/** /**
* Entity robotic arm to be used with this tileEntity * Entity robotic arm to be used with this tileEntity