parent $frob_class
parent $messaged
object $event_class
var $root child_index 0
var $root owners [$event_class]
var $root owned [$event_class]
var $root fertile 0
var $root inited 1
var $root manager $event_class
var $root writable [$event_class]
var $root readable ['parameters, 'methods, 'code]
var $root dbref 'event_class
var $event_class type 'generic
var $messaged messages #[]
method new
arg [args];
.perms(caller(), $event_handler);
// we still don't know what we want
// if (type(location) != 'dbref)
// throw(~type, "The location must be given as a dbref");
// return <this(), #[['actor, sender()], ['action, action], ['what, what], ['where, location], ['direction, direction]]>;
return <this(), [sender(), @args]>;
.
method dispatch
arg dict;
(dict['where]).event(<this(), dict>);
.
method set_event_type
arg newtype;
.perms(sender());
if (type(newtype) != 'symbol)
throw(~type, "New event types must be symbols.");
type = newtype;
.
method type
arg frob;
return type;
.
method process
arg [args];
.