add egg creation to qtgui debug menu
[openc2e.git] / CallButton.cpp
blob9e135fd2d46d173484f13abebf17384062afb54b
1 /*
2 * CallButton.cpp
3 * openc2e
5 * Created by Alyssa Milburn on Sat Dec 2 2006.
6 * Copyright (c) 2006 Alyssa Milburn. All rights reserved.
8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Lesser General Public
10 * License as published by the Free Software Foundation; either
11 * version 2 of the License, or (at your option) any later version.
13 * This library is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 * Lesser General Public License for more details.
20 #include "CallButton.h"
22 // TODO: this code is a first attempt and is probably completely wrong
24 void CallButton::tick() {
25 SimpleAgent::tick();
26 if (paused) return;
28 Lift *ourlift = dynamic_cast<Lift *>(lift.get());
29 assert(ourlift);
31 if (actv.getInt() == 1) {
32 // TODO: hrm..
33 if (ourlift->currentbutton == buttonid && ourlift->y + ourlift->cabinbottom == ourlift->callbuttony[buttonid]) { // has arrived at us
34 queueScript(0); // deactivate ourselves
36 // TODO: this is a broken hack
37 if (ourlift->liftAvailable()) { // not moving
38 if (ourlift->currentbutton != buttonid) {
39 ourlift->currentbutton = buttonid;
40 // TODO: mmh
41 if (ourlift->y + ourlift->cabinbottom < ourlift->callbuttony[buttonid])
42 ourlift->queueScript(1, this);
43 else
44 ourlift->queueScript(2, this);
50 /* vim: set noet: */