hanafuda/Main.gd

55 lines
1.1 KiB
GDScript3
Raw Normal View History

2021-12-06 23:10:39 +01:00
extends Node
2021-12-13 23:38:36 +01:00
signal state_completed
2021-12-06 23:10:39 +01:00
2021-12-12 23:21:03 +01:00
var state_stack = []
2021-12-06 23:10:39 +01:00
2021-12-13 23:38:36 +01:00
onready var deck = $Deck
onready var tween = $Tween
2021-12-06 23:10:39 +01:00
func _ready():
2021-12-12 23:21:03 +01:00
state_stack.push_back(funcref(self, "update_game"))
state_stack.push_back(funcref(self, "update_oya"))
func _process(delta):
2021-12-13 23:38:36 +01:00
# print("Main::_process()")
2021-12-12 23:21:03 +01:00
if state_stack.empty():
return
var state = state_stack.pop_back()
2021-12-13 23:38:36 +01:00
# print(state)
2021-12-12 23:21:03 +01:00
if state == null:
return
2021-12-13 23:38:36 +01:00
state.call_func()
yield(self, "state_completed")
# state_stack.pop_back()
2021-12-06 23:10:39 +01:00
2021-12-12 23:21:03 +01:00
func update_oya():
2021-12-13 23:38:36 +01:00
var card_1 = $Deck.card($Deck.draw_card())
card_1.show()
tween.start()
tween.interpolate_property(card_1, "position",
Vector2(0, 0), Vector2(100, 100), 3,
Tween.TRANS_LINEAR, Tween.EASE_IN_OUT)
yield(tween, "tween_all_completed")
yield(tween, "tween_completed")
# var card_2 = $Deck.card($Deck.draw_card())
# card_2.show()
# tween.interpolate_property(card_2, "position",
# Vector2(0, 0), Vector2(-100, 100), 0.4,
# Tween.TRANS_LINEAR, Tween.EASE_IN_OUT)
#
# yield(tween, "tween_all_completed")
2021-12-12 23:21:03 +01:00
print("update oya")
2021-12-13 23:38:36 +01:00
emit_signal("state_completed")
2021-12-06 23:10:39 +01:00
2021-12-12 23:21:03 +01:00
func update_game():
print("update game")
2021-12-13 23:38:36 +01:00
emit_signal("state_completed")