From 61a81d4d91da341a5040b7601bd9af8041f1489e Mon Sep 17 00:00:00 2001 From: Atridad Lahiji Date: Tue, 23 Dec 2025 21:39:59 -0700 Subject: [PATCH] 1.1.0 --- ios/MagicCounter.xcodeproj/project.pbxproj | 6 +- .../UserInterfaceState.xcuserstate | Bin 35859 -> 46442 bytes ios/MagicCounter/GameView.swift | 200 +++++++++++------- 3 files changed, 125 insertions(+), 81 deletions(-) diff --git a/ios/MagicCounter.xcodeproj/project.pbxproj b/ios/MagicCounter.xcodeproj/project.pbxproj index 56f8d87..e53cce8 100644 --- a/ios/MagicCounter.xcodeproj/project.pbxproj +++ b/ios/MagicCounter.xcodeproj/project.pbxproj @@ -411,11 +411,12 @@ ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = NO; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 3; + CURRENT_PROJECT_VERSION = 4; DEVELOPMENT_TEAM = 4BC9Y2LL4B; ENABLE_PREVIEWS = YES; GENERATE_INFOPLIST_FILE = YES; INFOPLIST_KEY_CFBundleDisplayName = MagicCounter; + INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.games"; INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES; INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; INFOPLIST_KEY_UILaunchScreen_Generation = YES; @@ -446,11 +447,12 @@ ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = NO; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 3; + CURRENT_PROJECT_VERSION = 4; DEVELOPMENT_TEAM = 4BC9Y2LL4B; ENABLE_PREVIEWS = YES; GENERATE_INFOPLIST_FILE = YES; INFOPLIST_KEY_CFBundleDisplayName = MagicCounter; + INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.games"; INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES; INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; INFOPLIST_KEY_UILaunchScreen_Generation = YES; diff --git a/ios/MagicCounter.xcodeproj/project.xcworkspace/xcuserdata/atridad.xcuserdatad/UserInterfaceState.xcuserstate b/ios/MagicCounter.xcodeproj/project.xcworkspace/xcuserdata/atridad.xcuserdatad/UserInterfaceState.xcuserstate index 542a70277dbca3ce83eca453e59d87576f417a50..96a97bfd713e17a12d45442dfdb3675a1f1e971b 100644 GIT binary patch literal 46442 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�Ny9BMulMJ=Mfrq~pR;!->cq>?BF1yL|%r4TBGDxiv}QmUM)psFa6q9~g3 zQq5EgwVL{#YNtA=?bJ@{2-QU$rH)Z&sSDI^)bG?E)OG41^@w^*^-z7(JL+G$A00-I zphwc9>B;m|`U`p%J%^r0FQu2!3_6Au(jr<+OKB~wqxH0rw$qt(7M(+v(=NJ#uA)iW zL;LCF^h&yk-bC-A57S5KWAxATdHNE4nZ8P2r~jny(~syU^xyP5&j8OL&rna8XRK$u zXQC&<6X{`lN<6KeHqUm?F3(=i0nZPf6P|OP-#xcHcRW3wSDv@t!QNrs5#G_>vEFgs z>E8L?gxdeH(nce8+vi_)huG_|E$-`L6i>@ZIor`(FB9``-BaeDD4J{h#;;`-l0%{3HDn z{fqn}zrpYDqkg}Ci~pGaRG@!ga3DM|C9ojyO<-9dCJ-0k2E+kb01PMt>VPJYA0Pu8 z16Kn#19t=W1J44zfxf`|VE^EN;OO9l;H2Q>;MCyk;Jo0%;G*EyL46Pl?g<_ab_Gud zF9t6MuLiFNZwK!M9|oTU{|@#p@3(x&^3kCwq3NOdAx4N30zyy-4%tF!A$ur0loxV@ zszY_5#t;@FL!OX76bu~*-Dn!p^mS8A6TeB;1U5OETul}Kb3*<5|Bu6O|Gz@}e>7G7 EA2lvr!vFvP delta 18198 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 String { + let hours = Int(timeInterval) / 3600 + let minutes = Int(timeInterval) / 60 % 60 + let seconds = Int(timeInterval) % 60 + if hours > 0 { + return String(format: "%02i:%02i:%02i", hours, minutes, seconds) + } else { + return String(format: "%02i:%02i", minutes, seconds) + } + } + private func updatePlayer(player: PlayerState) { if gameState.stopped || gameState.winner != nil { return } @@ -306,12 +339,12 @@ struct PlayerCell: View { */ struct CommanderDamageView: View { @Environment(\.dismiss) var dismiss - @State private var targetPlayer: PlayerState + let targetPlayer: PlayerState let gameState: GameState let onUpdate: (PlayerState) -> Void init(targetPlayer: PlayerState, gameState: GameState, onUpdate: @escaping (PlayerState) -> Void) { - self._targetPlayer = State(initialValue: targetPlayer) + self.targetPlayer = targetPlayer self.gameState = gameState self.onUpdate = onUpdate } @@ -330,6 +363,7 @@ struct CommanderDamageView: View { color: .secondary, action: { adjustCommanderDamage(attackerId: attacker.id, by: -1) } ) + .buttonStyle(.borderless) Text("\(targetPlayer.commanderDamages[attacker.id] ?? 0)") .font(.title.bold()) @@ -341,6 +375,7 @@ struct CommanderDamageView: View { color: .primary, action: { adjustCommanderDamage(attackerId: attacker.id, by: 1) } ) + .buttonStyle(.borderless) } } .padding(.vertical, 8) @@ -359,20 +394,27 @@ struct CommanderDamageView: View { private func adjustCommanderDamage(attackerId: Int, by amount: Int) { Haptics.play(.light) let wasEliminated = targetPlayer.isEliminated - var newPlayer = targetPlayer - var damages = newPlayer.commanderDamages - let current = damages[attackerId] ?? 0 - let newDamage = max(0, current + amount) - let damageChange = newDamage - current - damages[attackerId] = newDamage - newPlayer.commanderDamages = damages - // Commander damage also reduces life total - newPlayer.life -= damageChange - // Update local state so the view refreshes - targetPlayer = newPlayer - onUpdate(newPlayer) - if newPlayer.isEliminated && !wasEliminated { + // Get current damage value + let current = targetPlayer.commanderDamages[attackerId] ?? 0 + let newDamage = max(0, current + amount) + + // Only proceed if there's an actual change + guard newDamage != current else { return } + + // Update commander damages + var updatedPlayer = targetPlayer + var damages = updatedPlayer.commanderDamages + damages[attackerId] = newDamage + updatedPlayer.commanderDamages = damages + + // Adjust life total by the damage change + updatedPlayer.life -= amount + + // Notify parent to update + onUpdate(updatedPlayer) + + if updatedPlayer.isEliminated && !wasEliminated { Haptics.notification(.error) } } @@ -403,4 +445,4 @@ struct PlayerDropDelegate: DropDelegate { func dropUpdated(info: DropInfo) -> DropProposal? { return DropProposal(operation: .move) } -} +} \ No newline at end of file