Class | Limelight::Scene |
In: |
lib/limelight/scene.rb
|
Parent: | Prop |
visible | -> | visible? |
button_groups | [R] | |
cast | [R] | |
casting_director | [R] | |
production | [RW] | |
stage | [RW] | |
styles | [RW] | |
visible | [RW] |
# File lib/limelight/scene.rb, line 27 27: def initialize(options={}) 28: path = options.delete(:path) || "" 29: @root = FileLoader.for_root(path) 30: super(options) 31: @button_groups = ButtonGroupCache.new 32: @prop_index = {} 33: @cast = Module.new 34: # illuminate 35: end
Add the Prop to the index. Provides fast lookup by id.
# File lib/limelight/scene.rb, line 103 103: def index_prop(prop) 104: return if prop.id.nil? || prop.id.empty? 105: indexee = @prop_index[prop.id] 106: if indexee.nil? 107: @prop_index[prop.id] = prop 108: else 109: raise LimelightException.new("Duplicate id: #{prop.id}") if indexee != prop 110: end 111: end
Opens a FileChooser for a new Production. Loads the chosen Production.
# File lib/limelight/scene.rb, line 79 79: def open_chosen_production 80: options = { :title => "Open New Limelight Production", :description => "Limelight Production", :directory => @directory } 81: chosen_file = stage.choose_file(options) { |file| Util.is_limelight_scene?(file) || Util.is_limelight_production?(file) } 82: if chosen_file 83: @directory = File.dirname(chosen_file) 84: open_production(chosen_file) 85: end 86: end
Creates a new Producer to open the specified Production.
# File lib/limelight/scene.rb, line 90 90: def open_production(production_path) 91: Thread.new { Context.instance.studio.open(production_path) } 92: end