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