Class MissionTracker

java.lang.Object
com.tnsai.coordination.groups.team.MissionTracker

public class MissionTracker extends Object
Tracks mission progress for a Team.

MissionTracker monitors task execution, success rates, and overall mission completion status.

Usage Example


 MissionTracker tracker = team.getMissionTracker();

 // Check progress
 MissionProgress progress = tracker.getProgress();
 System.out.println("Tasks completed: " + progress.tasksCompleted());
 System.out.println("Success rate: " + progress.successRate());

 // Add listener
 tracker.addListener((event) -> {
     if (event.type() == MissionEventType.TASK_COMPLETED) {
         System.out.println("Task done: " + event.taskId());
     }
 });
 
  • Constructor Details

    • MissionTracker

      public MissionTracker(String teamId, String mission)
  • Method Details

    • getStatus

      public MissionTracker.MissionStatus getStatus()
      Gets current mission status.
      Returns:
      status
    • start

      public void start()
      Starts the mission.
    • complete

      public void complete(boolean successful)
      Completes the mission.
      Parameters:
      successful - whether mission succeeded
    • cancel

      public void cancel()
      Cancels the mission.
    • taskStarted

      public void taskStarted(String taskId, String taskDescription)
      Records a task starting.
      Parameters:
      taskId - task ID
      taskDescription - task description
    • taskCompleted

      public void taskCompleted(String taskId, TeamResult result)
      Records a task completing.
      Parameters:
      taskId - task ID
      result - task result
    • getProgress

      public MissionTracker.MissionProgress getProgress()
      Gets current mission progress.
      Returns:
      progress snapshot
    • getElapsedTime

      public Duration getElapsedTime()
      Gets elapsed time since mission started.
      Returns:
      elapsed duration
    • isComplete

      public boolean isComplete()
      Checks if mission is complete.
      Returns:
      true if complete
    • getTaskHistory

      public List<MissionTracker.TaskRecord> getTaskHistory()
      Gets task history.
      Returns:
      task records
    • getTaskRecord

      public Optional<MissionTracker.TaskRecord> getTaskRecord(String taskId)
      Gets a specific task record.
      Parameters:
      taskId - task ID
      Returns:
      task record
    • addListener

      public void addListener(MissionTracker.MissionListener listener)
      Adds a mission listener.
      Parameters:
      listener - listener to add
    • removeListener

      public void removeListener(MissionTracker.MissionListener listener)
      Removes a mission listener.
      Parameters:
      listener - listener to remove