update
This commit is contained in:
@@ -1,8 +1,9 @@
|
||||
class_name BattleGamepad
|
||||
extends RefCounted
|
||||
## Gamepad-Steuerung des Kampfes: Steuerkreuz bewegt einen Zeiger über Stapel, Hand, eigene Wesen
|
||||
## und Ziele (bei offener Wahl über deren Karten), A bestätigt, B bricht ab, Start beendet den
|
||||
## Zug, Y öffnet das Kartenmenü (im Gegnerzug: überspringen), X macht rückgängig.
|
||||
## und Ziele, A bestätigt, B bricht ab, Start beendet den Zug, Y öffnet das Kartenmenü (im
|
||||
## Gegnerzug: überspringen), X macht rückgängig. Verschmelzen: im Menü „Verschmelzen mit …“,
|
||||
## dann A auf dem Partner.
|
||||
|
||||
var screen # BattleScreen
|
||||
var active := false
|
||||
@@ -19,12 +20,6 @@ func button(button: int) -> void:
|
||||
active = true
|
||||
if screen.game == null:
|
||||
return
|
||||
if not screen.pick_views.is_empty() and zone != "pick":
|
||||
zone = "pick"
|
||||
index = 0
|
||||
elif screen.pick_views.is_empty() and zone == "pick":
|
||||
zone = "hand"
|
||||
index = 0
|
||||
match button:
|
||||
JOY_BUTTON_START:
|
||||
if screen.my_turn() and not screen.any_overlay():
|
||||
@@ -44,9 +39,9 @@ func button(button: int) -> void:
|
||||
if not items.is_empty() and zone in ["hand", "own"]:
|
||||
var item = items[clampi(index, 0, items.size() - 1)]
|
||||
if zone == "hand":
|
||||
screen.open_menu(item.card, Rect2(item.position, item.size))
|
||||
screen.open_menu(item.card, Rect2(item.position, item.size), true)
|
||||
else:
|
||||
screen.open_menu(item.creature, Rect2(item.slot, item.size))
|
||||
screen.open_menu(item.creature, Rect2(item.slot, item.size), true)
|
||||
JOY_BUTTON_X:
|
||||
if screen.b_undo.visible:
|
||||
screen.undo()
|
||||
@@ -82,14 +77,10 @@ func items() -> Array:
|
||||
match zone:
|
||||
"deck":
|
||||
return [screen.deck] if screen.deck.visible else []
|
||||
"pick":
|
||||
return screen.pick_views
|
||||
"hand":
|
||||
return screen.hand_views
|
||||
"own":
|
||||
if screen.fusing: # zum Verschmelzen zählt jedes eigene Wesen, nicht nur angriffsbereite
|
||||
return screen.own_views
|
||||
return screen.own_views.filter(func(v): return v.creature.can_attack())
|
||||
return screen.own_views
|
||||
"target":
|
||||
return targets
|
||||
return []
|
||||
@@ -115,9 +106,6 @@ func confirm() -> void:
|
||||
match zone:
|
||||
"deck":
|
||||
screen.on_click("deck", null)
|
||||
"pick":
|
||||
screen.do_pick(index)
|
||||
index = 0
|
||||
"hand":
|
||||
screen.on_click("hand", item.card)
|
||||
"own":
|
||||
|
||||
Reference in New Issue
Block a user