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() {
28 Lift
*ourlift
= dynamic_cast<Lift
*>(lift
.get());
31 if (actv
.getInt() == 1) {
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
;
41 if (ourlift
->y
+ ourlift
->cabinbottom
< ourlift
->callbuttony
[buttonid
])
42 ourlift
->queueScript(1, this);
44 ourlift
->queueScript(2, this);