BWAPI
SPAR/AIModule/SparAIModule/DecisionMaking/Layer1Reactive/FSM/Behaviors/EngageEnemies/EngageEnemies.h
Go to the documentation of this file.
00001 #pragma once
00002 #include "../../GroupBehavior.h"
00003 #include "../../BehaviorState.h"
00004 #include "../../Arbitrator.h"
00005 
00010 class IEngageEnemies : public virtual IGroupBehavior
00011 {
00012 public:
00013   IEngageEnemies(const Process* parent, unsigned int initialPriority, const PersistentUnitGroup* group)
00014     : IGroupBehavior(parent, initialPriority, group)
00015     , IBehavior(parent, initialPriority)
00016     , IFSM(parent)
00017     , Process(parent)
00018   {
00019   }
00020 
00021   // Additional possible termination mode
00022   static const TerminationMode Retreat;
00023 };
00024 
00025 template <class DerivedBehavior>
00026 class EngageEnemies : public virtual IEngageEnemies, public GroupBehavior<DerivedBehavior>
00027 {
00028 public:
00029   EngageEnemies(const Process* parent, unsigned int initialPriority, const PersistentUnitGroup* group)
00030     : IEngageEnemies(parent, initialPriority, group)
00031     , GroupBehavior(parent, initialPriority, group)
00032     , IGroupBehavior(parent, initialPriority, group)
00033     , IBehavior(parent, initialPriority)
00034     , IFSM(parent)
00035     , Process(parent)
00036   {
00037   }
00038 };
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines