Esempio n. 1
0
 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!");
            }
        }