🚧 resolving conflicts

dev_views_Game
reregnault 10 months ago
commit 73830f8ab2

@ -9,7 +9,6 @@
/* Begin PBXBuildFile section */ /* Begin PBXBuildFile section */
6437FF132C25846F009D0EAF /* PlayingGameVM.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6437FF122C25846F009D0EAF /* PlayingGameVM.swift */; }; 6437FF132C25846F009D0EAF /* PlayingGameVM.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6437FF122C25846F009D0EAF /* PlayingGameVM.swift */; };
6437FF142C25870C009D0EAF /* DSQ.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = EC62C5322C1C188F0048CD0B /* DSQ.xcframework */; }; 6437FF142C25870C009D0EAF /* DSQ.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = EC62C5322C1C188F0048CD0B /* DSQ.xcframework */; };
6437FF152C25870C009D0EAF /* DSQ.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = EC62C5322C1C188F0048CD0B /* DSQ.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
6458345C2BF5F92300E18321 /* DouShouQi_AppApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6458345B2BF5F92300E18321 /* DouShouQi_AppApp.swift */; }; 6458345C2BF5F92300E18321 /* DouShouQi_AppApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6458345B2BF5F92300E18321 /* DouShouQi_AppApp.swift */; };
6458345E2BF5F92300E18321 /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6458345D2BF5F92300E18321 /* ContentView.swift */; }; 6458345E2BF5F92300E18321 /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6458345D2BF5F92300E18321 /* ContentView.swift */; };
645834602BF5F92500E18321 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 6458345F2BF5F92500E18321 /* Assets.xcassets */; }; 645834602BF5F92500E18321 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 6458345F2BF5F92500E18321 /* Assets.xcassets */; };
@ -87,20 +86,6 @@
}; };
/* End PBXContainerItemProxy section */ /* End PBXContainerItemProxy section */
/* Begin PBXCopyFilesBuildPhase section */
6437FF162C25870C009D0EAF /* Embed Frameworks */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 2147483647;
dstPath = "";
dstSubfolderSpec = 10;
files = (
6437FF152C25870C009D0EAF /* DSQ.xcframework in Embed Frameworks */,
);
name = "Embed Frameworks";
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */ /* Begin PBXFileReference section */
6437FF122C25846F009D0EAF /* PlayingGameVM.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PlayingGameVM.swift; sourceTree = "<group>"; }; 6437FF122C25846F009D0EAF /* PlayingGameVM.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PlayingGameVM.swift; sourceTree = "<group>"; };
645834582BF5F92300E18321 /* DouShouQi_App.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = DouShouQi_App.app; sourceTree = BUILT_PRODUCTS_DIR; }; 645834582BF5F92300E18321 /* DouShouQi_App.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = DouShouQi_App.app; sourceTree = BUILT_PRODUCTS_DIR; };
@ -500,7 +485,6 @@
645834542BF5F92300E18321 /* Sources */, 645834542BF5F92300E18321 /* Sources */,
645834552BF5F92300E18321 /* Frameworks */, 645834552BF5F92300E18321 /* Frameworks */,
645834562BF5F92300E18321 /* Resources */, 645834562BF5F92300E18321 /* Resources */,
6437FF162C25870C009D0EAF /* Embed Frameworks */,
); );
buildRules = ( buildRules = (
); );

