RhythmGame/scripts/NoteViewport.gd

27 lines
798 B
GDScript

extends Viewport
onready var square := $'%square'
onready var root := $'/root'
onready var base_height = 1080.0
var container_size := Vector2(1080, 1080)
var scale := Vector2(1, 1)
func set_render_scale(scale: Vector2):
self.scale = scale
size = container_size * scale
$Center.position = size * 0.5
$Center.scale = size/base_height
func update_size() -> void:
var winscale = min(root.size.x, root.size.y)/base_height
container_size = square.rect_size * winscale
set_render_scale(scale)
# Called when the node enters the scene tree for the first time.
func _ready():
Settings.connect('subsampling_changed', self, 'set_render_scale')
square.connect('item_rect_changed', self, 'update_size')
root.connect('size_changed', self, 'update_size')
scale = Settings.subsampling
update_size()