/*
** Copyright (C) 1999 Microsoft Corporation. All Rights Reserved.
**
** File: getshipisstoppedcondition.cpp
**
** Author:
**
** Description:
** Implementation of the training library "getshipisstoppedcondition" interface.
**
** History:
*/
#include "pch.h"
#include "GetShipIsStoppedCondition.h"
namespace Training
{
//------------------------------------------------------------------------------
// class methods
//------------------------------------------------------------------------------
/* void */ GetShipIsStoppedCondition::GetShipIsStoppedCondition (const TRef<IshipIGC>& ship) :
m_ship (ship)
{
m_shipID = -1;
}
/* void */ GetShipIsStoppedCondition::GetShipIsStoppedCondition (const ShipID shipID) :
m_shipID (shipID)
{
}
//------------------------------------------------------------------------------
/* void */ GetShipIsStoppedCondition::~GetShipIsStoppedCondition (void)
{
m_ship = 0;
}
//------------------------------------------------------------------------------
bool GetShipIsStoppedCondition::Evaluate (void)
{
if (m_shipID != -1)
m_ship = trekClient.GetSide()->GetShip(m_shipID);
Vector velocity = m_ship->GetVelocity ();
float fSpeedSquared = velocity.LengthSquared ();
return (fSpeedSquared < 1.0f) ? true : false;
}
//------------------------------------------------------------------------------
}