38 lines
861 B
GDScript
38 lines
861 B
GDScript
extends Node2D
|
|
|
|
var sprite_scene = preload("res://mini-game/scenes/decor/ForegroundSprite.tscn")
|
|
|
|
var textures := []
|
|
var moving := false
|
|
|
|
func _ready():
|
|
textures.append($ForegroundSprite)
|
|
stop()
|
|
|
|
|
|
func stop():
|
|
moving = false
|
|
for t in textures:
|
|
t.stop()
|
|
|
|
|
|
func start():
|
|
moving = true
|
|
for t in textures:
|
|
t.start()
|
|
|
|
|
|
func _on_ForegroundSprite_viewport_entered(object: Sprite) -> void:
|
|
var new_sprite = sprite_scene.instance()
|
|
new_sprite.position = Vector2(1920, 0)
|
|
new_sprite.connect("viewport_entered", self, "_on_ForegroundSprite_viewport_entered")
|
|
new_sprite.connect("viewport_exited", self, "_on_ForegroundSprite_viewport_exited")
|
|
if moving:
|
|
new_sprite.start()
|
|
add_child(new_sprite)
|
|
textures.append(new_sprite)
|
|
|
|
|
|
func _on_ForegroundSprite_viewport_exited(object: Sprite) -> void:
|
|
textures.remove(textures.find(object))
|
|
object.queue_free()
|