… | |
… | |
4 | |
4 | |
5 | package safe::mapscript; |
5 | package safe::mapscript; |
6 | |
6 | |
7 | use strict qw(subs vars); |
7 | use strict qw(subs vars); |
8 | |
8 | |
9 | our ($self, $activator, $state); |
9 | our ($self, $state, $activator, $originator); |
|
|
10 | |
|
|
11 | sub find($) { |
|
|
12 | ref $_[0] ? $_[0] |
|
|
13 | : $self->map->find_link ($_[0]) |
|
|
14 | } |
|
|
15 | |
|
|
16 | sub get($) { |
|
|
17 | (&find)[0]->value |
|
|
18 | } |
|
|
19 | |
|
|
20 | sub set($;$) { |
|
|
21 | $self->map->trigger ($_[0], $#_ ? $_[1] : 1, $self); |
|
|
22 | } |
|
|
23 | |
|
|
24 | sub timer($$) { |
|
|
25 | my $ob = (&find)[0]; |
|
|
26 | $ob->speed_left ($_[1] / -cf::TICK); |
|
|
27 | $ob->set_speed (1); |
|
|
28 | } |
10 | |
29 | |
11 | package cf::mapscript; |
30 | package cf::mapscript; |
12 | |
31 | |
13 | use strict qw(subs vars); |
32 | use strict qw(subs vars); |
14 | |
33 | |
15 | sub activate($$$) { |
34 | sub activate($$$) { |
16 | ($self, $activator, $state) = @_; |
35 | ($self, $state, $activator, $originator) = @_; |
17 | |
36 | |
18 | warn "$self->{msg} $self->{on_activate}\n";#d# |
37 | warn "$self->{msg} $self->{on_activate}\n";#d# |
19 | |
38 | |
20 | ( |
39 | ( |
21 | $self->{on_activate} ||= cf::safe_eval |
40 | $self->{on_activate} ||= cf::safe_eval |