BWAPI
SPAR/AIModule/SparAIModule/DecisionMaking/Layer4Strategic/Heuristic/Layer4Heuristic.h
Go to the documentation of this file.
00001 #pragma once
00002 #include "../../../PerceptualState/Techs/Techs.h"
00003 #include "../../../SituationAnalysis/Layer4StrategicRecognition/Layer4StrategicRecognition.h"
00004 #include "../../Layer3Tactical/Script/Layer3Script.h"
00005 #include "../Layer4Strategic.h"
00006 #include "Layer4HeuristicTypes.h"
00007 #include "Tasks/UpdateTargetArmyAndTechsTask.h"
00008 
00009 class Layer4Heuristic : public Layer4Strategic<Layer4StrategicRecognition<Layer3TacticalRecognition<Layer2Cueing<Layer1GameState>>>, Layer3Script>,
00010                         public Layer4HeuristicTypes
00011 {
00012 public:
00013   Layer4Heuristic(Layer4StrategicRecognition<Layer3TacticalRecognition<Layer2Cueing<Layer1GameState>>>& layer4StrategicRecognition, Layer3Script& layer3Script)
00014     : Layer4Strategic(layer4StrategicRecognition, layer3Script)
00015     , m_updateArmyAndTechs(*this)
00016   {
00017   }
00018   void onStart();
00019   void onFrame();
00020   void onEnd() {}
00021   void onSendText(std::string text) {}
00022 
00023   Layer3Script& getLayer3() const { return m_layer3Tactical; }
00024 
00025 protected:
00026   // Periodic tasks
00027   UpdateTargetArmyAndTechsTask m_updateArmyAndTechs;
00028 };
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines