… | |
… | |
183 | |
183 | |
184 | $x -= CFPlus::floor $::MAP->w * 0.5; |
184 | $x -= CFPlus::floor $::MAP->w * 0.5; |
185 | $y -= CFPlus::floor $::MAP->h * 0.5; |
185 | $y -= CFPlus::floor $::MAP->h * 0.5; |
186 | |
186 | |
187 | if ($::CONN) { |
187 | if ($::CONN) { |
188 | if ($::IN_BUILD_MODE) { |
|
|
189 | $::CONN->buildat ($::IN_BUILD_MODE, $x, $y); |
|
|
190 | } else { |
|
|
191 | $::CONN->lookat ($x, $y) |
188 | $::CONN->lookat ($x, $y) |
192 | } |
|
|
193 | } |
189 | } |
194 | |
190 | |
195 | } elsif ($ev->{button} == 2) { |
191 | } elsif ($ev->{button} == 2) { |
196 | $self->grab_focus; |
192 | $self->grab_focus; |
197 | return unless $::CONN; |
193 | return unless $::CONN; |
… | |
… | |
448 | } |
444 | } |
449 | |
445 | |
450 | sub refresh_hook { |
446 | sub refresh_hook { |
451 | my ($self) = @_; |
447 | my ($self) = @_; |
452 | |
448 | |
453 | if ($::MAP) { |
449 | if ($::MAP && $::CONN) { |
454 | if (delete $self->{need_update}) { |
450 | if (delete $self->{need_update}) { |
455 | my $tilesize = $self->{ctilesize} = (int $self->{tilesize} * $::CFG->{map_scale}) || 1; |
451 | my $tilesize = $self->{ctilesize} = (int $self->{tilesize} * $::CFG->{map_scale}) || 1; |
456 | |
452 | |
457 | my $sw = $self->{sw} = 1 + CFPlus::ceil $self->{w} / $tilesize; |
453 | my $sw = $self->{sw} = 1 + CFPlus::ceil $self->{w} / $tilesize; |
458 | my $sh = $self->{sh} = 1 + CFPlus::ceil $self->{h} / $tilesize; |
454 | my $sh = $self->{sh} = 1 + CFPlus::ceil $self->{h} / $tilesize; |