GAE_CA1/Assets/Theke/theke.gd

57 lines
1.6 KiB
GDScript

class_name Theke extends StaticBody2D
## FLAGS
var npc_on_counter:bool = false
var order_active:bool = false
signal set_ingrediant_list( order : Array[String] )
var produced_potion: Array[String]
var new_customer:NPC
func register_customer(customer:NPC)->void:
npc_on_counter = true
new_customer = customer
## hier ist die schnistselle zum spieler ??
func interaction_with_player(player:Player)->void:
if !npc_on_counter or new_customer == null:
print("nix zu Quatschen ")
return
if not order_active:
player_takes_order() # gebe es an game Scene
else:
player_deliverd_order(player)
## gebe die order an die game Scene um die Order UI zu aktiviren
func player_takes_order()->void:
order_active = true
set_ingrediant_list.emit(new_customer.active_order) # schike das in die game scen um es an dei gam UI weiter zu geben
func set_produced_potion(ingrediant_list:Array[String])->void:
produced_potion = ingrediant_list
func player_deliverd_order(player:Player)->void:
order_active = false
Global.add_served_customer()
if new_customer.active_order == produced_potion:
print("Richtige Portion abgegebn - speiler soll zurück laufen ")
Global.add_social_core(10) # kann man anpassen als progression
new_customer.happy_noise.play()
new_customer.walk_back() # statsu rein bringen
player.pickup_point.get_child(0).queue_free()
else:
print("Falsche Portion , kunde ist sauer ")
Global.reduce_social_core(45) # auch hier anpassen
new_customer.angry_noise.play()
new_customer.walk_back()
player.pickup_point.get_child(0).queue_free()