module Joybox class Director < CCDirectorDisplayLink attr_accessor :should_enable_retina_display alias_method :push_scene, :pushScene alias_method :pop_scene, :popScene alias_method :pop_to_root_scene, :popToRootScene alias_method :replace_scene, :replaceScene alias_method :stop_animation, :stopAnimation alias_method :start_animation, :startAnimation alias_method :purge_cached_data, :purgeCachedData Projection2D = KCCDirectorProjection2D Projection3D = KCCDirectorProjection3D def self.default_configuration { wants_full_screen_layout: true, display_stats: false, animation_interval: 1.0/60, projection: KCCDirectorProjection2D, enable_retina_display: true, delegate: nil } end def self.configure(options = {}) options = options.nil? ? default_configuration : default_configuration.merge!(options) director = Director.sharedDirector director.wantsFullScreenLayout = options[:wants_full_screen_layout] director.displayStats = options[:display_stats] director.animationInterval = options[:animation_interval] director.projection = options[:projection] director.should_enable_retina_display = options[:enable_retina_display] director.delegate = options[:delegate] end def view=(view) super enableRetinaDisplay(@should_enable_retina_display) end def << (scene) push_scene(scene) end def set_next_delta_time_zero(delta_time_zero) setNextDeltaTimeZero(delta_time_zero) end end end