Sha256: 9ee5614ff3f0688f9178621e1337c0b6df072c22d2459e5eaeb4c6b091357e58
Contents?: true
Size: 1.09 KB
Versions: 1
Compression:
Stored size: 1.09 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::Debugging.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.3 | lib/engine/input.rb |