Games-Construder
view release on metacpan or search on metacpan
lib/Games/Construder/Client/Frontend.pm view on Meta::CPAN
198199200201202203204205206207208209210211212213214215216217218
glViewport (0, 0,
$WIDTH
,
$HEIGHT
);
}
sub
fog {
my
(
$self
) =
@_
;
$self
->{res}->{config}->{fog} eq
''
?
$FOG_DEFAULT
:
$self
->{res}->{config}->{fog}
}
sub
update_fog {
my
(
$self
) =
@_
;
my
$fog
=
$FOGS
{
$self
->fog ()} ||
$FOGS
{
$FOG_DEFAULT
};
glClearColor (
@$fog
);
glFogfv_p (GL_FOG_COLOR,
@$fog
);
}
# 0 front 1 top 2 back 3 left 4 right 5 bottom
my
@indices
= (
qw/ 0 1 2 3 /
,
# 0 front
qw/ 1 5 6 2 /
,
# 1 top
lib/Games/Construder/Client/Frontend.pm view on Meta::CPAN
14331434143514361437143814391440144114421443144414451446144714481449145014511452sub
input_mouse_button : event_cb {
my
(
$self
,
$btn
,
$down
) =
@_
;
return
unless
$down
;
my
$sbp
=
$self
->{selected_box};
my
$sbbp
=
$self
->{selected_build_box};
$self
->position_action (
$sbp
,
$sbbp
,
$btn
);
}
sub
update_player_pos : event_cb {
my
(
$self
,
$pos
) =
@_
;
}
sub
visible_chunks_changed : event_cb {
my
(
$self
,
$new
,
$old
,
$req
) =
@_
;
# TODO: $req might be issued again and again with the same chunks,
# we should mabye rate limit that for more bandwidth friendly
# behaviour
}
lib/Games/Construder/Client/UI.pm view on Meta::CPAN
480481482483484485486487488489490491492493494495496497498499500
$font
eq
'big'
?
$BIG_FONT
:
$font
eq
'small'
?
$SMALL_FONT
:
$NORM_FONT
;
}
sub
fit_size_pot {
my
(
$size
) =
@_
;
my
$gls
= 1;
$gls
++
while
$size
->[0] > (2*
*$gls
) ||
$size
->[1] > (2*
*$gls
);
2*
*$gls
}
sub
update {
my
(
$self
,
$gui_desc
) =
@_
;
if
(
defined
$gui_desc
) {
delete
$self
->{key_repeat};
$self
->{desc} =
$gui_desc
;
}
my
$win
=
$self
->{desc}->{window};
$self
->{element_offset} = 0;
lib/Games/Construder/Server/Player.pm view on Meta::CPAN
401402403404405406407408409410411412413414415416417418419420421
delete
$self
->{upd_score_hl_tmout};
delete
$self
->{death_timer};
delete
$self
->{tick_timer};
ctr_log (
info
=>
"Player %s logged out"
,
$self
->{name});
#d# print Devel::FindRef::track $self;
}
my
$world_c
= 0;
sub
update_pos {
my
(
$self
,
$pos
,
$lv
) =
@_
;
if
(
$self
->{freeze_update_pos} ne
''
) {
ctr_log (
debug
=>
"update_pos thrown away, awaiting teleport confirmation!"
);
return
;
}
my
$opos
=
$self
->{data}->{
pos
};
$self
->{data}->{
pos
} =
$pos
;
my
$olv
=
$self
->{data}->{look_vec} || [0,0,0];
lib/Games/Construder/Server/Player.pm view on Meta::CPAN
569570571572573574575576577578579580581582583584585586587588589
$self
->send_client ({
cmd
=>
"chunk"
,
pos
=>
$chnk
}, \
$buf
);
$self
->{sent_chunks}->{
$id
} =
$chnk
;
delete
$self
->{to_send_chunks}->{
$id
};
}
sub
msg {
my
(
$self
,
$error
,
$msg
) =
@_
;
$self
->{uis}->{msgbox}->show (
$error
,
$msg
);
}
sub
update_score {
my
(
$self
,
$hl
) =
@_
;
$self
->{uis}->{score}->show (
$hl
);
}
sub
query {
my
(
$self
,
$pos
) =
@_
;
return
unless
@$pos
;
world_mutate_at (
$pos
,
sub
{
my
(
$data
) =
@_
;
lib/Games/Construder/Server/Player.pm view on Meta::CPAN
949950951952953954955956957958959960961962963964965966967968969
$assign
->{sel_mat} =
$left
[
$i
+ 1];
last
;
}
}
delete
$self
->{assign_ment_hl};
$self
->update_assignment_highlight;
$self
->{uis}->{assignment_time}->show;
}
sub
update_assignment_highlight {
my
(
$self
) =
@_
;
my
$assign
=
$self
->{data}->{assignment};
my
$selected
=
$assign
->{sel_mat};
if
(
$assign
->{left}->{
$selected
} <= 0) {
(
$assign
->{sel_mat}) =
grep
{
$assign
->{left}->{
$_
} > 0
}
keys
%{
$assign
->{left}};
delete
$self
->{assign_ment_hl};
}
lib/Games/Construder/Server/UI.pm view on Meta::CPAN
737475767778798081828384858687888990919293sub
hide_ui {
my
(
$self
,
$name
) =
@_
;
$self
->{pl}->{uis}->{
$name
}->hide;
}
sub
delete_ui {
my
(
$self
,
@args
) =
@_
;
$self
->{pl}->delete_ui (
@args
);
}
sub
update {
my
(
$self
,
@args
) =
@_
;
$self
->show (
@args
)
if
$self
->{shown};
}
sub
show {
my
(
$self
,
@args
) =
@_
;
my
$lyout
=
$self
->layout (
@args
);
$lyout
->{commands}->{default_keys} = {
$self
->commands };
if
(
$self
->{cmd_need_select_boxes}) {
$lyout
->{commands}->{need_selected_boxes} = 1;
( run in 1.376 second using v1.01-cache-2.11-cpan-49f99fa48dc )