… | |
… | |
336 | } elsif ($ev->{button} == 1) { |
336 | } elsif ($ev->{button} == 1) { |
337 | $::CONN->send ("examine $self->{tag}"); |
337 | $::CONN->send ("examine $self->{tag}"); |
338 | } elsif ($ev->{button} == 2) { |
338 | } elsif ($ev->{button} == 2) { |
339 | $::CONN->send ("apply $self->{tag}"); |
339 | $::CONN->send ("apply $self->{tag}"); |
340 | } elsif ($ev->{button} == 3) { |
340 | } elsif ($ev->{button} == 3) { |
|
|
341 | my $move_prefix = $::CONN->{open_container} ? 'put' : 'drop'; |
|
|
342 | if ($self->{container} == $::CONN->{open_container}) { |
|
|
343 | $move_prefix = "take"; |
|
|
344 | } |
|
|
345 | |
341 | my @menu_items = ( |
346 | my @menu_items = ( |
342 | ["examine", sub { $::CONN->send ("examine $self->{tag}") }], |
347 | ["examine", sub { $::CONN->send ("examine $self->{tag}") }], |
343 | ["mark", sub { $::CONN->send ("mark ". pack "N", $self->{tag}) }], |
348 | ["mark", sub { $::CONN->send ("mark ". pack "N", $self->{tag}) }], |
344 | ["ignite/thaw", # first try of an easier use of flint&steel |
349 | ["ignite/thaw", # first try of an easier use of flint&steel |
345 | sub { |
350 | sub { |
… | |
… | |
353 | ? ( |
358 | ? ( |
354 | ["unlock", sub { $::CONN->send ("lock " . pack "CN", 0, $self->{tag}) }], |
359 | ["unlock", sub { $::CONN->send ("lock " . pack "CN", 0, $self->{tag}) }], |
355 | ) |
360 | ) |
356 | : ( |
361 | : ( |
357 | ["lock", sub { $::CONN->send ("lock " . pack "CN", 1, $self->{tag}) }], |
362 | ["lock", sub { $::CONN->send ("lock " . pack "CN", 1, $self->{tag}) }], |
358 | ["drop", sub { $::CONN->send ("move $::CONN->{open_container} $self->{tag} 0") }], |
363 | ["$move_prefix all", sub { $::CONN->send ("move $targ $self->{tag} 0") }], |
359 | ["move n", |
364 | ["$move_prefix n", |
360 | sub { |
365 | sub { |
361 | do_n_dialog (sub { $::CONN->send ("move $targ $self->{tag} $_[0]") }) |
366 | do_n_dialog (sub { $::CONN->send ("move $targ $self->{tag} $_[0]") }) |
362 | } |
367 | } |
363 | ] |
368 | ] |
364 | ) |
369 | ) |