2021-12-12 17:04:17 +01:00
tool
extends Resource
class_name SummerDayDocument
2022-01-01 12:55:02 +01:00
signal resolution_changed ( new_resolution )
2021-12-21 21:40:04 +01:00
signal track_added ( track )
2021-12-31 17:22:58 +01:00
signal track_deleted ( track ) # Not used yet. Implement please.
2021-12-21 21:40:04 +01:00
2022-01-01 12:55:02 +01:00
export ( Vector2 ) var resolution = Vector2 ( 1920 , 1080 ) setget _set_resolution
2021-12-15 20:58:46 +01:00
export ( Array , Resource ) var tracks
2022-01-01 12:55:02 +01:00
var raw_aspect_ratio setget , _get_raw_aspect_ratio
2021-12-15 20:58:46 +01:00
2021-12-26 11:39:56 +01:00
func setup_tracks ( ) :
for track in tracks :
emit_signal ( " track_added " , track )
2021-12-19 22:26:09 +01:00
func add_track ( blueprint : SummerDayBlueprint ) :
2021-12-15 20:58:46 +01:00
var track = SummerDayTrack . new ( )
track . blueprint = blueprint
2021-12-19 22:26:09 +01:00
track . add_cell ( 0 )
2021-12-15 20:58:46 +01:00
tracks . append ( track )
2021-12-21 21:40:04 +01:00
emit_signal ( " track_added " , track )
2021-12-12 17:04:17 +01:00
2022-01-01 12:55:02 +01:00
func create_scene ( ) - > SummerDayScene :
2021-12-12 17:04:17 +01:00
var _scene = SummerDayScene . new ( )
_scene . resource_path = " res://production/test/scene_001.tres "
2022-01-01 12:55:02 +01:00
_scene . resolution = Vector2 ( 12.0 , 9.0 )
2021-12-12 17:04:17 +01:00
return _scene
2022-01-01 12:55:02 +01:00
func _set_resolution ( new_resolution ) :
var handled_resolution = Vector2 ( )
# Don't let the components drop below 0.01!
if new_resolution . x < = 0.01 :
handled_resolution . x = 0.01
else :
handled_resolution . x = new_resolution . x
if new_resolution . y < = 0.01 :
handled_resolution . y = 0.01
else :
handled_resolution . y = new_resolution . y
resolution = handled_resolution
emit_signal ( " resolution_changed " , resolution )
func _get_raw_aspect_ratio ( ) :
return resolution . x / resolution . y