BWAPI
|
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 };