|
BWAPI
|
00001 #pragma once 00002 #include "../../../../Utils/FSM/Condition.h" 00003 00008 template <class UnitGroup> 00009 class IsGroupIdle : public Condition 00010 { 00011 public: 00012 IsGroupIdle(const UnitGroup* group) 00013 : m_group(group) {} 00014 bool evaluate() const 00015 { 00016 bool idle = true; 00017 for (UnitGroup::const_iterator it = m_group->begin(); 00018 idle && it != m_group->end(); 00019 ++it) 00020 { 00021 idle = (*it)->isIdle(); 00022 } 00023 return idle; 00024 } 00025 protected: 00026 const UnitGroup* const m_group; 00027 }; 00028 00029 class IsUnitIdle : public Condition 00030 { 00031 public: 00032 IsUnitIdle(BWAPI::Unit* unit) 00033 : m_unit(unit) {} 00034 bool evaluate() const 00035 { 00036 return m_unit->isIdle(); 00037 } 00038 protected: 00039 BWAPI::Unit* const m_unit; 00040 };
1.7.6.1