Sha256: e47b3b0b27b559610099dfe362dd9f8463f7b5065bdd22e2c7d8f982c1ffd242
Contents?: true
Size: 1.08 KB
Versions: 1
Compression:
Stored size: 1.08 KB
Contents
# frozen_string_literal: true module Engine class Input def self.key?(key) keys[key] == :down || keys[key] == :held end def self.key_down?(key) keys[key] == :down end def self.key_up?(key) keys[key] == :up end def self._on_key_down(key) keys[key] = :down if key == GLFW::KEY_ESCAPE Engine.close end if key == GLFW::KEY_BACKSPACE Engine.breakpoint { binding.pry } # Engine.breakpoint { debugger } end if key == GLFW::KEY_F Engine::Window.toggle_full_screen end end def self._on_key_up(key) keys[key] = :up end def self.key_callback(key, action) if action == GLFW::PRESS _on_key_down(key) elsif action == GLFW::RELEASE _on_key_up(key) end end def self.update_key_states keys.each do |key, state| if state == :down keys[key] = :held elsif state == :up keys.delete(key) end end end private def self.keys @keys ||= {} end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
ruby_rpg-0.0.2 | lib/engine/input.rb |