Sha256: 171bd79a8a9402b6a04795d9a24198c8a2b440d5b2301edcb436e8c437a00bab

Contents?: true

Size: 1.94 KB

Versions: 12

Compression:

Stored size: 1.94 KB

Contents

module CyberarmEngine
  module Common
    def push_state(klass, options={})
      $window.push_state(klass, options)
    end

    def current_state
      $window.current_state
    end

    def previous_state
      $window.previous_state
    end

    def pop_state
      $window.pop_state
    end

    def show_cursor
      $window.show_cursor
    end

    def show_cursor=boolean
      $window.show_cursor = boolean
    end

    def draw_rect(x, y, width, height, color, z = 0)
      $window.draw_rect(x,y,width,height,color,z)
    end

    def fill(color, z = 0)
      draw_rect(0, 0, $window.width, $window.height, color, z)
    end

    def lighten(color, amount = 25)
      if defined?(color.alpha)
        return Gosu::Color.rgba(color.red+amount, color.green+amount, color.blue+amount, color.alpha)
      else
        return Gosu::Color.rgb(color.red+amount, color.green+amount, color.blue+amount)
      end
    end

    def darken(color, amount = 25)
      if defined?(color.alpha)
        return Gosu::Color.rgba(color.red-amount, color.green-amount, color.blue-amount, color.alpha)
      else
        return Gosu::Color.rgb(color.red-amount, color.green-amount, color.blue-amount)
      end
    end

    def opacity(color, ratio = 1.0)
      alpha = 255 * ratio

      return Gosu::Color.rgba(color.red, color.green, color.blue, alpha)
    end

    def get_asset(path, hash, klass)
      asset = nil
      hash.detect do |_asset, instance|
        if _asset == path
          asset = instance
          true
        end
      end

      unless asset
        instance = klass.new(path)
        hash[path] = instance
        asset = instance
      end

      return asset
    end

    def get_image(path)
      get_asset(path, Engine::IMAGES, Gosu::Image)
    end

    def get_sample(path)
      get_asset(path, Engine::SAMPLES, Gosu::Sample)
    end

    def get_song(path)
      get_asset(path, Engine::SONGS, Gosu::Song)
    end

    def window
      $window
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
cyberarm_engine-0.10.2 lib/cyberarm_engine/common.rb
cyberarm_engine-0.10.1 lib/cyberarm_engine/common.rb
cyberarm_engine-0.10.0 lib/cyberarm_engine/common.rb
cyberarm_engine-0.9.0 lib/cyberarm_engine/common.rb
cyberarm_engine-0.8.1 lib/cyberarm_engine/common.rb
cyberarm_engine-0.8.0 lib/cyberarm_engine/common.rb
cyberarm_engine-0.7.1 lib/cyberarm_engine/common.rb
cyberarm_engine-0.7.0 lib/cyberarm_engine/common.rb
cyberarm_engine-0.6.0 lib/cyberarm_engine/common.rb
cyberarm_engine-0.5.1 lib/cyberarm_engine/common.rb
cyberarm_engine-0.5.0 lib/cyberarm_engine/common.rb
cyberarm_engine-0.4.0 lib/cyberarm_engine/common.rb