update
This commit is contained in:
@@ -5,6 +5,7 @@ signal bid_pressed(count: int, face: int)
|
||||
signal challenge_pressed
|
||||
signal exact_pressed
|
||||
signal rematch_pressed
|
||||
signal karte_pressed
|
||||
signal booster_chosen(id: String, target: int)
|
||||
signal quit_pressed
|
||||
signal pause_changed(paused: bool)
|
||||
@@ -54,6 +55,7 @@ var pause_slot: Control
|
||||
var over_slot: Control
|
||||
var over_title: Label
|
||||
var over_again: Button
|
||||
var over_karte: Button
|
||||
var pause_hint: Label
|
||||
var boost_panel: PanelContainer
|
||||
var boost_cards: HBoxContainer
|
||||
@@ -178,9 +180,12 @@ func _build() -> void:
|
||||
|
||||
# --- Letzte Wette in der Tischmitte, als so viele Würfel wie angesagt
|
||||
var bid_slot := _slot(0, 0, 1, 1, 0, 0, 0, 0)
|
||||
var bid_panel := _panel(Color(0.05, 0.06, 0.09, 0.55))
|
||||
bid_panel.mouse_filter = Control.MOUSE_FILTER_IGNORE
|
||||
bid_slot.add_child(bid_panel)
|
||||
bid_box = VBoxContainer.new()
|
||||
bid_box.add_theme_constant_override("separation", 8)
|
||||
bid_slot.add_child(bid_box)
|
||||
bid_panel.add_child(bid_box)
|
||||
bid_name = _label("", 21, ACCENT)
|
||||
bid_name.horizontal_alignment = HORIZONTAL_ALIGNMENT_CENTER
|
||||
# Auf die freie Mitte begrenzen, sonst läuft der Text über die Nachbarplätze.
|
||||
@@ -205,11 +210,14 @@ func _build() -> void:
|
||||
root.add_child(banner_label)
|
||||
|
||||
# --- Wer ist dran: direkt über der Ansageleiste, wo der Blick ohnehin liegt
|
||||
# Im eigenen Feld: auf der hellen Platte wäre gelbe Schrift unlesbar.
|
||||
var tp := _panel(Color(0.05, 0.06, 0.09, 0.85))
|
||||
tp.mouse_filter = Control.MOUSE_FILTER_IGNORE
|
||||
_slot(0, 1, 1, 1, 16, -152, -16, -114).add_child(tp)
|
||||
turn_label = _label("", 19, ACCENT)
|
||||
turn_label.horizontal_alignment = HORIZONTAL_ALIGNMENT_CENTER
|
||||
turn_label.mouse_filter = Control.MOUSE_FILTER_IGNORE
|
||||
_place(turn_label, 0, 1, 1, 1, 16, -146, -16, -114)
|
||||
root.add_child(turn_label)
|
||||
tp.add_child(turn_label)
|
||||
|
||||
# --- Ansage: kompakte Leiste unten in der Mitte
|
||||
action_panel = _panel()
|
||||
@@ -312,10 +320,12 @@ func _build() -> void:
|
||||
# den Tisch; hier steht nur, wer was geworfen hat und wie es fiel.
|
||||
wurf_slot = _slot(0, 0, 0, 0, 16, 100, 336, 200)
|
||||
wurf_slot.visible = false
|
||||
var wp := _panel()
|
||||
wurf_slot.add_child(wp)
|
||||
wurf_label = _label("", 16, ACCENT)
|
||||
wurf_label.horizontal_alignment = HORIZONTAL_ALIGNMENT_CENTER
|
||||
wurf_label.mouse_filter = Control.MOUSE_FILTER_IGNORE
|
||||
wurf_slot.add_child(wurf_label)
|
||||
wp.add_child(wurf_label)
|
||||
|
||||
# --- Protokoll unten rechts: was der Topf tut, wer geht, wer zurückkommt.
|
||||
var lp := _panel()
|
||||
@@ -427,6 +437,12 @@ func _build() -> void:
|
||||
over_again.custom_minimum_size = Vector2(0, 42)
|
||||
over_again.pressed.connect(func() -> void: rematch_pressed.emit())
|
||||
ov.add_child(over_again)
|
||||
over_karte = Button.new()
|
||||
over_karte.text = "Zur Seekarte"
|
||||
over_karte.custom_minimum_size = Vector2(0, 42)
|
||||
over_karte.pressed.connect(func() -> void: karte_pressed.emit())
|
||||
over_karte.visible = false
|
||||
ov.add_child(over_karte)
|
||||
var menue := Button.new()
|
||||
menue.text = "Zum Menü"
|
||||
menue.custom_minimum_size = Vector2(0, 42)
|
||||
@@ -621,6 +637,10 @@ func update_state(st: Dictionary, my_seat: int) -> void:
|
||||
banner_label.text = "" if st.phase == "over" else st.banner
|
||||
if st.phase == "over" and not over_slot.visible:
|
||||
over_title.text = String(st.banner)
|
||||
# Kampagne: Wertung und Rang statt nur des Siegers.
|
||||
if Kampagne.kampagnenpartie and Kampagne.letztes != "":
|
||||
over_title.text = String(st.banner) + "\n" + Kampagne.letztes
|
||||
over_karte.visible = Kampagne.kampagnenpartie
|
||||
# Nochmal: solo immer, im Netz nur für den Raumbesitzer - der Server
|
||||
# setzt den Raum dann für alle neu auf.
|
||||
over_again.visible = Net.room_code == Net.SOLO or Net.is_owner
|
||||
|
||||
Reference in New Issue
Block a user