Further refinement of new ModularizedTacticalAI architecture; added plans for Crows

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@6017 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
feynman
2013-04-18 20:02:54 +00:00
parent 52cb4ff424
commit 26383d83a8
22 changed files with 451 additions and 490 deletions
@@ -14,16 +14,21 @@ namespace AI
namespace tactical
{
/**@class LegacyAIPlanFactory
* @brief Concrete Factory. Generates the LegacyAIPlan, making NPCs do exactly what it did before this AI
* modularization/re-write.
* @brief Concrete Factory. Generates the appropriate LegacyAIPlan, making NPCs do exactly what it did before
* this AI modularization/re-write.
*
* Currently, the factory handles the "outermost" layer of selection statements by instantiating plans that will
* call CreatureDecideAction(), ZombieDecideAction() or DecideAction(), respectively. This is not the intended
* use of factories, but for the time of the AI redesign a necessity nonetheless.
*/
class LegacyAIPlanFactory : public AbstractPlanFactory
{
private:
public:
/// The name is required for registration in the PlanFactoryLibrary
static std::string get_name() {return "LegacyAIPlanFactory";}
virtual Plan* create_plan(const AIInputData& input);
virtual void update_plan(const AIInputData& input, Plan* plan_to_change);
virtual Plan* create_plan(SOLDIERTYPE* npc, const AIInputData& input);
virtual void update_plan(SOLDIERTYPE* npc, const AIInputData& input);
};
}
}