The Battle for Wesnoth  1.13.10+dev
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
stage_side_formulas.hpp
Go to the documentation of this file.
1 /*
2  Copyright (C) 2009 - 2017 by Yurii Chernyi <terraninfo@terraninfo.net>
3  Part of the Battle for Wesnoth Project http://www.wesnoth.org/
4 
5  This program is free software; you can redistribute it and/or modify
6  it under the terms of the GNU General Public License as published by
7  the Free Software Foundation; either version 2 of the License, or
8  (at your option) any later version.
9  This program is distributed in the hope that it will be useful,
10  but WITHOUT ANY WARRANTY.
11 
12  See the COPYING file for more details.
13 */
14 
15 /**
16  * @file
17  * Stage which executes side formulas
18  * */
19 
20 #pragma once
21 
22 #include "ai/composite/stage.hpp"
23 #include "formula/formula_fwd.hpp"
24 
25 #ifdef _MSC_VER
26 #pragma warning(push)
27 //silence "inherits via dominance" warnings
28 #pragma warning(disable:4250)
29 #endif
30 
31 namespace ai {
32 
33 class formula_ai;
34 
35 class stage_side_formulas: public stage {
36 public:
37  stage_side_formulas( ai_context &context, const config &cfg, formula_ai &fai );
38 
39  virtual ~stage_side_formulas();
40 
41  bool do_play_stage();
42 
43  void on_create();
44 
45  config to_config() const;
46 
47 private:
48  const config &cfg_;
51 
52 };
53 
54 } //end of namespace ai
55 
56 #ifdef _MSC_VER
57 #pragma warning(pop)
58 #endif
wfl::const_formula_ptr move_formula_
config to_config() const
serialize
void on_create()
Initialization.
Composite AI stages.
A small explanation about what's going on here: Each action has access to two game_info objects First...
Definition: actions.cpp:58
bool do_play_stage()
Play the turn - implementation.
std::shared_ptr< const formula > const_formula_ptr
Definition: formula_fwd.hpp:23
A config object defines a single node in a WML file, with access to child nodes.
Definition: config.hpp:93
stage_side_formulas(ai_context &context, const config &cfg, formula_ai &fai)