#include "stdafx.h"
#include "TacticalAction.h"
#include "../InvalidLogicalExp.h"
#include "../InvalidEffect.h"

const TacticalAction::TerminationMode TacticalAction::Cancelled;

const TacticalAction::TerminationMode TacticalAction::AllUnitsDestroyed;

TacticalAction::TacticalAction(const Process* parent, unsigned int priority)
  : Process(parent)
  , m_priority(priority)
  , m_isCancelling(false)
  , m_precondition(*this, planning::InvalidLogicalExp::getInstance())
  , m_effect(*this, planning::InvalidEffect::getInstance())
{
  // The invalid precondition/effect are temporary, in order to avoid using uninitialized stuff
}

void TacticalAction::_output(std::ostream& out) const
{
  out << m_priority << " - ";
}