Module: Hemi::Engine

Defined in:
lib/hemi/engine.rb

Class Attribute Summary collapse

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Class Attribute Details

.debugObject (readonly)

Returns the value of attribute debug.



22
23
24
# File 'lib/hemi/engine.rb', line 22

def debug
  @debug
end

Instance Attribute Details

#windowObject (readonly)

Returns the value of attribute window.



15
16
17
# File 'lib/hemi/engine.rb', line 15

def window
  @window
end

Class Method Details

.debug_off!Object



37
38
39
# File 'lib/hemi/engine.rb', line 37

def debug_off!
  @debug = false
end

.debug_on!Object



33
34
35
# File 'lib/hemi/engine.rb', line 33

def debug_on!
  @debug = true
end

.prepended(klass) ⇒ Object



24
25
26
27
28
29
30
31
# File 'lib/hemi/engine.rb', line 24

def prepended(klass)
  klass.include Singleton

  Loader.load_tree "helpers"
  Loader.load_tree "render"
  Loader.load_tree "input"
  Loader.load_tree "event"
end

Instance Method Details

#initializeObject



10
11
12
13
# File 'lib/hemi/engine.rb', line 10

def initialize
  sdl_init
  super
end

#runObject



42
43
44
45
46
# File 'lib/hemi/engine.rb', line 42

def run
  super if defined?(super)
  init_window
  start_loop
end

#sdl_initObject



17
18
19
# File 'lib/hemi/engine.rb', line 17

def sdl_init
  SDL2.init(SDL2::INIT_EVERYTHING)
end