Rename delegate members, trying to avoid confusion.
[tagua/yd.git] / src / core / delegators / defaultstate.h
blobb3c08f1905ec98907fb958e57653b12c65b3c2ad
1 #ifndef DELEGATORS__DEFAULT_STATE_H
2 #define DELEGATORS__DEFAULT_STATE_H
4 #include "../defaultstate.h"
5 #include "state.h"
7 #include <KDebug>
8 #include <typeinfo>
10 namespace Delegators {
12 class DefaultState : public State, public ::DefaultState {
13 protected:
14 ::DefaultState* m_dgate_defaultstate;
15 public:
16 DefaultState(IState* state)
17 : State(state) {
18 ::DefaultState* dstate = dynamic_cast< ::DefaultState*>(state);
19 if (dstate == NULL) {
20 kError() << "Delegators::DefaultState needs a ::DefaultState, cannot use a"
21 << typeid(state).name();
22 abort();
25 m_dgate_defaultstate = dstate;
26 m_dgate_defaultstate->setDelegator(this);
28 virtual ~DefaultState() { delete m_dgate_defaultstate; }
30 virtual std::vector<const Point*> theoreticalMoves(const Piece& piece,
31 const Point& src) const
32 { return m_dgate_defaultstate->theoreticalMoves(piece, src); }
35 } // namespace Delegators
37 #endif // DELEGATORS__DEFAULT_STATE_H