Class: Gemthief::Scene

Inherits:
Object
  • Object
show all
Defined in:
lib/gemthief/scene.rb

Class Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeScene

Returns a new instance of Scene.



28
29
30
31
# File 'lib/gemthief/scene.rb', line 28

def initialize
  super
  view
end

Class Attribute Details

.view_nameObject (readonly)

Returns the value of attribute view_name.



4
5
6
# File 'lib/gemthief/scene.rb', line 4

def view_name
  @view_name
end

Class Method Details

.default_view(view = nil) ⇒ Object



5
6
7
8
9
10
11
12
13
# File 'lib/gemthief/scene.rb', line 5

def default_view(view=nil)
  return @view_name if view.nil?

  @view_name = case view
  when Class  then view.name.underscore
  when String then view
  when Symbol then view
  end
end

Instance Method Details

#viewObject



16
17
18
19
20
21
22
23
24
25
26
# File 'lib/gemthief/scene.rb', line 16

def view
  @view ||= begin
    view_name = if self.class.view_name.nil?
      self.class.name.gsub(/Scene$/, "")
    else
      self.class.view_name
    end
    view_class = view_name.to_s.camelize + "View"
    view_class.constantize.new(Gemthief.game.root_window)
  end
end