Class: OIS::KeyManager
- Defined in:
- lib/shattered_ogrerb/key_manager.rb
Overview
TODO: make this a singleton(the constructor takes arguments, which makes this difficult)
Instance Method Summary collapse
-
#flush ⇒ Object
Clear out the newly pressed/released events.
-
#initialize(*args) ⇒ KeyManager
constructor
A new instance of KeyManager.
-
#key_held?(key) ⇒ Boolean
Is the key pressed or pressed from a previous frame.
-
#key_pressed(e) ⇒ Object
Called from the key listener.
-
#key_pressed?(key) ⇒ Boolean
Is key new from the last flush event?.
-
#key_released(e) ⇒ Object
Called from the key listener.
-
#key_released?(key) ⇒ Boolean
Is key not pressed new from the last flush event?.
Constructor Details
#initialize(*args) ⇒ KeyManager
Returns a new instance of KeyManager.
6 7 8 9 10 11 12 13 14 15 |
# File 'lib/shattered_ogrerb/key_manager.rb', line 6 def initialize(*args) if(args.empty?) puts "Warning: Do not initialize KeyManager via the default constructor unless you are running tests." else super(*args) end @pressed={} @held={} @released={} end |
Instance Method Details
#flush ⇒ Object
Clear out the newly pressed/released events
33 34 35 36 |
# File 'lib/shattered_ogrerb/key_manager.rb', line 33 def flush @released={} @pressed={} end |
#key_held?(key) ⇒ Boolean
Is the key pressed or pressed from a previous frame
28 29 30 |
# File 'lib/shattered_ogrerb/key_manager.rb', line 28 def key_held?(key) return @held[key] || false end |
#key_pressed(e) ⇒ Object
Called from the key listener
39 40 41 42 43 |
# File 'lib/shattered_ogrerb/key_manager.rb', line 39 def key_pressed(e) @pressed[e.key]=true @held[e.key]=true @released[e.key]=false end |
#key_pressed?(key) ⇒ Boolean
Is key new from the last flush event?
18 19 20 |
# File 'lib/shattered_ogrerb/key_manager.rb', line 18 def key_pressed?(key) return @pressed[key] || false end |
#key_released(e) ⇒ Object
Called from the key listener
46 47 48 49 50 |
# File 'lib/shattered_ogrerb/key_manager.rb', line 46 def key_released(e) @released[e.key]=true @held[e.key]=false @pressed[e.key]=false end |
#key_released?(key) ⇒ Boolean
Is key not pressed new from the last flush event?
23 24 25 |
# File 'lib/shattered_ogrerb/key_manager.rb', line 23 def key_released?(key) return @released[key] || false end |