2
* Copyright (C) 2008 Ronald Lamprecht
4
* This program is free software; you can redistribute it and/or
5
* modify it under the terms of the GNU General Public License
6
* as published by the Free Software Foundation; either version 2
7
* of the License, or (at your option) any later version.
9
* This program is distributed in the hope that it will be useful,
10
* but WITHOUT ANY WARRANTY; without even the implied warranty of
11
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
* GNU General Public License for more details.
14
* You should have received a copy of the GNU General Public License along
15
* with this program; if not, write to the Free Software Foundation, Inc.,
16
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
19
#ifndef SHOGUNDOTITEM_HH
20
#define SHOGUNDOTITEM_HH
29
class ShogunDot : public Item {
31
DECL_ITEMTRAITS_ARRAY(3, traitsIdx());
35
OFF, ///< inactive, no matching shogun stack on top
36
ON ///< active, matching shogun stack on top
39
enum ObjectPrivatFlagsBits {
40
OBJBIT_HOLES = 127<<24, ///< holes as defined in stones/ShogunStone.hh
46
virtual std::string getClass() const;
47
virtual void setAttr(const string& key, const Value &val);
48
virtual Value getAttr(const std::string &key) const;
49
virtual Value message(const Message &m);
51
// StateObject interface
52
virtual void setState(int extState);
54
// GridObject interface
55
virtual void on_creation(GridPos p);
58
virtual void stone_change(Stone *st);
62
int requiredShogunHoles() const;
63
int traitsIdx() const;