Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- require 'gosu'
- require 'YAML'
- require 'Platform'
- require 'Tileset'
- # TODO: Make a FontManager similar to ImageManager. I'm creating waaaay too many identical Gosu::Font objects.
- module OperationLambda
- module ImageManager
- ImagesDir = File.join(Platform::ApplicationMediaDir,'images')
- StandardDir = File.join(ImagesDir,'standard')
- LoadedTilesets = []
- StandardImages = {}
- module_function
- def load_images
- standard_defs_file = File.join(StandardDir,'standard.yaml')
- standard_defs = YAML.load_file(standard_defs_file)
- window = MainWindow.instance
- standard_defs.each do |key,file|
- path = File.join(StandardDir,file)
- StandardImages[key] = Gosu::Image.new(window,path,true)
- end
- end
- def load_tileset(set)
- if set[:cat] == :user
- dir = Platform::UserTilesetDir
- else
- dir = Platform::ApplicationTilesetDir
- end
- LoadedTilesets.push(Tileset.new(set[:dir],dir))
- end
- def tile(key)
- LoadedTilesets[0][key]
- end
- def image(key)
- return StandardImages[key] || raise("No image available for #{key} in #{StandardImages.inspect}")
- end
- end
- end
Add Comment
Please, Sign In to add comment