コード例 #1
0
//---------------------------------------------------------------------------
bool EntityClassNearArea::Evaluate(RtsGame& pRtsGame)
{
    vector<TID> entityIds;
    pRtsGame.Self()->Entities((EntityClassType)_conditionParameters[PARAM_EntityClassId], entityIds);
    Vector2 position = Vector2::Null();
    
    ConditionEx::Evaluate(pRtsGame);
    for (size_t i = 0; i < entityIds.size(); ++i)
    {
        position = pRtsGame.Map()->GetNearestCell(new CellFeature(_conditionParameters));

        if (!position.IsNull())
        {
            _isSatisfied = true;
            break;
        }
    }

    return _isEvaluated && _isSatisfied;
}