OSDN Git Service

fix extend
[pettanr/pettanr.git] / lib / manifest / item / base.rb
1 ManifestBase.require_modules "manifest/item/", 
2   %w|boost|
3
4 module Manifest
5   module ItemModule
6     class BasePeta < ManifestBase::TypeNameArgs
7       
8       attr :boost
9       
10       def set_default
11         super
12         @args['boost'] ||= {}
13       end
14       
15       def init
16         super
17         @boost = ManifestBase.load_name_values self, @args, 'boost', Boost
18       end
19       
20       def element?
21         @parent_model_name != nil
22       end
23       
24       def boosts item, level
25         @boost.each do |name, manifest|
26           next unless manifest.level == level
27           Boost::ItemBooster.new(manifest, item).boost
28         end
29       end
30       
31       def supply_defaults item
32         @boost.each do |name, manifest|
33           manifest.supply_default item
34         end
35       end
36       
37       def model
38         ::Manifest.manifest.models[@name]
39       end
40       
41     end
42   end
43 end