… | |
… | |
37 | $self->update_fx_want; |
37 | $self->update_fx_want; |
38 | |
38 | |
39 | my $exp_guard = $self->addme_guard; |
39 | my $exp_guard = $self->addme_guard; |
40 | my $skl_guard = $self->addme_guard; |
40 | my $skl_guard = $self->addme_guard; |
41 | my $spl_guard = $self->addme_guard; |
41 | my $spl_guard = $self->addme_guard; |
|
|
42 | my $cmd_guard = $self->addme_guard; |
42 | $self->send_exti_req (resource => qw(exp_table skill_info spell_paths), sub { |
43 | $self->send_exti_req (resource => qw(exp_table skill_info spell_paths command_list), sub { |
43 | my ($exp, $skl, $spl) = @_; |
44 | my ($exp, $skl, $spl, $cmd) = @_; |
44 | |
45 | |
45 | $self->register_face_handler ($exp, sub { |
46 | $self->register_face_handler ($exp, sub { |
46 | my ($face) = @_; |
47 | my ($face) = @_; |
47 | |
48 | |
48 | undef $exp_guard; |
49 | undef $exp_guard; |
… | |
… | |
62 | my ($face) = @_; |
63 | my ($face) = @_; |
63 | |
64 | |
64 | undef $spl_guard; |
65 | undef $spl_guard; |
65 | my $info = $self->{json_coder}->decode (delete $face->{data}); |
66 | my $info = $self->{json_coder}->decode (delete $face->{data}); |
66 | $self->{spell_paths} = { map { (1 << $_) => $info->[$_][0] } 0 .. $#$info }; |
67 | $self->{spell_paths} = { map { (1 << $_) => $info->[$_][0] } 0 .. $#$info }; |
|
|
68 | }); |
|
|
69 | |
|
|
70 | $self->register_face_handler ($cmd, sub { |
|
|
71 | my ($face) = @_; |
|
|
72 | |
|
|
73 | undef $cmd_guard; |
|
|
74 | my $info = $self->{json_coder}->decode (delete $face->{data}); |
|
|
75 | $self->{command_list} = [ sort map @{ $_->[1] }, grep $_->[0] != 2, @$info ]; |
|
|
76 | |
67 | }); |
77 | }); |
68 | |
78 | |
69 | () |
79 | () |
70 | }); |
80 | }); |
71 | |
81 | |