29 lines
927 B
GDScript
29 lines
927 B
GDScript
extends "res://maps/map.gd"
|
|
|
|
|
|
const Lightning = preload("res://objects/gfx/lightning.tscn")
|
|
|
|
|
|
export var min_interval: float
|
|
export var max_interval: float
|
|
export var fade_time: float
|
|
|
|
|
|
onready var lightning_spawn: Node2D = $"%LightningSpawn"
|
|
onready var bright_sky: ColorRect = $"%BrightSky"
|
|
onready var lightning_timer: Timer = $"%LightningTimer"
|
|
onready var clouds: Sprite = $"%Clouds"
|
|
|
|
|
|
func _spawn_lightning():
|
|
var bolt = Lightning.instance()
|
|
bright_sky.modulate.a = 1.0
|
|
clouds.modulate = Color(1.2, 1.2, 1.2)
|
|
bolt.position.x = rand_range(-100.0, 100.0)
|
|
bolt.fade_time = fade_time
|
|
lightning_spawn.add_child(bolt)
|
|
var tween = create_tween()
|
|
tween.set_parallel(true)
|
|
tween.tween_property(bright_sky, "modulate:a", 0.0, fade_time).set_trans(Tween.TRANS_EXPO)
|
|
tween.tween_property(clouds, "modulate", Color.white, fade_time).set_trans(Tween.TRANS_EXPO)
|
|
lightning_timer.start(rand_range(min_interval, max_interval))
|