/*
** Copyright (C) 1999 Microsoft Corporation. All Rights Reserved.
**
** File: objectwithinradiuscondition.h
**
** Author:
**
** Description:
** Header file for the training library "objectwithinradiuscondition" interface.
**
** History:
*/
#ifndef _OBJECT_WITHIN_RADIUS_CONDITION_H_
#define _OBJECT_WITHIN_RADIUS_CONDITION_H_
#ifndef _CONDITION_H_
#include "Condition.h"
#endif //_CONDITION_H_
#ifndef _ABSTRACT_TARGET_H_
#include "AbstractTarget.h"
#endif //_ABSTRACT_TARGET_H_
namespace Training
{
//------------------------------------------------------------------------------
// class definitions
//------------------------------------------------------------------------------
class ObjectWithinRadiusCondition : public Condition
{
public:
/* void */ ObjectWithinRadiusCondition (ImodelIGC* pObject, ImodelIGC* pTarget, float fRadius);
/* void */ ObjectWithinRadiusCondition (ImodelIGC* pObject, ObjectType targetType, ObjectID targetID, float fRadius);
/* void */ ObjectWithinRadiusCondition (ImodelIGC* pObject, AbstractTarget* pTarget, float fRadius);
/* void */ ObjectWithinRadiusCondition (ObjectType objectType, ObjectID objectID, ObjectType targetType, ObjectID targetID, float fRadius);
virtual /* void */ ~ObjectWithinRadiusCondition (void);
virtual bool Evaluate (void);
float GetRadarRadius (void) const;
protected:
bool Initialized (void);
protected:
AbstractTarget* m_pObject;
AbstractTarget* m_pTarget;
float m_fRadiusSquared;
bool m_bConditionInitialized;
};
//------------------------------------------------------------------------------
}
#endif //_OBJECT_WITHIN_RADIUS_CONDITION_H_