From 3947ca0a07fdbe27a737522b366cca026a757c65 Mon Sep 17 00:00:00 2001 From: Tom Black Date: Thu, 3 Jan 2019 21:25:37 -0800 Subject: Add an assets path variable Adds `Ruby2D.assets/=`. By default, will resolve to `./assets`. If run in a macOS app bundle, will resolve to `App.app/Contents/Resources/assets`, for example. --- lib/ruby2d.rb | 79 ++++++++++++++++++++++++++++++++++++++--------------------- 1 file changed, 51 insertions(+), 28 deletions(-) (limited to 'lib/ruby2d.rb') diff --git a/lib/ruby2d.rb b/lib/ruby2d.rb index 2471888..305f065 100644 --- a/lib/ruby2d.rb +++ b/lib/ruby2d.rb @@ -1,36 +1,59 @@ # Ruby2D module and native extension loader, adds DSL -require 'ruby2d/colorize' -require 'ruby2d/exceptions' -require 'ruby2d/renderable' -require 'ruby2d/color' -require 'ruby2d/window' -require 'ruby2d/dsl' -require 'ruby2d/quad' -require 'ruby2d/line' -require 'ruby2d/circle' -require 'ruby2d/rectangle' -require 'ruby2d/square' -require 'ruby2d/triangle' -require 'ruby2d/image' -require 'ruby2d/sprite' -require 'ruby2d/font' -require 'ruby2d/text' -require 'ruby2d/sound' -require 'ruby2d/music' - -if RUBY_PLATFORM =~ /mingw/ - # When using the Windows CI AppVeyor - if ENV['APPVEYOR'] - s2d_dll_path = 'C:\msys64\usr\local\bin' - # When in a standard MinGW shell - else - s2d_dll_path = '~/../../usr/local/bin' +unless RUBY_ENGINE == 'mruby' + require 'ruby2d/colorize' + require 'ruby2d/exceptions' + require 'ruby2d/renderable' + require 'ruby2d/color' + require 'ruby2d/window' + require 'ruby2d/dsl' + require 'ruby2d/quad' + require 'ruby2d/line' + require 'ruby2d/circle' + require 'ruby2d/rectangle' + require 'ruby2d/square' + require 'ruby2d/triangle' + require 'ruby2d/image' + require 'ruby2d/sprite' + require 'ruby2d/font' + require 'ruby2d/text' + require 'ruby2d/sound' + require 'ruby2d/music' + + if RUBY_PLATFORM =~ /mingw/ + # When using the Windows CI AppVeyor + if ENV['APPVEYOR'] + s2d_dll_path = 'C:\msys64\usr\local\bin' + # When in a standard MinGW shell + else + s2d_dll_path = '~/../../usr/local/bin' + end + RubyInstaller::Runtime.add_dll_directory(File.expand_path(s2d_dll_path)) end - RubyInstaller::Runtime.add_dll_directory(File.expand_path(s2d_dll_path)) + + require 'ruby2d/ruby2d' # load native extension end -require 'ruby2d/ruby2d' # load native extension + +module Ruby2D + + @assets = nil + + class << self + def assets + unless @assets + if RUBY_ENGINE == 'mruby' + @assets = Ruby2D.ext_base_path + 'assets' + else + @assets = './assets' + end + end + @assets + end + + def assets=(path); @assets = path end + end +end include Ruby2D extend Ruby2D::DSL -- cgit v1.2.3