00001 /* $Id: engine_fai.hpp 52533 2012-01-07 02:35:17Z shadowmaster $ */ 00002 /* 00003 Copyright (C) 2009 - 2012 by Yurii Chernyi <terraninfo@terraninfo.net> 00004 Part of the Battle for Wesnoth Project http://www.wesnoth.org/ 00005 00006 This program is free software; you can redistribute it and/or modify 00007 it under the terms of the GNU General Public License as published by 00008 the Free Software Foundation; either version 2 of the License, or 00009 (at your option) any later version. 00010 This program is distributed in the hope that it will be useful, 00011 but WITHOUT ANY WARRANTY. 00012 00013 See the COPYING file for more details. 00014 */ 00015 00016 /** 00017 * FAI AI Support engine - creating specific ai components from config 00018 * @file 00019 */ 00020 00021 #ifndef AI_COMPOSITE_ENGINE_FAI_HPP_INCLUDED 00022 #define AI_COMPOSITE_ENGINE_FAI_HPP_INCLUDED 00023 00024 #include "engine.hpp" 00025 #include "contexts.hpp" 00026 00027 //============================================================================ 00028 namespace ai { 00029 00030 class formula_ai; 00031 00032 class engine_fai : public engine { 00033 public: 00034 engine_fai( readonly_context &context, const config &cfg ); 00035 00036 virtual ~engine_fai(); 00037 00038 virtual void do_parse_candidate_action_from_config( rca_context &context, const config &cfg, std::back_insert_iterator<std::vector< candidate_action_ptr > > b ); 00039 00040 virtual void do_parse_stage_from_config( ai_context &context, const config &cfg, std::back_insert_iterator<std::vector< stage_ptr > > b ); 00041 00042 virtual std::string evaluate(const std::string &str); 00043 00044 virtual config to_config() const; 00045 00046 virtual void set_ai_context(ai_context *context); 00047 private: 00048 boost::shared_ptr<formula_ai> formula_ai_; 00049 }; 00050 00051 } //end of namespace ai 00052 00053 #endif
| Generated by doxygen 1.7.1 on Thu May 24 2012 01:02:28 for The Battle for Wesnoth | Gna! | Forum | Wiki | CIA | devdocs |