~ubuntu-branches/ubuntu/natty/plee-the-bear/natty

« back to all changes in this revision

Viewing changes to bear-engine/lib/src/generic_items/level_variable/u_int_level_variable_getter_creator.hpp

  • Committer: Bazaar Package Importer
  • Author(s): Julien Jorge, Julien Jorge
  • Date: 2010-11-17 20:13:34 UTC
  • mfrom: (6.1.1 sid)
  • Revision ID: james.westby@ubuntu.com-20101117201334-o4dp7uq437to7oxb
Tags: 0.5.1-1
[ Julien Jorge ]
* New upstream release (Closes: #565062, #546514).
* Add armhf architecture (Closes: #604689).
* Remove patches integrated upstream: rpath-editors.diff, rpath-game.diff,
  editors-menu-section.diff.
* Bump the Standard-Version, no changes.
* Update my email address.
* Set build dependency of libclaw to 1.6.0.
* Add the missing ${misc:Depends} in debian/control.
* List gettext translations in bear-factory.install and plee-the-bear.install.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
  Bear Engine
 
3
 
 
4
  Copyright (C) 2005-2010 Julien Jorge, Sebastien Angibaud
 
5
 
 
6
  This program is free software; you can redistribute it and/or modify it
 
7
  under the terms of the GNU General Public License as published by the
 
8
  Free Software Foundation; either version 2 of the License, or (at your
 
9
  option) any later version.
 
10
 
 
11
  This program is distributed in the hope that it will be useful, but WITHOUT
 
12
  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 
13
  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
 
14
  more details.
 
15
 
 
16
  You should have received a copy of the GNU General Public License along
 
17
  with this program; if not, write to the Free Software Foundation, Inc.,
 
18
  51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 
19
 
 
20
  contact: plee-the-bear@gamned.org
 
21
 
 
22
  Please add the tag [BEAR] in the subject of your mails.
 
23
*/
 
24
/**
 
25
 * \file u_int_level_variable_getter_creator.hpp
 
26
 * \brief A linear expression that returns the value of a level variable.
 
27
 * \author Julien Jorge
 
28
 */
 
29
#ifndef __BEAR_U_INT_LEVEL_VARIABLE_GETTER_CREATOR_HPP__
 
30
#define __BEAR_U_INT_LEVEL_VARIABLE_GETTER_CREATOR_HPP__
 
31
 
 
32
#include "engine/base_item.hpp"
 
33
#include "engine/function/linear_level_variable_getter.hpp"
 
34
#include "engine/item_brick/with_linear_expression_creation.hpp"
 
35
 
 
36
#include "engine/export.hpp"
 
37
#include "generic_items/class_export.hpp"
 
38
 
 
39
namespace bear
 
40
{
 
41
  /**
 
42
   * \brief A linear expression that returns the value of a level variable.
 
43
   *
 
44
   * The valid fields for this item are
 
45
   *  - name: The name of the variable to get,
 
46
   *  - default_value: The default value of the variable, if not set,
 
47
   *  - any field supported by the parent classes.
 
48
   *
 
49
   * \author Julien Jorge
 
50
   */
 
51
  class GENERIC_ITEMS_EXPORT u_int_level_variable_getter_creator:
 
52
    public engine::base_item,
 
53
    public engine::with_linear_expression_creation
 
54
  {
 
55
    DECLARE_BASE_ITEM(u_int_level_variable_getter_creator);
 
56
 
 
57
  public:
 
58
    /** \brief The type of the parent class. */
 
59
    typedef engine::base_item super;
 
60
 
 
61
  public:
 
62
    u_int_level_variable_getter_creator();
 
63
 
 
64
    void build();
 
65
    bool is_valid() const;
 
66
 
 
67
    bool set_string_field
 
68
    ( const std::string& name, const std::string& value );
 
69
    bool set_u_integer_field( const std::string& name, unsigned int value );
 
70
 
 
71
  private:
 
72
    virtual expr::linear_expression do_get_expression() const;
 
73
 
 
74
  private:
 
75
    /** \brief The expression created by this item. */
 
76
    engine::linear_level_variable_getter<unsigned int> m_expr;
 
77
 
 
78
  }; // class u_int_level_variable_getter_creator
 
79
} // namespace bear
 
80
 
 
81
#endif // __BEAR_U_INT_LEVEL_VARIABLE_GETTER_CREATOR_HPP__