Class: Bestguigui::Assets
- Inherits:
-
Object
- Object
- Bestguigui::Assets
- Defined in:
- lib/bestguigui_lab/assets.rb
Overview
Charge et met en cache les assets (images, sons, modèles 3D...) pour éviter de les recharger plusieurs fois.
Class Method Summary collapse
- .font(name = Gosu.default_font_name, size: 20) ⇒ Object
- .frames(name, tile_width, tile_height) ⇒ Object
-
.gem_sound(*relative_parts) ⇒ Object
Pour un fichier livre avec le kit (lib/bestguigui_lab/...), pas avec le projet de l'utilisateur : resout par rapport a la gem, pas Dir.pwd.
- .gltf_model(name, shading: :texture, rigid: false) ⇒ Object
- .image(name) ⇒ Object
- .model(name, shading: :texture) ⇒ Object
- .resolve(name) ⇒ Object
- .song(name) ⇒ Object
- .sound(name) ⇒ Object
- .texture(name) ⇒ Object
Class Method Details
.font(name = Gosu.default_font_name, size: 20) ⇒ Object
27 28 29 30 |
# File 'lib/bestguigui_lab/assets.rb', line 27 def self.font(name = Gosu.default_font_name, size: 20) path = name == Gosu.default_font_name ? name : resolve(name) @fonts[[path, size]] end |
.frames(name, tile_width, tile_height) ⇒ Object
35 |
# File 'lib/bestguigui_lab/assets.rb', line 35 def self.frames(name, tile_width, tile_height) = @frames[[resolve(name), tile_width, tile_height]] |
.gem_sound(*relative_parts) ⇒ Object
Pour un fichier livre avec le kit (lib/bestguigui_lab/...), pas avec le projet de l'utilisateur : resout par rapport a la gem, pas Dir.pwd.
24 |
# File 'lib/bestguigui_lab/assets.rb', line 24 def self.gem_sound(*relative_parts) = @sounds[File.join(@gem_root, *relative_parts)] |
.gltf_model(name, shading: :texture, rigid: false) ⇒ Object
33 |
# File 'lib/bestguigui_lab/assets.rb', line 33 def self.gltf_model(name, shading: :texture, rigid: false) = @gltf_models[[resolve(name), shading, rigid]] |
.image(name) ⇒ Object
19 |
# File 'lib/bestguigui_lab/assets.rb', line 19 def self.image(name) = @images[resolve(name)] |
.model(name, shading: :texture) ⇒ Object
32 |
# File 'lib/bestguigui_lab/assets.rb', line 32 def self.model(name, shading: :texture) = @models[[resolve(name), shading]] |
.resolve(name) ⇒ Object
18 |
# File 'lib/bestguigui_lab/assets.rb', line 18 def self.resolve(name) = File.(name, @root) |
.song(name) ⇒ Object
25 |
# File 'lib/bestguigui_lab/assets.rb', line 25 def self.song(name) = @songs[resolve(name)] |
.sound(name) ⇒ Object
20 |
# File 'lib/bestguigui_lab/assets.rb', line 20 def self.sound(name) = @sounds[resolve(name)] |
.texture(name) ⇒ Object
34 |
# File 'lib/bestguigui_lab/assets.rb', line 34 def self.texture(name) = @textures[resolve(name)] |