public Robot(EntityEnvironmentInfoProvider parent, float x, float y, float z, float rotationX, float rotationY, float rotationZ, Graph pathfindingGraph) : base("robot", parent, x, y, z, rotationX, rotationY, rotationZ, Constants.RobotSpeed, 5f, Constants.RobotAcceleration) { _cargo = new CargoSlot(this, new Vector3(0.0f, 0.0f, 0.0f)); _graph = pathfindingGraph; _tasks = new Queue <SimulationTask <Robot> >(); _idlePos = Position; _trail = this._footprint.AsLineSegments(); }
public RobotLoadTruckTask(Robot robot, Truck truck, Shelf item, CargoSlot destination) : base(robot) { this._item = item; this._destination = destination; this._truck = truck; if (!this._destination.ReserveForCargo(item)) { throw new InvalidOperationException("Robot.CargoTask could not reserve CargoSlot!"); } }