diff --git a/Systems/Card.gd.uid b/Systems/Card.gd.uid new file mode 100644 index 0000000..bf07458 --- /dev/null +++ b/Systems/Card.gd.uid @@ -0,0 +1 @@ +uid://eqadab7yd0qq diff --git a/Systems/CardDisplay.gd b/Systems/CardDisplay.gd index e04501b..73bc47c 100644 --- a/Systems/CardDisplay.gd +++ b/Systems/CardDisplay.gd @@ -1,8 +1,10 @@ class_name CardDisplay extends Control -const CARD_WIDTH = 150 -const CARD_HEIGHT = 250 +# Base card dimensions +const BASE_CARD_WIDTH = 150 +const BASE_CARD_HEIGHT = 250 const CARD_MARGIN = 10 +const MAX_HAND_WIDTH_RATIO = 0.7 # Maximum portion of screen width to use for hand var cardDisplays = [] # Array of {panel: Node, card: Card} var selectedCard = null @@ -18,7 +20,7 @@ func _ready(): container = HBoxContainer.new() container.name = "Hand" container.position = Vector2(10, 500) - container.custom_minimum_size = Vector2(0, CARD_HEIGHT) + container.size_flags_horizontal = SIZE_EXPAND_FILL add_child(container) # Create a hover preview panel that will follow the mouse @@ -28,87 +30,69 @@ func _ready(): func update_hand(hand: Array): clear_cards() + + # Calculate card sizes based on hand size and screen width + var card_size = calculate_card_size(hand.size()) + for card in hand: - add_card_display(card) + add_card_display(card, card_size) -func add_card_display(card): +func calculate_card_size(hand_size: int) -> Vector2: + # Get screen dimensions + var screen_width = get_viewport_rect().size.x + var screen_height = get_viewport_rect().size.y + + var max_hand_width = screen_width * MAX_HAND_WIDTH_RATIO + var width_per_card = max_hand_width / max(hand_size, 1) + + # Ensure minimum size and preserve aspect ratio + var card_width = clamp(width_per_card - CARD_MARGIN, 80, BASE_CARD_WIDTH) + var card_height = card_width * (BASE_CARD_HEIGHT / BASE_CARD_WIDTH) + + # Ensure cards don't extend off the bottom of the screen + var max_height = screen_height * 0.4 # Use at most 40% of screen height + if card_height > max_height: + card_height = max_height + card_width = card_height * (BASE_CARD_WIDTH / BASE_CARD_HEIGHT) + + return Vector2(card_width, card_height) + +func add_card_display(card, card_size: Vector2 = Vector2(BASE_CARD_WIDTH, BASE_CARD_HEIGHT)): # Create a container for the card var cardContainer = PanelContainer.new() - cardContainer.custom_minimum_size = Vector2(CARD_WIDTH, CARD_HEIGHT) + cardContainer.custom_minimum_size = card_size # Create a stylebox for selection highlighting - # var style = StyleBoxFlat.new() - # style.bg_color = Utils.DARK_CELL - # style.corner_radius_top_left = 5 - # style.corner_radius_top_right = 5 - # style.corner_radius_bottom_left = 5 - # style.corner_radius_bottom_right = 5 - # cardContainer.add_theme_stylebox_override("panel", style) + var style = StyleBoxFlat.new() + style.bg_color = Utils.DARK_CELL + style.corner_radius_top_left = 5 + style.corner_radius_top_right = 5 + style.corner_radius_bottom_left = 5 + style.corner_radius_bottom_right = 5 + cardContainer.add_theme_stylebox_override("panel", style) - # Create a simplified card view - var vbox = VBoxContainer.new() - vbox.set_meta("card_id", card.id) - cardContainer.add_child(vbox) + # Create compact card display + var compact_card = CompactCardDisplay.new() + compact_card.set_anchors_preset(Control.PRESET_FULL_RECT) + compact_card.mouse_filter = Control.MOUSE_FILTER_PASS - # Card name - var nameLabel = Label.new() - nameLabel.text = card.cardName - nameLabel.horizontal_alignment = HORIZONTAL_ALIGNMENT_CENTER - nameLabel.add_theme_font_size_override("font_size", 16) - vbox.add_child(nameLabel) - - # Card rank with color - var rankLabel = Label.new() - rankLabel.text = "Rank " + str(card.rank) - rankLabel.horizontal_alignment = HORIZONTAL_ALIGNMENT_CENTER - - # Apply color based on rank - match card.rank: - Card.Rank.RANK_0: - rankLabel.add_theme_color_override("font_color", Color(0.9, 0.1, 0.1, 1.0)) # Red - Card.Rank.RANK_1: - rankLabel.add_theme_color_override("font_color", Color(0.9, 0.6, 0.1, 1.0)) # Orange - Card.Rank.RANK_2: - rankLabel.add_theme_color_override("font_color", Color(0.1, 0.7, 0.1, 1.0)) # Green - Card.Rank.RANK_3: - rankLabel.add_theme_color_override("font_color", Color(0.1, 0.7, 0.9, 1.0)) # Blue - - vbox.add_child(rankLabel) - - # Card description (truncated) - var descLabel = Label.new() - descLabel.text = card.description - if descLabel.text.length() > 50: - descLabel.text = descLabel.text.substr(0, 50) + "..." - descLabel.autowrap_mode = TextServer.AUTOWRAP_WORD - descLabel.horizontal_alignment = HORIZONTAL_ALIGNMENT_CENTER - descLabel.custom_minimum_size = Vector2(CARD_WIDTH - 20, 0) - vbox.add_child(descLabel) - - # Unit whitelist - var unitLabel = Label.new() - if card.unitWhitelist.is_empty(): - unitLabel.text = "Any piece" - else: - unitLabel.text = ", ".join(card.unitWhitelist) - unitLabel.autowrap_mode = TextServer.AUTOWRAP_WORD - unitLabel.horizontal_alignment = HORIZONTAL_ALIGNMENT_CENTER - unitLabel.custom_minimum_size = Vector2(CARD_WIDTH - 20, 0) - vbox.add_child(unitLabel) + # Add to container + cardContainer.add_child(compact_card) + compact_card.set_card(card) # Connect signals cardContainer.gui_input.connect(func(event): _on_card_clicked(event, card)) - - # Connect hover signals for preview cardContainer.mouse_entered.connect(func(): _on_card_mouse_entered(card)) cardContainer.mouse_exited.connect(func(): _on_card_mouse_exited()) + # Add to hand container + container.add_child(cardContainer) + # Add to display list cardDisplays.append({ "panel": cardContainer, "card": card }) - container.add_child(cardContainer) func _on_card_clicked(event: InputEvent, card: Card): if event is InputEventMouseButton and event.pressed: @@ -121,6 +105,7 @@ func _on_card_clicked(event: InputEvent, card: Card): func _on_card_mouse_entered(card: Card): # Show card preview when hovering + print("_on_card_mouse_entered") currently_hovered_card = card hoveredPreview.preview_card(card) hoveredPreview.visible = true @@ -159,19 +144,17 @@ func _process(delta): func highlight_selectedCard(selected: Card) -> void: for card_data in cardDisplays: var panel = card_data.panel - var style = StyleBoxFlat.new() - style.bg_color = Utils.DARK_CELL # Default color - - # Style corners - style.corner_radius_top_left = 5 - style.corner_radius_top_right = 5 - style.corner_radius_bottom_left = 5 - style.corner_radius_bottom_right = 5 + var compact_card = panel.get_child(0) as CompactCardDisplay if selected && card_data.card.id == selected.id: - style.bg_color = Color(0.4, 0.6, 0.4, 1) # Selected color - panel.add_theme_stylebox_override("panel", style) + # Apply highlighting to the CompactCardDisplay + if compact_card: + compact_card.set_selected(true) + else: + # Reset highlighting + if compact_card: + compact_card.set_selected(false) func get_card_by_uuid(uuid: String) -> Card: for card_data in cardDisplays: @@ -186,4 +169,4 @@ func clear_cards(): for card_data in cardDisplays: card_data.panel.queue_free() cardDisplays.clear() - selectedCard = null \ No newline at end of file + selectedCard = null diff --git a/Systems/CardDisplay.gd.uid b/Systems/CardDisplay.gd.uid new file mode 100644 index 0000000..a27eb42 --- /dev/null +++ b/Systems/CardDisplay.gd.uid @@ -0,0 +1 @@ +uid://dgsj76xih6r3y diff --git a/Systems/CardPreview.gd.uid b/Systems/CardPreview.gd.uid new file mode 100644 index 0000000..f829d8c --- /dev/null +++ b/Systems/CardPreview.gd.uid @@ -0,0 +1 @@ +uid://p4ahefeutov0 diff --git a/Systems/CardPreviewPanel.gd b/Systems/CardPreviewPanel.gd index 002e2da..f5191bc 100644 --- a/Systems/CardPreviewPanel.gd +++ b/Systems/CardPreviewPanel.gd @@ -33,7 +33,8 @@ func preview_card(card: Card): if !card: hide_preview() return - + # if !is_inside_tree(): + # await ready # Update all card information card_name_label.text = card.cardName diff --git a/Systems/CardPreviewPanel.gd.uid b/Systems/CardPreviewPanel.gd.uid new file mode 100644 index 0000000..2a9ae94 --- /dev/null +++ b/Systems/CardPreviewPanel.gd.uid @@ -0,0 +1 @@ +uid://2xcreiq6lhe2 diff --git a/Systems/Cards/CardBankItem.gd.uid b/Systems/Cards/CardBankItem.gd.uid new file mode 100644 index 0000000..135066c --- /dev/null +++ b/Systems/Cards/CardBankItem.gd.uid @@ -0,0 +1 @@ +uid://b1d17jfxagdc7 diff --git a/Systems/Cards/CardSlot.gd.uid b/Systems/Cards/CardSlot.gd.uid new file mode 100644 index 0000000..2e71ce8 --- /dev/null +++ b/Systems/Cards/CardSlot.gd.uid @@ -0,0 +1 @@ +uid://b5888fqblsco5 diff --git a/Systems/Cards/Doubletime.gd.uid b/Systems/Cards/Doubletime.gd.uid new file mode 100644 index 0000000..6719409 --- /dev/null +++ b/Systems/Cards/Doubletime.gd.uid @@ -0,0 +1 @@ +uid://o16wgudelf8x diff --git a/Systems/Cards/Drunkdriving.gd.uid b/Systems/Cards/Drunkdriving.gd.uid new file mode 100644 index 0000000..6e61772 --- /dev/null +++ b/Systems/Cards/Drunkdriving.gd.uid @@ -0,0 +1 @@ +uid://bayyvtfwpshsh diff --git a/Systems/Cards/Explosiveboots.gd.uid b/Systems/Cards/Explosiveboots.gd.uid new file mode 100644 index 0000000..08f81b8 --- /dev/null +++ b/Systems/Cards/Explosiveboots.gd.uid @@ -0,0 +1 @@ +uid://64bdg86r6t4o diff --git a/Systems/Cards/FieryCape.gd.uid b/Systems/Cards/FieryCape.gd.uid new file mode 100644 index 0000000..06b4668 --- /dev/null +++ b/Systems/Cards/FieryCape.gd.uid @@ -0,0 +1 @@ +uid://cpgq5itsb2l8j diff --git a/Systems/Cards/Fierytrail.gd.uid b/Systems/Cards/Fierytrail.gd.uid new file mode 100644 index 0000000..abcc159 --- /dev/null +++ b/Systems/Cards/Fierytrail.gd.uid @@ -0,0 +1 @@ +uid://ca4j0d6hrcm4x diff --git a/Systems/Cards/Hopscotch.gd.uid b/Systems/Cards/Hopscotch.gd.uid new file mode 100644 index 0000000..e8cfb26 --- /dev/null +++ b/Systems/Cards/Hopscotch.gd.uid @@ -0,0 +1 @@ +uid://5w8amumsdpto diff --git a/Systems/Cards/Supernova.gd.uid b/Systems/Cards/Supernova.gd.uid new file mode 100644 index 0000000..1aa30b7 --- /dev/null +++ b/Systems/Cards/Supernova.gd.uid @@ -0,0 +1 @@ +uid://cvldhayf5ket0 diff --git a/Systems/CompactCardDisplay.gd b/Systems/CompactCardDisplay.gd new file mode 100644 index 0000000..e796d0c --- /dev/null +++ b/Systems/CompactCardDisplay.gd @@ -0,0 +1,109 @@ +extends Panel +class_name CompactCardDisplay + +# Node references (will be created programmatically) +var card_name_label: Label +var rank_label: Label +var description_label: Label +var effect_type_label: Label + +# Card rank colors (same as other card components) +var rank_colors = { + Card.Rank.RANK_0: Color(0.9, 0.1, 0.1, 1.0), # Red + Card.Rank.RANK_1: Color(0.9, 0.6, 0.1, 1.0), # Orange + Card.Rank.RANK_2: Color(0.1, 0.7, 0.1, 1.0), # Green + Card.Rank.RANK_3: Color(0.1, 0.7, 0.9, 1.0) # Blue +} + +# Effect type descriptions +var effect_type_names = { + Card.EffectType.MOVEMENT_MODIFIER: "Movement Modifier", + Card.EffectType.BOARD_EFFECT: "Board Effect", + Card.EffectType.PIECE_EFFECT: "Piece Effect", + Card.EffectType.SPECIAL_ACTION: "Special Action" +} + +var current_card = null + +func _ready(): + # Create a stylish background + var style = StyleBoxFlat.new() + style.bg_color = Color(0.15, 0.15, 0.15, 1.0) + style.corner_radius_top_left = 5 + style.corner_radius_top_right = 5 + style.corner_radius_bottom_left = 5 + style.corner_radius_bottom_right = 5 + style.border_width_left = 2 + style.border_width_top = 2 + style.border_width_right = 2 + style.border_width_bottom = 2 + style.border_color = Color(0.3, 0.3, 0.3) + add_theme_stylebox_override("panel", style) + + # Create a content container + var content = VBoxContainer.new() + content.set_anchors_preset(Control.PRESET_FULL_RECT) + content.add_theme_constant_override("separation", 2) # Tight spacing + add_child(content) + + card_name_label = Label.new() + card_name_label.horizontal_alignment = HORIZONTAL_ALIGNMENT_CENTER + card_name_label.add_theme_font_size_override("font_size", 12) + card_name_label.clip_text = true # Prevent overflow + content.add_child(card_name_label) + + rank_label = Label.new() + rank_label.horizontal_alignment = HORIZONTAL_ALIGNMENT_CENTER + rank_label.add_theme_font_size_override("font_size", 10) + content.add_child(rank_label) + + # Create description label (limited to 2-3 lines) + description_label = Label.new() + description_label.horizontal_alignment = HORIZONTAL_ALIGNMENT_CENTER + description_label.add_theme_font_size_override("font_size", 9) + description_label.autowrap_mode = TextServer.AUTOWRAP_WORD + description_label.max_lines_visible = 3 + description_label.size_flags_vertical = SIZE_EXPAND_FILL + content.add_child(description_label) + + effect_type_label = Label.new() + effect_type_label.horizontal_alignment = HORIZONTAL_ALIGNMENT_CENTER + effect_type_label.add_theme_font_size_override("font_size", 8) + effect_type_label.clip_text = true + content.add_child(effect_type_label) + + +func set_selected(is_selected: bool) -> void: + var style = get_theme_stylebox("panel").duplicate() + + if is_selected: + style.bg_color = Utils.GREEN_CELL # Selected color + else: + style.bg_color = Utils.DARK_CELL + + add_theme_stylebox_override("panel", style) + +func set_card(card: Card): + if !card: + return + + if !is_inside_tree(): + await ready + + current_card = card + + card_name_label.text = card.cardName + + rank_label.text = "Rank " + str(card.rank) + if card.rank in rank_colors: + rank_label.add_theme_color_override("font_color", rank_colors[card.rank]) + var style = get_theme_stylebox("panel").duplicate() + style.border_color = rank_colors[card.rank] + add_theme_stylebox_override("panel", style) + + description_label.text = card.description + + if card.effectType in effect_type_names: + effect_type_label.text = "Effect: " + effect_type_names[card.effectType] + else: + effect_type_label.text = "Effect: Unknown" diff --git a/Systems/CompactCardDisplay.gd.uid b/Systems/CompactCardDisplay.gd.uid new file mode 100644 index 0000000..69e6cb4 --- /dev/null +++ b/Systems/CompactCardDisplay.gd.uid @@ -0,0 +1 @@ +uid://dm6uv77n0roen diff --git a/Systems/DeckManager.gd.uid b/Systems/DeckManager.gd.uid new file mode 100644 index 0000000..1474186 --- /dev/null +++ b/Systems/DeckManager.gd.uid @@ -0,0 +1 @@ +uid://bdwsolgdmo51y diff --git a/Systems/FairyStockfish/ServerManager.gd.uid b/Systems/FairyStockfish/ServerManager.gd.uid new file mode 100644 index 0000000..b3b3455 --- /dev/null +++ b/Systems/FairyStockfish/ServerManager.gd.uid @@ -0,0 +1 @@ +uid://dae6g5472sh26 diff --git a/Systems/FairyStockfish/StockfishClient.gd.uid b/Systems/FairyStockfish/StockfishClient.gd.uid new file mode 100644 index 0000000..ac23ca7 --- /dev/null +++ b/Systems/FairyStockfish/StockfishClient.gd.uid @@ -0,0 +1 @@ +uid://bnxxex87ax7hc diff --git a/Systems/Game/CameraController.gd.uid b/Systems/Game/CameraController.gd.uid new file mode 100644 index 0000000..7f7f35f --- /dev/null +++ b/Systems/Game/CameraController.gd.uid @@ -0,0 +1 @@ +uid://bdbap6f4c4d5w diff --git a/Systems/Game/ChessGame.gd b/Systems/Game/ChessGame.gd index f8008c2..a8604fc 100644 --- a/Systems/Game/ChessGame.gd +++ b/Systems/Game/ChessGame.gd @@ -251,7 +251,7 @@ func setupUI() -> void: var reset_button = Button.new() reset_button.text = "Reset View" - reset_button.size = Vector2(100, 30) + reset_button.size = Vector2(0, 30) reset_button.pressed.connect(func(): cameraController.reset_view()) var control_container = VBoxContainer.new() diff --git a/Systems/Game/ChessGame.gd.uid b/Systems/Game/ChessGame.gd.uid new file mode 100644 index 0000000..9d90f62 --- /dev/null +++ b/Systems/Game/ChessGame.gd.uid @@ -0,0 +1 @@ +uid://cbcu68o863pfp diff --git a/Systems/Game/DeckManagerScreen.gd.uid b/Systems/Game/DeckManagerScreen.gd.uid new file mode 100644 index 0000000..500ade9 --- /dev/null +++ b/Systems/Game/DeckManagerScreen.gd.uid @@ -0,0 +1 @@ +uid://vxufsih5pgeu diff --git a/Systems/Game/Game.gd.uid b/Systems/Game/Game.gd.uid new file mode 100644 index 0000000..9ad75bd --- /dev/null +++ b/Systems/Game/Game.gd.uid @@ -0,0 +1 @@ +uid://cbaoxhgtk4td8 diff --git a/Systems/Game/GameMenuButton.gd.uid b/Systems/Game/GameMenuButton.gd.uid new file mode 100644 index 0000000..3bf9a09 --- /dev/null +++ b/Systems/Game/GameMenuButton.gd.uid @@ -0,0 +1 @@ +uid://bfjmon81nckns diff --git a/Systems/Game/GameMenuScreen.gd.uid b/Systems/Game/GameMenuScreen.gd.uid new file mode 100644 index 0000000..a183a1d --- /dev/null +++ b/Systems/Game/GameMenuScreen.gd.uid @@ -0,0 +1 @@ +uid://j0m4rwr86oi6 diff --git a/Systems/Game/Menu/MenuContainer.gd.uid b/Systems/Game/Menu/MenuContainer.gd.uid new file mode 100644 index 0000000..7d65ad8 --- /dev/null +++ b/Systems/Game/Menu/MenuContainer.gd.uid @@ -0,0 +1 @@ +uid://bf5ljae05pvla diff --git a/Systems/Game/Menu/MenuOption.gd.uid b/Systems/Game/Menu/MenuOption.gd.uid new file mode 100644 index 0000000..bbcfcad --- /dev/null +++ b/Systems/Game/Menu/MenuOption.gd.uid @@ -0,0 +1 @@ +uid://dbm5dv81lbdod diff --git a/Systems/Game/Menu/MenuTextOption.gd.uid b/Systems/Game/Menu/MenuTextOption.gd.uid new file mode 100644 index 0000000..0facdf1 --- /dev/null +++ b/Systems/Game/Menu/MenuTextOption.gd.uid @@ -0,0 +1 @@ +uid://c47i2m0ll101x diff --git a/Systems/PieceContainer.gd.uid b/Systems/PieceContainer.gd.uid new file mode 100644 index 0000000..a20f506 --- /dev/null +++ b/Systems/PieceContainer.gd.uid @@ -0,0 +1 @@ +uid://btu5staehrl5k diff --git a/Systems/StateMachine/ChessGameState.gd.uid b/Systems/StateMachine/ChessGameState.gd.uid new file mode 100644 index 0000000..60fb5be --- /dev/null +++ b/Systems/StateMachine/ChessGameState.gd.uid @@ -0,0 +1 @@ +uid://bcp8cle0ptyxp diff --git a/Systems/StateMachine/Constants.gd.uid b/Systems/StateMachine/Constants.gd.uid new file mode 100644 index 0000000..cea1865 --- /dev/null +++ b/Systems/StateMachine/Constants.gd.uid @@ -0,0 +1 @@ +uid://buuc2ua0y55qu diff --git a/Systems/StateMachine/GameStates/ApplyCardEffects.gd.uid b/Systems/StateMachine/GameStates/ApplyCardEffects.gd.uid new file mode 100644 index 0000000..fc08615 --- /dev/null +++ b/Systems/StateMachine/GameStates/ApplyCardEffects.gd.uid @@ -0,0 +1 @@ +uid://dwshyvjsmtsnk diff --git a/Systems/StateMachine/GameStates/ApplyTileEffects.gd.uid b/Systems/StateMachine/GameStates/ApplyTileEffects.gd.uid new file mode 100644 index 0000000..fef5d31 --- /dev/null +++ b/Systems/StateMachine/GameStates/ApplyTileEffects.gd.uid @@ -0,0 +1 @@ +uid://c8dujt7rgmewm diff --git a/Systems/StateMachine/GameStates/AttachCards.gd.uid b/Systems/StateMachine/GameStates/AttachCards.gd.uid new file mode 100644 index 0000000..2fe2f91 --- /dev/null +++ b/Systems/StateMachine/GameStates/AttachCards.gd.uid @@ -0,0 +1 @@ +uid://ddk4pbq3qpb56 diff --git a/Systems/StateMachine/GameStates/BlackTurn.gd.uid b/Systems/StateMachine/GameStates/BlackTurn.gd.uid new file mode 100644 index 0000000..3ee5184 --- /dev/null +++ b/Systems/StateMachine/GameStates/BlackTurn.gd.uid @@ -0,0 +1 @@ +uid://c0bv30h81kpfh diff --git a/Systems/StateMachine/GameStates/CleanupPhase.gd.uid b/Systems/StateMachine/GameStates/CleanupPhase.gd.uid new file mode 100644 index 0000000..1bf5a68 --- /dev/null +++ b/Systems/StateMachine/GameStates/CleanupPhase.gd.uid @@ -0,0 +1 @@ +uid://bhsnqkwpq6j07 diff --git a/Systems/StateMachine/GameStates/DrawPhase.gd.uid b/Systems/StateMachine/GameStates/DrawPhase.gd.uid new file mode 100644 index 0000000..cef38e9 --- /dev/null +++ b/Systems/StateMachine/GameStates/DrawPhase.gd.uid @@ -0,0 +1 @@ +uid://gcstgtn6qibn diff --git a/Systems/StateMachine/GameStates/EvaluatePosition.gd.uid b/Systems/StateMachine/GameStates/EvaluatePosition.gd.uid new file mode 100644 index 0000000..40cb05b --- /dev/null +++ b/Systems/StateMachine/GameStates/EvaluatePosition.gd.uid @@ -0,0 +1 @@ +uid://x5xhlydm4sqa diff --git a/Systems/StateMachine/GameStates/HandSetup.gd.uid b/Systems/StateMachine/GameStates/HandSetup.gd.uid new file mode 100644 index 0000000..cb5d39b --- /dev/null +++ b/Systems/StateMachine/GameStates/HandSetup.gd.uid @@ -0,0 +1 @@ +uid://dilhmg6yll1b5 diff --git a/Systems/StateMachine/GameStates/Movement.gd.uid b/Systems/StateMachine/GameStates/Movement.gd.uid new file mode 100644 index 0000000..09e10e7 --- /dev/null +++ b/Systems/StateMachine/GameStates/Movement.gd.uid @@ -0,0 +1 @@ +uid://d008wm4s4f13n diff --git a/Systems/StateMachine/GameStates/PostMovePhase.gd.uid b/Systems/StateMachine/GameStates/PostMovePhase.gd.uid new file mode 100644 index 0000000..e7fe4ab --- /dev/null +++ b/Systems/StateMachine/GameStates/PostMovePhase.gd.uid @@ -0,0 +1 @@ +uid://ceygswx1lxgwa diff --git a/Systems/StateMachine/GameStates/PreMovePhase.gd.uid b/Systems/StateMachine/GameStates/PreMovePhase.gd.uid new file mode 100644 index 0000000..6b9e1b0 --- /dev/null +++ b/Systems/StateMachine/GameStates/PreMovePhase.gd.uid @@ -0,0 +1 @@ +uid://iom2mj8nkjyl diff --git a/Systems/StateMachine/GameStates/ResolvePersistentEffects.gd.uid b/Systems/StateMachine/GameStates/ResolvePersistentEffects.gd.uid new file mode 100644 index 0000000..9a1dc7c --- /dev/null +++ b/Systems/StateMachine/GameStates/ResolvePersistentEffects.gd.uid @@ -0,0 +1 @@ +uid://btjlt4t08xpkr diff --git a/Systems/StateMachine/GameStates/RoundEnd.gd.uid b/Systems/StateMachine/GameStates/RoundEnd.gd.uid new file mode 100644 index 0000000..a0be7f3 --- /dev/null +++ b/Systems/StateMachine/GameStates/RoundEnd.gd.uid @@ -0,0 +1 @@ +uid://bbcqcob12kjj8 diff --git a/Systems/StateMachine/GameStates/WhiteTurn.gd.uid b/Systems/StateMachine/GameStates/WhiteTurn.gd.uid new file mode 100644 index 0000000..5c17bb7 --- /dev/null +++ b/Systems/StateMachine/GameStates/WhiteTurn.gd.uid @@ -0,0 +1 @@ +uid://d2bfw6edgkhfa diff --git a/Systems/StateMachine/State.gd.uid b/Systems/StateMachine/State.gd.uid new file mode 100644 index 0000000..6d7fa81 --- /dev/null +++ b/Systems/StateMachine/State.gd.uid @@ -0,0 +1 @@ +uid://bdd6qti00rf0w diff --git a/Systems/StateMachine/StateMachine.gd.uid b/Systems/StateMachine/StateMachine.gd.uid new file mode 100644 index 0000000..38f3d29 --- /dev/null +++ b/Systems/StateMachine/StateMachine.gd.uid @@ -0,0 +1 @@ +uid://d374gcphjcd64 diff --git a/Systems/Tile.gd.uid b/Systems/Tile.gd.uid new file mode 100644 index 0000000..86e6df9 --- /dev/null +++ b/Systems/Tile.gd.uid @@ -0,0 +1 @@ +uid://dv51spq5jfpn diff --git a/Systems/TileManager.gd.uid b/Systems/TileManager.gd.uid new file mode 100644 index 0000000..2690f92 --- /dev/null +++ b/Systems/TileManager.gd.uid @@ -0,0 +1 @@ +uid://t0w5e5p7y02m diff --git a/Systems/Tiles/DoubleMovement.gd.uid b/Systems/Tiles/DoubleMovement.gd.uid new file mode 100644 index 0000000..a24098d --- /dev/null +++ b/Systems/Tiles/DoubleMovement.gd.uid @@ -0,0 +1 @@ +uid://ce2aqwj7tpe2g diff --git a/Systems/Tiles/DoubleWall.gd.uid b/Systems/Tiles/DoubleWall.gd.uid new file mode 100644 index 0000000..d35ad7d --- /dev/null +++ b/Systems/Tiles/DoubleWall.gd.uid @@ -0,0 +1 @@ +uid://cd7b4rmmnl64d diff --git a/Systems/Tiles/FireWall.gd.uid b/Systems/Tiles/FireWall.gd.uid new file mode 100644 index 0000000..f42ecfa --- /dev/null +++ b/Systems/Tiles/FireWall.gd.uid @@ -0,0 +1 @@ +uid://babnkyo77rhlx diff --git a/Systems/Tiles/PawnBoost.gd.uid b/Systems/Tiles/PawnBoost.gd.uid new file mode 100644 index 0000000..e4e7f98 --- /dev/null +++ b/Systems/Tiles/PawnBoost.gd.uid @@ -0,0 +1 @@ +uid://41u46uiv0kb4 diff --git a/Systems/Tiles/Portal.gd.uid b/Systems/Tiles/Portal.gd.uid new file mode 100644 index 0000000..e481209 --- /dev/null +++ b/Systems/Tiles/Portal.gd.uid @@ -0,0 +1 @@ +uid://4mx8dov6q41n diff --git a/Systems/Tiles/Wall.gd.uid b/Systems/Tiles/Wall.gd.uid new file mode 100644 index 0000000..ba6d5c0 --- /dev/null +++ b/Systems/Tiles/Wall.gd.uid @@ -0,0 +1 @@ +uid://da68m1iay1wih diff --git a/Utils/Utils.gd b/Utils/Utils.gd index 848ed07..dae9584 100644 --- a/Utils/Utils.gd +++ b/Utils/Utils.gd @@ -55,5 +55,6 @@ static func location_to_algebraic(location: String) -> String: static var LIGHT_CELL = Color(0.5, 0.5, 0.5, 1) static var DARK_CELL = Color(0.2, 0.2, 0.2, 1) +static var GREEN_CELL = Color(0.36, 0.62, 0.43, 1) static var WALL_CELL = Color(0.59, 0.29, 0.0, 1) # Brown (#964B00) static var DOUBLE_WALL = Color(0.36, 0.17, 0.0, 1) # Dark Brown (#5C2B00) \ No newline at end of file diff --git a/Utils/Utils.gd.uid b/Utils/Utils.gd.uid new file mode 100644 index 0000000..25ab347 --- /dev/null +++ b/Utils/Utils.gd.uid @@ -0,0 +1 @@ +uid://bgfb0t7eso7ug diff --git a/addons/Chess/Chess.gd.uid b/addons/Chess/Chess.gd.uid new file mode 100644 index 0000000..842cb0a --- /dev/null +++ b/addons/Chess/Chess.gd.uid @@ -0,0 +1 @@ +uid://ou3nhs1sjm3b diff --git a/addons/Chess/Scripts/Bishop.gd.uid b/addons/Chess/Scripts/Bishop.gd.uid new file mode 100644 index 0000000..4806b48 --- /dev/null +++ b/addons/Chess/Scripts/Bishop.gd.uid @@ -0,0 +1 @@ +uid://dorhpw5wn2gfd diff --git a/addons/Chess/Scripts/King.gd.uid b/addons/Chess/Scripts/King.gd.uid new file mode 100644 index 0000000..fe17e5f --- /dev/null +++ b/addons/Chess/Scripts/King.gd.uid @@ -0,0 +1 @@ +uid://cvlk3w6d4ckic diff --git a/addons/Chess/Scripts/Knight.gd.uid b/addons/Chess/Scripts/Knight.gd.uid new file mode 100644 index 0000000..a4d353c --- /dev/null +++ b/addons/Chess/Scripts/Knight.gd.uid @@ -0,0 +1 @@ +uid://b8msrnx62vyd7 diff --git a/addons/Chess/Scripts/Pawn.gd.uid b/addons/Chess/Scripts/Pawn.gd.uid new file mode 100644 index 0000000..aea9ec4 --- /dev/null +++ b/addons/Chess/Scripts/Pawn.gd.uid @@ -0,0 +1 @@ +uid://ckej5yjb55kcr diff --git a/addons/Chess/Scripts/Queen.gd.uid b/addons/Chess/Scripts/Queen.gd.uid new file mode 100644 index 0000000..9084d10 --- /dev/null +++ b/addons/Chess/Scripts/Queen.gd.uid @@ -0,0 +1 @@ +uid://b4x7tb14kjbfn diff --git a/addons/Chess/Scripts/Rook.gd.uid b/addons/Chess/Scripts/Rook.gd.uid new file mode 100644 index 0000000..dc0f871 --- /dev/null +++ b/addons/Chess/Scripts/Rook.gd.uid @@ -0,0 +1 @@ +uid://drn6iebxdrr3r diff --git a/board.tscn b/board.tscn index f17fcba..440358c 100644 --- a/board.tscn +++ b/board.tscn @@ -1,32 +1,32 @@ [gd_scene load_steps=29 format=3 uid="uid://d0qyk6v20uief"] -[ext_resource type="Script" path="res://Systems/Game/ChessGame.gd" id="1_fkb2r"] -[ext_resource type="Script" path="res://Systems/StateMachine/GameStates/WhiteTurn.gd" id="3_276ip"] -[ext_resource type="Script" path="res://Systems/StateMachine/StateMachine.gd" id="3_lw81y"] -[ext_resource type="Script" path="res://Systems/StateMachine/GameStates/BlackTurn.gd" id="4_tl1oh"] -[ext_resource type="Script" path="res://Systems/StateMachine/GameStates/HandSetup.gd" id="5_4xbce"] -[ext_resource type="Script" path="res://Systems/StateMachine/GameStates/DrawPhase.gd" id="6_xlfb1"] -[ext_resource type="Script" path="res://Systems/StateMachine/GameStates/ResolvePersistentEffects.gd" id="7_1ufry"] -[ext_resource type="Script" path="res://Systems/StateMachine/GameStates/ApplyTileEffects.gd" id="8_h8ea3"] -[ext_resource type="Script" path="res://Systems/StateMachine/GameStates/PreMovePhase.gd" id="9_vq75e"] -[ext_resource type="Script" path="res://Systems/StateMachine/GameStates/AttachCards.gd" id="10_mkypi"] -[ext_resource type="Script" path="res://Systems/StateMachine/GameStates/ApplyCardEffects.gd" id="11_fqmmt"] -[ext_resource type="Script" path="res://Systems/StateMachine/GameStates/Movement.gd" id="12_l81sw"] -[ext_resource type="Script" path="res://Systems/StateMachine/GameStates/PostMovePhase.gd" id="13_d4fiw"] -[ext_resource type="Script" path="res://Systems/StateMachine/GameStates/EvaluatePosition.gd" id="14_icem8"] -[ext_resource type="Script" path="res://Systems/StateMachine/GameStates/CleanupPhase.gd" id="15_m58r8"] -[ext_resource type="Script" path="res://Systems/StateMachine/GameStates/RoundEnd.gd" id="16_8h5do"] -[ext_resource type="Script" path="res://Systems/Game/CameraController.gd" id="17_1epdx"] -[ext_resource type="Script" path="res://Systems/Game/Menu/MenuContainer.gd" id="18_c1y73"] +[ext_resource type="Script" uid="uid://cbcu68o863pfp" path="res://Systems/Game/ChessGame.gd" id="1_fkb2r"] +[ext_resource type="Script" uid="uid://d2bfw6edgkhfa" path="res://Systems/StateMachine/GameStates/WhiteTurn.gd" id="3_276ip"] +[ext_resource type="Script" uid="uid://d374gcphjcd64" path="res://Systems/StateMachine/StateMachine.gd" id="3_lw81y"] +[ext_resource type="Script" uid="uid://c0bv30h81kpfh" path="res://Systems/StateMachine/GameStates/BlackTurn.gd" id="4_tl1oh"] +[ext_resource type="Script" uid="uid://dilhmg6yll1b5" path="res://Systems/StateMachine/GameStates/HandSetup.gd" id="5_4xbce"] +[ext_resource type="Script" uid="uid://gcstgtn6qibn" path="res://Systems/StateMachine/GameStates/DrawPhase.gd" id="6_xlfb1"] +[ext_resource type="Script" uid="uid://btjlt4t08xpkr" path="res://Systems/StateMachine/GameStates/ResolvePersistentEffects.gd" id="7_1ufry"] +[ext_resource type="Script" uid="uid://c8dujt7rgmewm" path="res://Systems/StateMachine/GameStates/ApplyTileEffects.gd" id="8_h8ea3"] +[ext_resource type="Script" uid="uid://iom2mj8nkjyl" path="res://Systems/StateMachine/GameStates/PreMovePhase.gd" id="9_vq75e"] +[ext_resource type="Script" uid="uid://ddk4pbq3qpb56" path="res://Systems/StateMachine/GameStates/AttachCards.gd" id="10_mkypi"] +[ext_resource type="Script" uid="uid://dwshyvjsmtsnk" path="res://Systems/StateMachine/GameStates/ApplyCardEffects.gd" id="11_fqmmt"] +[ext_resource type="Script" uid="uid://d008wm4s4f13n" path="res://Systems/StateMachine/GameStates/Movement.gd" id="12_l81sw"] +[ext_resource type="Script" uid="uid://ceygswx1lxgwa" path="res://Systems/StateMachine/GameStates/PostMovePhase.gd" id="13_d4fiw"] +[ext_resource type="Script" uid="uid://x5xhlydm4sqa" path="res://Systems/StateMachine/GameStates/EvaluatePosition.gd" id="14_icem8"] +[ext_resource type="Script" uid="uid://bhsnqkwpq6j07" path="res://Systems/StateMachine/GameStates/CleanupPhase.gd" id="15_m58r8"] +[ext_resource type="Script" uid="uid://bbcqcob12kjj8" path="res://Systems/StateMachine/GameStates/RoundEnd.gd" id="16_8h5do"] +[ext_resource type="Script" uid="uid://bdbap6f4c4d5w" path="res://Systems/Game/CameraController.gd" id="17_1epdx"] +[ext_resource type="Script" uid="uid://bf5ljae05pvla" path="res://Systems/Game/Menu/MenuContainer.gd" id="18_c1y73"] [ext_resource type="Texture2D" uid="uid://bn0offg4w11w4" path="res://Assets/main_menu/label_continue.png" id="18_yr4pt"] [ext_resource type="Theme" uid="uid://cuq0xndnachqb" path="res://Assets/Themes/Title.tres" id="19_enj45"] [ext_resource type="Texture2D" uid="uid://b8khh5b1iwic1" path="res://Assets/main_menu/label_options.png" id="20_necaf"] -[ext_resource type="Script" path="res://Systems/Game/Menu/MenuOption.gd" id="20_qqo7d"] +[ext_resource type="Script" uid="uid://dbm5dv81lbdod" path="res://Systems/Game/Menu/MenuOption.gd" id="20_qqo7d"] [ext_resource type="Texture2D" uid="uid://bexpni52h8527" path="res://Assets/main_menu/characters.png" id="23_vmvai"] [ext_resource type="Theme" uid="uid://btgbiqdc4kf15" path="res://Assets/Themes/SimpleMenuText.tres" id="24_4y4dr"] -[ext_resource type="Script" path="res://Systems/Game/Menu/MenuTextOption.gd" id="24_aslgu"] -[ext_resource type="Script" path="res://Systems/Game/GameMenuScreen.gd" id="26_pb4ja"] -[ext_resource type="Script" path="res://Systems/Game/GameMenuButton.gd" id="26_t2e38"] +[ext_resource type="Script" uid="uid://c47i2m0ll101x" path="res://Systems/Game/Menu/MenuTextOption.gd" id="24_aslgu"] +[ext_resource type="Script" uid="uid://j0m4rwr86oi6" path="res://Systems/Game/GameMenuScreen.gd" id="26_pb4ja"] +[ext_resource type="Script" uid="uid://bfjmon81nckns" path="res://Systems/Game/GameMenuButton.gd" id="26_t2e38"] [ext_resource type="PackedScene" uid="uid://c7uqbcxdjoais" path="res://deck_manager_screen.tscn" id="28_4nyv8"] [node name="Board" type="Control"] diff --git a/card_bank_item.tscn b/card_bank_item.tscn index 412912d..e6e77b8 100644 --- a/card_bank_item.tscn +++ b/card_bank_item.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=3 format=3 uid="uid://cqg23tpbanwv4"] -[ext_resource type="Script" path="res://Systems/Cards/CardBankItem.gd" id="1_gu47gh"] +[ext_resource type="Script" uid="uid://b1d17jfxagdc7" path="res://Systems/Cards/CardBankItem.gd" id="1_gu47gh"] [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_asdfvfa"] bg_color = Color(0.15, 0.15, 0.15, 1) diff --git a/card_preview_panel.tscn b/card_preview_panel.tscn index 3969327..50ca27a 100644 --- a/card_preview_panel.tscn +++ b/card_preview_panel.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=3 format=3 uid="uid://xxxxxxxx"] -[ext_resource type="Script" path="res://Systems/CardPreviewPanel.gd" id="1_ykslh"] +[ext_resource type="Script" uid="uid://2xcreiq6lhe2" path="res://Systems/CardPreviewPanel.gd" id="1_ykslh"] [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_ykslh"] bg_color = Color(0.08, 0.08, 0.12, 0.95) diff --git a/card_slot.tscn b/card_slot.tscn index 9f19d26..1821369 100644 --- a/card_slot.tscn +++ b/card_slot.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=3 format=3 uid="uid://b13w87rkhvwcv"] -[ext_resource type="Script" path="res://Systems/Cards/CardSlot.gd" id="1_asdwda"] +[ext_resource type="Script" uid="uid://b5888fqblsco5" path="res://Systems/Cards/CardSlot.gd" id="1_asdwda"] [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_asdawdf"] bg_color = Color(0.15, 0.15, 0.15, 1) diff --git a/deck_manager_screen.tscn b/deck_manager_screen.tscn index ea6ca6c..4bdbc74 100644 --- a/deck_manager_screen.tscn +++ b/deck_manager_screen.tscn @@ -1,8 +1,8 @@ [gd_scene load_steps=4 format=3 uid="uid://c7uqbcxdjoais"] -[ext_resource type="Script" path="res://Systems/Game/DeckManagerScreen.gd" id="1_gokg4"] +[ext_resource type="Script" uid="uid://vxufsih5pgeu" path="res://Systems/Game/DeckManagerScreen.gd" id="1_gokg4"] [ext_resource type="PackedScene" uid="uid://xxxxxxxx" path="res://card_preview_panel.tscn" id="3_abcde"] -[ext_resource type="Script" path="res://Systems/Game/GameMenuButton.gd" id="4_gokg4"] +[ext_resource type="Script" uid="uid://bfjmon81nckns" path="res://Systems/Game/GameMenuButton.gd" id="4_gokg4"] [node name="DeckManagerScreen" type="Control"] layout_mode = 3 diff --git a/export_presets.cfg b/export_presets.cfg index e84696c..af126db 100644 --- a/export_presets.cfg +++ b/export_presets.cfg @@ -10,8 +10,10 @@ export_filter="all_resources" include_filter="Assets/*" exclude_filter="build/" export_path="build/Linux/ChessBuilder.x86_64" +patches=PackedStringArray() encryption_include_filters="" encryption_exclude_filters="" +seed=0 encrypt_pck=false encrypt_directory=false script_export_mode=2 @@ -50,8 +52,10 @@ export_filter="all_resources" include_filter="Assets/*" exclude_filter="build/" export_path="build/Windows/ChessBuilder.exe" +patches=PackedStringArray() encryption_include_filters="" encryption_exclude_filters="" +seed=0 encrypt_pck=false encrypt_directory=false script_export_mode=2 @@ -115,8 +119,10 @@ export_filter="all_resources" include_filter="" exclude_filter="" export_path="" +patches=PackedStringArray() encryption_include_filters="" encryption_exclude_filters="" +seed=0 encrypt_pck=false encrypt_directory=false script_export_mode=2 @@ -137,7 +143,8 @@ application/short_version="" application/version="" application/copyright="" application/copyright_localized={} -application/min_macos_version="10.12" +application/min_macos_version_x86_64="10.12" +application/min_macos_version_arm64="11.00" application/export_angle=0 display/high_res=true application/additional_plist_content="" @@ -175,6 +182,7 @@ codesign/entitlements/app_sandbox/files_music=0 codesign/entitlements/app_sandbox/files_movies=0 codesign/entitlements/app_sandbox/files_user_selected=0 codesign/entitlements/app_sandbox/helper_executables=[] +codesign/entitlements/additional="" codesign/custom_options=PackedStringArray() notarization/notarization=0 privacy/microphone_usage_description="" @@ -352,3 +360,4 @@ open \"{temp_dir}/{exe_name}.app\" --args {cmd_args}" ssh_remote_deploy/cleanup_script="#!/usr/bin/env bash kill $(pgrep -x -f \"{temp_dir}/{exe_name}.app/Contents/MacOS/{exe_name} {cmd_args}\") rm -rf \"{temp_dir}\"" +application/min_macos_version="10.12" diff --git a/project.godot b/project.godot index 400a1f7..1db6ea9 100644 --- a/project.godot +++ b/project.godot @@ -12,7 +12,7 @@ config_version=5 config/name="Godot Chess" run/main_scene="res://board.tscn" -config/features=PackedStringArray("4.3", "Forward Plus") +config/features=PackedStringArray("4.4", "Forward Plus") config/icon="res://icon.svg" [autoload]