#! perl # this implements the mapscript connectable package safe::mapscript; use strict qw(subs vars); our ($self, $state, $activator, $originator); sub find($) { ref $_[0] ? $_[0] : $self->map->find_link ($_[0]) } sub get($) { (&find)[0]->value } sub set($;$) { $self->map->trigger ($_[0], $#_ ? $_[1] : 1, $self); } sub timer($$) { my $ob = (&find)[0]; $ob->speed_left ($_[1] / -cf::TICK); $ob->set_speed (1); } package cf::mapscript; use strict qw(subs vars); sub activate($$$) { ($self, $state, $activator, $originator) = @_; warn "$self->{msg} $self->{on_activate}\n";#d# ( $self->{on_activate} ||= cf::safe_eval "package mapscript; sub {\n" . "#line 1 '" . ($self->debug_desc) . "'\n" . $self->msg . "\n}" or sub { } )->(); } 1;