#! perl use base "cf::path"; __PACKAGE__->register ("random"); sub init { my ($self) = @_; Coro::AIO::aio_load "$cf::RANDOM_MAPS/$self->{path}.meta", my $data; $self->{random} = cf::from_json $data; } sub visible_name { my ($self) = @_; # if (my $rmp = $self->{random}) { # # todo: be more intelligent about this # "?random/$rmp->{origin_map}+$rmp->{origin_x}+$rmp->{origin_y}/$rmp->{dungeon_level}" # } else { $self->as_string # } } sub save_path { my ($self) = @_; sprintf "%s/%s", $RANDOM_MAPS, $self->{path} } sub uniq_path { undef } sub load_orig { my ($self) = @_; cf::map::generate_random_map "$self", $self->{random} } 1