ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/Deliantra-Client/DC/UI.pm
(Generate patch)

Comparing deliantra/Deliantra-Client/DC/UI.pm (file contents):
Revision 1.433 by root, Wed Aug 22 21:27:13 2007 UTC vs.
Revision 1.434 by root, Wed Aug 22 21:32:09 2007 UTC

2870 2870
2871sub new { 2871sub new {
2872 my ($class, %arg) = @_; 2872 my ($class, %arg) = @_;
2873 2873
2874 my $self = $class->SUPER::new ( 2874 my $self = $class->SUPER::new (
2875 tooltip => sub {
2876 my ($self) = @_;
2877
2878 sprintf "%s points experience (level %d).\n%s points to next level %s.",
2879 ::formsep $self->{exp},
2880 $self->{lvl},
2881 ::formsep $self->{nxt}
2882 },
2875 %arg 2883 %arg
2876 ); 2884 );
2877 2885
2878 $::CONN->{on_exp_update}{$self+0} = sub { $self->set_value ($self->{value}) } 2886 $::CONN->{on_exp_update}{$self+0} = sub { $self->set_value ($self->{value}) }
2879 if $::CONN; 2887 if $::CONN;
2890 $self->SUPER::DESTROY; 2898 $self->SUPER::DESTROY;
2891} 2899}
2892 2900
2893sub set_value { 2901sub set_value {
2894 my ($self, $lvl, $exp) = @_; 2902 my ($self, $lvl, $exp) = @_;
2903
2904 $self->{lvl} = $exp;
2905 $self->{exp} = $exp;
2895 2906
2896 my $v = -1; 2907 my $v = -1;
2897 2908
2898 if ($::CONN && (my $table = $::CONN->{exp_table})) { 2909 if ($::CONN && (my $table = $::CONN->{exp_table})) {
2899 my $l0 = $table->[$lvl - 1]; 2910 my $l0 = $table->[$lvl - 1];
2900 my $l1 = $table->[$lvl]; 2911 my $l1 = $table->[$lvl];
2912
2913 $self->{nxt} = $l1;
2901 2914
2902 $v = ($exp - $l0) / ($l1 - $l0); 2915 $v = ($exp - $l0) / ($l1 - $l0);
2903 } 2916 }
2904 2917
2905 $self->SUPER::set_value ($v); 2918 $self->SUPER::set_value ($v);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines