extends Node2D
@onready var light = $DirectionalLight2D
@onready var PoinLight = $PointLight2D
@onready var PoinLight2 = $PointLight2D2
@onready var day_text = $CanvasLayer/dayText
@onready var animPlayer = $CanvasLayer/AnimationPlayer
enum {
MORNING,
DAY,
EVENING,
NIGHT
}
var state = MORNING
var dayCount : int
func _ready() -> void:
light.enabled = true
dayCount = 1
set_day_text()
day_Text_fade()
func morning_state():
var tween = get_tree().create_tween()
tween.tween_property(light, "energy" , 0.2 , 20)
var tween1 = get_tree().create_tween()
tween1.tween_property(PoinLight, "energy" , 0 , 20)
var tween2 = get_tree().create_tween()
tween2.tween_property(PoinLight2, "energy" , 0 , 20)
func ening_stste():
var tween = get_tree().create_tween()
tween.tween_property(light, "energy" , 0.95 , 20)
var tween1 = get_tree().create_tween()
tween1.tween_property(PoinLight, "energy" , 1.5 , 20)
var tween2 = get_tree().create_tween()
tween2.tween_property(PoinLight2, "energy" , 1.5 , 20)
func _on_day_night_timeout() -> void:
match state:
MORNING:
morning_state()
EVENING:
ening_stste()
if state < 3 :
state += 1
else :
state = 0
dayCount +=1
set_day_text()
day_Text_fade()
func day_Text_fade():
animPlayer.play("day_Text_fade_in")
await get_tree().create_timer(3).timeout
animPlayer.play("day_Text_fade_out")
func set_day_text():
day_text.text = "DAY " + str(dayCount)
I wrote a script to count days but it doesn’t work correctly. When it’s morning it shows day1, day2 etc. But when it’s afternoon, evening, night it also shows day1