ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/gde/GCE/ArchRef.pm
(Generate patch)

Comparing deliantra/gde/GCE/ArchRef.pm (file contents):
Revision 1.1 by elmex, Tue Apr 4 21:12:08 2006 UTC vs.
Revision 1.2 by elmex, Mon Aug 28 18:24:49 2006 UTC

76 push @{$self->{arch}->{inventory}}, dclone (getarch $arch); 76 push @{$self->{arch}->{inventory}}, dclone (getarch $arch);
77 77
78 $self->{cb}->($self) 78 $self->{cb}->($self)
79 if defined $self->{cb}; 79 if defined $self->{cb};
80 80
81 $self->exec_change_cbs; 81 $self->exec_change_cbs (qw/inventory/);
82} 82}
83 83
84sub swap_inv { 84sub swap_inv {
85 my ($self, $swapidx, $ownidx) = @_; 85 my ($self, $swapidx, $ownidx) = @_;
86 my $inv = $self->getarch->{inventory}; 86 my $inv = $self->getarch->{inventory};
89 = ($inv->[$ownidx], $inv->[$swapidx]); 89 = ($inv->[$ownidx], $inv->[$swapidx]);
90 90
91 $self->{cb}->($self) 91 $self->{cb}->($self)
92 if defined $self->{cb}; 92 if defined $self->{cb};
93 93
94 $self->exec_change_cbs; 94 $self->exec_change_cbs (qw/inventory/);
95} 95}
96 96
97sub get_inv_refs { 97sub get_inv_refs {
98 my ($self) = @_; 98 my ($self) = @_;
99 99
100 my $cb = sub { 100 my $cb = sub {
101 $self->{cb}->($self) 101 $self->{cb}->($self)
102 if defined $self->{cb}; 102 if defined $self->{cb};
103 103
104 $self->exec_change_cbs; 104 $self->exec_change_cbs (qw/inventory/);
105 }; 105 };
106 106
107 [ map { GCE::ArchRef->new (arch => $_, cb => $cb) } @{$self->get ('inventory') || []} ] 107 [ map { GCE::ArchRef->new (arch => $_, cb => $cb) } @{$self->get ('inventory') || []} ]
108} 108}
109 109
112 splice @{$self->getarch->{'inventory'}}, $idx, 1, $new; 112 splice @{$self->getarch->{'inventory'}}, $idx, 1, $new;
113 113
114 $self->{cb}->($self) 114 $self->{cb}->($self)
115 if defined $self->{cb}; 115 if defined $self->{cb};
116 116
117 $self->exec_change_cbs; 117 $self->exec_change_cbs (qw/inventory/);
118} 118}
119 119
120sub remove_inv { 120sub remove_inv {
121 my ($self, $idx) = @_; 121 my ($self, $idx) = @_;
122 splice @{$self->getarch->{'inventory'}}, $idx, 1; 122 splice @{$self->getarch->{'inventory'}}, $idx, 1;
123 123
124 $self->{cb}->($self) 124 $self->{cb}->($self)
125 if defined $self->{cb}; 125 if defined $self->{cb};
126 126
127 $self->exec_change_cbs; 127 $self->exec_change_cbs (qw/inventory/);
128} 128}
129 129
130sub reset_to_defaults { 130sub reset_to_defaults {
131 my ($self) = @_; 131 my ($self) = @_;
132 132
185 185
186sub set { 186sub set {
187 my ($self, $key, $value) = @_; 187 my ($self, $key, $value) = @_;
188 $self->set_silent ($key, $value); 188 $self->set_silent ($key, $value);
189 189
190 $self->exec_change_cbs; 190 $self->exec_change_cbs ($key);
191} 191}
192 192
193sub remove_on_change { 193sub remove_on_change {
194 my ($self, $key) = @_; 194 my ($self, $key) = @_;
195 delete $self->{change_cbs}->{$key}; 195 delete $self->{change_cbs}->{$key};

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines