update
This commit is contained in:
@@ -16,6 +16,9 @@ var lobby_stufe: OptionButton
|
||||
|
||||
# Kampagne
|
||||
var kamp_kopf: Label
|
||||
var kamp_meldung: Label
|
||||
var kamp_name: LineEdit
|
||||
var beute_row: HBoxContainer
|
||||
var karte: Control
|
||||
|
||||
# Mehrspieler
|
||||
@@ -136,8 +139,28 @@ class Seekarte extends Control:
|
||||
func _build_kampagne() -> Control:
|
||||
var box := _box(940)
|
||||
box.add_child(_text("Seekarte", 26, Color(1.0, 0.82, 0.32)))
|
||||
var kopf := HBoxContainer.new()
|
||||
kopf.add_theme_constant_override("separation", 12)
|
||||
box.add_child(kopf)
|
||||
kamp_name = LineEdit.new()
|
||||
kamp_name.placeholder_text = "Dein Name"
|
||||
kamp_name.max_length = 16
|
||||
kamp_name.custom_minimum_size = Vector2(180, 0)
|
||||
kamp_name.text_changed.connect(func(t: String) -> void:
|
||||
Kampagne.spielername = t.strip_edges() if t.strip_edges() != "" else "Spieler"
|
||||
Kampagne.speichern())
|
||||
kopf.add_child(kamp_name)
|
||||
kamp_kopf = _text("", 15, Color(0.85, 0.87, 0.92))
|
||||
box.add_child(kamp_kopf)
|
||||
kamp_kopf.size_flags_horizontal = Control.SIZE_EXPAND_FILL
|
||||
kopf.add_child(kamp_kopf)
|
||||
kamp_meldung = _text("", 13, Color(0.62, 0.64, 0.70))
|
||||
kamp_meldung.horizontal_alignment = HORIZONTAL_ALIGNMENT_LEFT
|
||||
box.add_child(kamp_meldung)
|
||||
# Beute nach einem Sieg: eine Münze für die nächste Partie.
|
||||
beute_row = HBoxContainer.new()
|
||||
beute_row.add_theme_constant_override("separation", 6)
|
||||
beute_row.alignment = BoxContainer.ALIGNMENT_CENTER
|
||||
box.add_child(beute_row)
|
||||
karte = Seekarte.new()
|
||||
karte.custom_minimum_size = Vector2(920, 440)
|
||||
box.add_child(karte)
|
||||
@@ -153,8 +176,32 @@ func _build_kampagne() -> Control:
|
||||
|
||||
|
||||
func _karte_fuellen() -> void:
|
||||
kamp_kopf.text = "Du: %s, Wertung %d · %d Partien, %d Siege" % [
|
||||
Kampagne.mein_rang(), int(round(Kampagne.elo)), Kampagne.partien, Kampagne.siege]
|
||||
if kamp_name.text != Kampagne.spielername:
|
||||
kamp_name.text = Kampagne.spielername
|
||||
kamp_kopf.text = "%s, Wertung %d · %d Partien, %d Siege%s" % [
|
||||
Kampagne.mein_rang(), int(round(Kampagne.elo)), Kampagne.partien, Kampagne.siege,
|
||||
" · KAMPAGNE GEWONNEN" if Kampagne.gewonnen else ""]
|
||||
kamp_meldung.text = "\n".join(Kampagne.meldungen) if not Kampagne.meldungen.is_empty() \
|
||||
else "Wähle einen Hafen. Geschlagene Kapitäne kommen stärker zurück."
|
||||
for c in beute_row.get_children():
|
||||
beute_row.remove_child(c)
|
||||
c.queue_free()
|
||||
if Kampagne.beute_offen:
|
||||
beute_row.add_child(_text("Beute für die nächste Partie:", 14, Color(1.0, 0.82, 0.32)))
|
||||
for b in BoosterDB.ALL:
|
||||
var btn := Button.new()
|
||||
btn.text = String(b.name)
|
||||
btn.tooltip_text = String(b.desc)
|
||||
btn.toggle_mode = true
|
||||
btn.button_pressed = Kampagne.beute == String(b.id)
|
||||
btn.pressed.connect(func() -> void:
|
||||
Kampagne.beute = String(b.id)
|
||||
Kampagne.speichern()
|
||||
_karte_fuellen())
|
||||
beute_row.add_child(btn)
|
||||
elif Kampagne.beute != "":
|
||||
beute_row.add_child(_text("Beute an Bord: %s" % BoosterDB.get_booster(Kampagne.beute).name, 14,
|
||||
Color(1.0, 0.82, 0.32)))
|
||||
for c in karte.get_children():
|
||||
if c is Button:
|
||||
karte.remove_child(c)
|
||||
@@ -168,11 +215,13 @@ func _karte_fuellen() -> void:
|
||||
b.text = "%s\nauf See · zurück in %d" % [k.name, weg]
|
||||
b.disabled = true
|
||||
else:
|
||||
b.text = "%s\n%s · %d" % [k.name, ["leicht", "normal", "schwer"][int(k.stufe)], int(round(k.elo))]
|
||||
b.text = "%s · %s\n%s · %d · Chance %d %%" % [k.name, k.wesen,
|
||||
["leicht", "normal", "schwer"][int(k.stufe)], int(round(k.elo)),
|
||||
int(round(Kampagne.siegchance(k) * 100.0))]
|
||||
b.pressed.connect(_on_kapitaen.bind(String(k.name)))
|
||||
b.custom_minimum_size = Vector2(170, 52)
|
||||
b.custom_minimum_size = Vector2(190, 52)
|
||||
var p: Vector2 = k.pos
|
||||
b.position = Vector2(p.x * groesse.x - 85, p.y * groesse.y + 4)
|
||||
b.position = Vector2(p.x * groesse.x - 95, p.y * groesse.y + 4)
|
||||
karte.add_child(b)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user