BWAPI
SPAR/AIModule/SparAIModule/DecisionMaking/Layer2Actions/Managers/ActionsImplementation/L2Attack.h
Go to the documentation of this file.
00001 #pragma once
00002 #include "../../Interface/Actions/Attack.h"
00003 #include "L2GroupTacticalAction.h"
00004 
00005 class L2Attack : public virtual layer2::Attack, public L2GroupTacticalAction
00006 {
00007 public:
00008   L2Attack(unsigned int priority, const PersistentUnitGroup* initialGroup) // TODO: target
00009     : Attack(priority, initialGroup)
00010     , L2GroupTacticalAction(priority, initialGroup)
00011     , GroupTacticalAction(priority, initialGroup)
00012     , TacticalAction(priority)
00013     , Process(Spar)
00014   {
00015   }
00016 
00017 protected:
00018   virtual void executeSpecificImpl();
00019   virtual void cancelSpecificImpl();
00020   virtual void terminateSpecificImpl();
00021 
00022   virtual void output(std::ostream& out) const
00023   {
00024     Attack::output(out);
00025 
00026     out << "Attack(" << getGroup()->getName() << ")";
00027   }
00028 
00029   virtual void onUnitAddedToGroup(void*, BWAPI::Unit* unit);
00030   virtual void onUnitRemovedFromGroup(void*, BWAPI::Unit* unit);
00031 };
00032 
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines