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

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

public class ExitAirlock
extends Task
implements java.io.Serializable

The ExitAirlock class is a task for exiting a airlock from an EVA operation.

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
ExitAirlock(Person person, Airlock airlock)
          Constructs an ExitAirlock object
 
Method Summary
protected  void addExperience(double time)
          Adds experience to the person's skills used in this task.
static boolean canExitAirlock(Person person, Airlock airlock)
          Checks if a person can exit an airlock on an EVA.
 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 EVASuit getGoodEVASuit(Inventory inv)
          Gets a good EVA suit from an inventory.
static boolean goodEVASuitAvailable(Inventory inv)
          Checks if a good EVA suit is in entity inventory.
protected  double performMappedPhase(double time)
          Performs the method mapped to the task's current phase.
 
Methods inherited from class org.mars_sim.msp.simulation.person.ai.task.Task
addPhase, compareTo, endTask, getCreateEvents, getCrowdingProbabilityModifier, getDescription, getDuration, getName, getPhase, getProbability, 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

ExitAirlock

public ExitAirlock(Person person,
                   Airlock airlock)
            throws java.lang.Exception
Constructs an ExitAirlock object

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

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 (millisols) the phase is to be performed.
Returns:
the remaining time (millisols) after the phase has been performed.
Throws:
java.lang.Exception - if error in performing phase or if phase cannot be found.

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.

canExitAirlock

public static boolean canExitAirlock(Person person,
                                     Airlock airlock)
Checks if a person can exit an airlock on an EVA.

Parameters:
person - the person exiting
airlock - the airlock to be used
Returns:
true if person can exit the entity

goodEVASuitAvailable

public static boolean goodEVASuitAvailable(Inventory inv)
Checks if a good EVA suit is in entity inventory.

Parameters:
inv - the inventory to check.
Returns:
true if good EVA suit is in inventory

getGoodEVASuit

public static EVASuit getGoodEVASuit(Inventory inv)
Gets a good EVA suit from an inventory.

Parameters:
inv - the inventory to check.
Returns:
EVA suit or null if none available.

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