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.



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

def debug
  @debug
end

.stopObject (readonly)

Returns the value of attribute stop.



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

def stop
  @stop
end

Instance Attribute Details

#windowObject (readonly)

Returns the value of attribute window.



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

def window
  @window
end

Class Method Details

.debug_off!Object



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

def debug_off!
  @debug = false
end

.debug_on!Object



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

def debug_on!
  @debug = true
end

.prepended(klass) ⇒ Object



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

def prepended(klass)
  klass.include Singleton

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

.stop!Object



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

def stop!
  @stop = true
end

Instance Method Details

#initializeObject



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

def initialize
  sdl_init
  super
end

#runObject



47
48
49
50
51
# File 'lib/hemi/engine.rb', line 47

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

#sdl_initObject



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

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