Sha256: 5e0e7fc1d9b672273976c36eab07eaec8cf8ec09d6bb5ba97746e8941385a01e

Contents?: true

Size: 674 Bytes

Versions: 2

Compression:

Stored size: 674 Bytes

Contents

module OrangeZest
  # A subclass of `Gosu::Window` which overrides a variety of default methods in order to:
  # - Draw and update the main group
  # - Update and provide inputs to {OrangeZest::Input}
  class Window < Gosu::Window
    def self.current
      @@current
    end

    def initialize(*args)
      super(*args)
      raise "OrangeZest only supports one window" if defined? @@current
      @@current = self
    end

    def update
      super
      Input.update(self)
      Scheduler.update
      Group::Main.update
    end

    def draw
      super
      Group::Main.draw
    end

    def button_down(id)
      super
      Input.button_down(id)
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
orange_zest-0.2.0 lib/orange_zest/window.rb
orange_zest-0.1.0 lib/orange_zest/window.rb