org.mars_sim.msp.simulation.person.ai.task
Class UnloadVehicle

java.lang.Object
  extended by org.mars_sim.msp.simulation.person.ai.task.Task
      extended by org.mars_sim.msp.simulation.person.ai.task.UnloadVehicle
All Implemented Interfaces:
java.io.Serializable, java.lang.Comparable

public class UnloadVehicle
extends Task
implements java.io.Serializable

The UnloadVehicle class is a task for unloading a fuel and supplies from a vehicle.

See Also:
Serialized Form

Field Summary
 
Fields inherited from class org.mars_sim.msp.simulation.person.ai.task.Task
effortDriven, hasDuration, person, phaseTimeCompleted, phaseTimeRequired, stressModifier, subTask, TASK_DESC_EVENT, TASK_ENDED_EVENT, TASK_NAME_EVENT, TASK_PHASE_EVENT, TASK_SUBTASK_EVENT
 
Constructor Summary
UnloadVehicle(Person person)
          Constructor
UnloadVehicle(Person person, Vehicle vehicle)
          Constructor
 
Method Summary
protected  void addExperience(double time)
          Adds experience to the person's skills used in this task.
 java.util.List<java.lang.String> getAssociatedSkills()
          Gets a list of the skills associated with this task.
 int getEffectiveSkillLevel()
          Gets the effective skill level a person has at this task.
static double getProbability(Person person)
          Returns the weighted probability that a person might perform this task.
static boolean isFullyUnloaded(Vehicle vehicle)
          Returns true if the vehicle is fully unloaded.
protected  double performMappedPhase(double time)
          Performs the method mapped to the task's current phase.
protected  double unloadingPhase(double time)
          Perform the unloading phase of the task.
 
Methods inherited from class org.mars_sim.msp.simulation.person.ai.task.Task
addPhase, compareTo, endTask, getCreateEvents, getCrowdingProbabilityModifier, getDescription, getDuration, getName, getPhase, getRelationshipModifier, getSubTask, getTeacher, getTeachingExperienceModifier, getTimeCompleted, getTopPhase, hasTeacher, isDone, isEffortDriven, setCreateEvents, setDescription, setDuration, setName, setPhase, setStressModifier, setTeacher, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

UnloadVehicle

public UnloadVehicle(Person person)
              throws java.lang.Exception
Constructor

Parameters:
person - the person to perform the task.
Throws:
java.lang.Exception - if error constructing task.

UnloadVehicle

public UnloadVehicle(Person person,
                     Vehicle vehicle)
              throws java.lang.Exception
Constructor

Parameters:
person - the person to perform the task
vehicle - the vehicle to be unloaded
Throws:
java.lang.Exception - if error constructing task.
Method Detail

getProbability

public static double getProbability(Person person)
Returns the weighted probability that a person might perform this task. It should return a 0 if there is no chance to perform this task given the person and his/her situation.

Parameters:
person - the person to perform the task
Returns:
the weighted probability that a person might perform this task

performMappedPhase

protected double performMappedPhase(double time)
                             throws java.lang.Exception
Performs the method mapped to the task's current phase.

Specified by:
performMappedPhase in class Task
Parameters:
time - the amount of time (millisol) the phase is to be performed.
Returns:
the remaining time (millisol) after the phase has been performed.
Throws:
java.lang.Exception - if error in performing phase or if phase cannot be found.

unloadingPhase

protected double unloadingPhase(double time)
                         throws java.lang.Exception
Perform the unloading phase of the task.

Parameters:
time - the amount of time (millisol) to perform the phase.
Returns:
the amount of time (millisol) after performing the phase.
Throws:
java.lang.Exception - if error in loading phase.

addExperience

protected void addExperience(double time)
Adds experience to the person's skills used in this task.

Specified by:
addExperience in class Task
Parameters:
time - the amount of time (ms) the person performed this task.

isFullyUnloaded

public static boolean isFullyUnloaded(Vehicle vehicle)
                               throws InventoryException
Returns true if the vehicle is fully unloaded.

Parameters:
vehicle - Vehicle to check.
Returns:
is vehicle fully unloaded?
Throws:
InventoryException - if error checking vehicle.

getEffectiveSkillLevel

public int getEffectiveSkillLevel()
Gets the effective skill level a person has at this task.

Specified by:
getEffectiveSkillLevel in class Task
Returns:
effective skill level

getAssociatedSkills

public java.util.List<java.lang.String> getAssociatedSkills()
Gets a list of the skills associated with this task. May be empty list if no associated skills.

Specified by:
getAssociatedSkills in class Task
Returns:
list of skills as strings