@ -35,12 +35,14 @@ struct CustomShapeRightButton: Shape {
struct SelectPlayerButtonView: View { struct SelectPlayerButtonView: View {
@State var player1:String = "IA"
@State var player2:String = "IA" @ObservedObject var player1:PlayerVM
@ObservedObject var player2:PlayerVM
@ObservedObject var playersVM: PlayersVM @ObservedObject var playersVM: PlayersVM
@State private var showingPopup = false @State private var showingPopup1 = false
@State private var showingPopup2 = false
var body: some View { var body: some View {
ZStack{ ZStack{
@ -51,20 +53,12 @@ struct SelectPlayerButtonView: View {
.offset(y: -60) .offset(y: -60)
HStack{ HStack{
VStack (alignment: .leading) { VStack (alignment: .leading) {
Text(player1) Text(player1.player.name)
.font(.title) .font(.title)
.padding(3) .padding(3)
Button(action: { Button(action: {
print("Button j1 pressé!") print("Button j1 pressé!")
if (player1 == "IA"){ showingPopup1 = true
if (player2 == "Player1"){
player1="Player2"
}else{
player1="Player1"
}
}else{
player1="IA"
}
}) { }) {
VStack { VStack {
Text("+") Text("+")
@ -73,6 +67,9 @@ struct SelectPlayerButtonView: View {
Text("Add a player") Text("Add a player")
.font(.body) .font(.body)
.bold() .bold()
.sheet(isPresented: $showingPopup1) {
ShowAllPlayer(currentShowingSheet: $showingPopup1, currentPlayer: player1, otherPlayer: player2, playersVM: playersVM)
}
} }
.frame(width: 150, height: 150) .frame(width: 150, height: 150)
.padding() .padding()
@ -83,13 +80,13 @@ struct SelectPlayerButtonView: View {
} }
} }
VStack (alignment: .trailing) { VStack (alignment: .trailing) {
Text(player2) Text(player2.player.name)
.font(.title) .font(.title)
.padding(3) .padding(3)
Button(action: { Button(action: {
print("Button j2 pressé!") print("Button j2 pressé!")
showingPopup = true showingPopup2 = true
}) { }) {
VStack { VStack {
Text("+") Text("+")
@ -98,8 +95,8 @@ struct SelectPlayerButtonView: View {
Text("Add a player") Text("Add a player")
.font(.body) .font(.body)
.bold() .bold()
.sheet(isPresented: $showingPopup) { .sheet(isPresented: $showingPopup2) {
ShowAllPlayer(playersVM: playersVM) ShowAllPlayer(currentShowingSheet: $showingPopup2, currentPlayer: player2, otherPlayer: player1, playersVM: playersVM)
} }
}.frame(width: 150, height: 150) }.frame(width: 150, height: 150)
.padding() .padding()
@ -114,8 +111,13 @@ struct SelectPlayerButtonView: View {
} }
} }
struct SelectPlayerButtonView_Previews: PreviewProvider { /*struct SelectPlayerButtonView_Previews: PreviewProvider {
var player1 = PlayerVM(player: Player(name: "Linked", photo: ""))
var player22 = PlayerVM(player: Player(name: "Horizon", photo: ""))
static var previews: some View { static var previews: some View {
SelectPlayerButtonView(playersVM: PlayersVM()) @StateObject var playersVM = PlayersVM()
} SelectPlayerButtonView(player1: player1, player2: player2, playersVM: PlayersVM())
} }
}*/

@ -9,15 +9,27 @@ import SwiftUI
struct ShowAllPlayer: View { struct ShowAllPlayer: View {
@State private var isShowingSheet = false @State private var isShowingSheet = false
@Binding var currentShowingSheet: Bool
@ObservedObject var currentPlayer:PlayerVM
@ObservedObject var otherPlayer:PlayerVM
@ObservedObject var playersVM: PlayersVM @ObservedObject var playersVM: PlayersVM
var body: some View { var body: some View {
VStack(alignment: .leading) { VStack(alignment: .leading) {
Text("Liste des joueurs actuelle :") Text("Choose a player :")
List { List {
ForEach($playersVM.players, id: \.self) { playerVM in ForEach($playersVM.players, id: \.self) { playerVM in
if otherPlayer.player.name != playerVM.player.wrappedValue.name {
Button(action: { Button(action: {
if currentPlayer.player.name == playerVM.player.wrappedValue.name {
currentPlayer.player = Player(name: "IA", photo: "")
} else {
currentPlayer.player = playerVM.player.wrappedValue
}
self.currentShowingSheet = false
}) { }) {
HStack { HStack {
Image(systemName: "person.fill") Image(systemName: "person.fill")
@ -25,6 +37,12 @@ struct ShowAllPlayer: View {
.frame(width: 30, height: 30) .frame(width: 30, height: 30)
Text(playerVM.player.name.wrappedValue) Text(playerVM.player.name.wrappedValue)
} }
.padding()
.background(Color.blue)
.foregroundColor(.white)
.cornerRadius(10)
.shadow(radius: 3)
}
} }
} }
} }

@ -35,5 +35,10 @@ public class PlayerVM: ObservableObject, Identifiable, Hashable{
init(player: Player) { init(player: Player) {
self.player = player self.player = player
} }
convenience init() {
self.init(player: Player(name: "IA", photo: ""))
}
} }

@ -9,13 +9,17 @@ import SwiftUI
import SpriteKit import SpriteKit
struct SelectPlayerView: View { struct SelectPlayerView: View {
@StateObject var player1 = PlayerVM()
@StateObject var player2 = PlayerVM()
var body: some View { var body: some View {
VStack { VStack {
TitlePageFrame(Text: "select players") TitlePageFrame(Text: "select players")
Spacer() Spacer()
SelectPlayerButtonView(playersVM: PlayersVM()) SelectPlayerButtonView(player1: player1, player2: player2, playersVM: PlayersVM())
Spacer() Spacer()
@ -32,8 +36,8 @@ struct SelectPlayerView: View {
} }
} }
struct SelectPlayerViewPreviews: PreviewProvider { /*struct SelectPlayerViewPreviews: PreviewProvider {
static var previews: some View { static var previews: some View {
SelectPlayerView() SelectPlayerView()
} }
} }*/

Loading…
Cancel
Save