display piece

pull/26/head
Your Name 10 months ago
parent 2f98c1007a
commit 5144dfa24d

@ -11,6 +11,16 @@
82740EBE2C19762C009711A5 /* ArKitView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 82740EBD2C19762C009711A5 /* ArKitView.swift */; }; 82740EBE2C19762C009711A5 /* ArKitView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 82740EBD2C19762C009711A5 /* ArKitView.swift */; };
82740EC02C197A48009711A5 /* ArKitViewRepresentable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 82740EBF2C197A48009711A5 /* ArKitViewRepresentable.swift */; }; 82740EC02C197A48009711A5 /* ArKitViewRepresentable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 82740EBF2C197A48009711A5 /* ArKitViewRepresentable.swift */; };
82740EC22C197C1A009711A5 /* ContentArkit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 82740EC12C197C1A009711A5 /* ContentArkit.swift */; }; 82740EC22C197C1A009711A5 /* ContentArkit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 82740EC12C197C1A009711A5 /* ContentArkit.swift */; };
827AC57F2C206374001701CC /* cat.usdz in Resources */ = {isa = PBXBuildFile; fileRef = 827AC57E2C206374001701CC /* cat.usdz */; };
827AC5812C206385001701CC /* dog.usdz in Resources */ = {isa = PBXBuildFile; fileRef = 827AC5802C206385001701CC /* dog.usdz */; };
827AC5832C206395001701CC /* elephant.usdz in Resources */ = {isa = PBXBuildFile; fileRef = 827AC5822C206395001701CC /* elephant.usdz */; };
827AC5852C2063AB001701CC /* leopard.usdz in Resources */ = {isa = PBXBuildFile; fileRef = 827AC5842C2063AB001701CC /* leopard.usdz */; };
827AC5872C2063B6001701CC /* lion.usdz in Resources */ = {isa = PBXBuildFile; fileRef = 827AC5862C2063B6001701CC /* lion.usdz */; };
827AC5892C2063C7001701CC /* rat.usdz in Resources */ = {isa = PBXBuildFile; fileRef = 827AC5882C2063C7001701CC /* rat.usdz */; };
827AC58B2C2063D6001701CC /* tiger.usdz in Resources */ = {isa = PBXBuildFile; fileRef = 827AC58A2C2063D6001701CC /* tiger.usdz */; };
827AC58D2C2063E2001701CC /* wolf.usdz in Resources */ = {isa = PBXBuildFile; fileRef = 827AC58C2C2063E2001701CC /* wolf.usdz */; };
827AC58E2C206625001701CC /* DSQ.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = C2A535D82C0F56A700503472 /* DSQ.xcframework */; };
827AC58F2C206625001701CC /* DSQ.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = C2A535D82C0F56A700503472 /* DSQ.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
82CCA5442C1C2B6400AFF485 /* board.usdz in Resources */ = {isa = PBXBuildFile; fileRef = 82CCA5432C1C2B6400AFF485 /* board.usdz */; }; 82CCA5442C1C2B6400AFF485 /* board.usdz in Resources */ = {isa = PBXBuildFile; fileRef = 82CCA5432C1C2B6400AFF485 /* board.usdz */; };
82CCA5462C1C2B8E00AFF485 /* CatPiece.usdz in Resources */ = {isa = PBXBuildFile; fileRef = 82CCA5452C1C2B8E00AFF485 /* CatPiece.usdz */; }; 82CCA5462C1C2B8E00AFF485 /* CatPiece.usdz in Resources */ = {isa = PBXBuildFile; fileRef = 82CCA5452C1C2B8E00AFF485 /* CatPiece.usdz */; };
82CE59E92C045D1100ADEE24 /* GameScene.swift in Sources */ = {isa = PBXBuildFile; fileRef = 82CE59E82C045D1100ADEE24 /* GameScene.swift */; }; 82CE59E92C045D1100ADEE24 /* GameScene.swift in Sources */ = {isa = PBXBuildFile; fileRef = 82CE59E82C045D1100ADEE24 /* GameScene.swift */; };
@ -26,7 +36,6 @@
C205A2D42BF373380097BD93 /* WtaTennisUITestsLaunchTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = C205A2D32BF373380097BD93 /* WtaTennisUITestsLaunchTests.swift */; }; C205A2D42BF373380097BD93 /* WtaTennisUITestsLaunchTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = C205A2D32BF373380097BD93 /* WtaTennisUITestsLaunchTests.swift */; };
C24659E52BF5FE09004E80D5 /* MainMenu.swift in Sources */ = {isa = PBXBuildFile; fileRef = C24659E42BF5FE09004E80D5 /* MainMenu.swift */; }; C24659E52BF5FE09004E80D5 /* MainMenu.swift in Sources */ = {isa = PBXBuildFile; fileRef = C24659E42BF5FE09004E80D5 /* MainMenu.swift */; };
C25220EE2C00AC7E0026B71F /* GameParametersMenuView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C25220ED2C00AC7E0026B71F /* GameParametersMenuView.swift */; }; C25220EE2C00AC7E0026B71F /* GameParametersMenuView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C25220ED2C00AC7E0026B71F /* GameParametersMenuView.swift */; };
C2A535D92C0F56A800503472 /* DSQ.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = C2A535D82C0F56A700503472 /* DSQ.xcframework */; };
C2F015092C09D366000F7221 /* LanguageSettings.swift in Sources */ = {isa = PBXBuildFile; fileRef = C2F015082C09D366000F7221 /* LanguageSettings.swift */; }; C2F015092C09D366000F7221 /* LanguageSettings.swift in Sources */ = {isa = PBXBuildFile; fileRef = C2F015082C09D366000F7221 /* LanguageSettings.swift */; };
C2F0150C2C09D3A4000F7221 /* KeyboardReadable.swift in Sources */ = {isa = PBXBuildFile; fileRef = C2F0150B2C09D3A4000F7221 /* KeyboardReadable.swift */; }; C2F0150C2C09D3A4000F7221 /* KeyboardReadable.swift in Sources */ = {isa = PBXBuildFile; fileRef = C2F0150B2C09D3A4000F7221 /* KeyboardReadable.swift */; };
C2F015102C09D3C3000F7221 /* Language.swift in Sources */ = {isa = PBXBuildFile; fileRef = C2F0150E2C09D3C3000F7221 /* Language.swift */; }; C2F015102C09D3C3000F7221 /* Language.swift in Sources */ = {isa = PBXBuildFile; fileRef = C2F0150E2C09D3C3000F7221 /* Language.swift */; };
@ -63,14 +72,36 @@
}; };
/* End PBXContainerItemProxy section */ /* End PBXContainerItemProxy section */
/* Begin PBXCopyFilesBuildPhase section */
827AC5902C206625001701CC /* Embed Frameworks */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 2147483647;
dstPath = "";
dstSubfolderSpec = 10;
files = (
827AC58F2C206625001701CC /* DSQ.xcframework in Embed Frameworks */,
);
name = "Embed Frameworks";
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */ /* Begin PBXFileReference section */
8268B4A32C1C640000D195CC /* VMArkit.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VMArkit.swift; sourceTree = "<group>"; }; 8268B4A32C1C640000D195CC /* VMArkit.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VMArkit.swift; sourceTree = "<group>"; };
82740EBD2C19762C009711A5 /* ArKitView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ArKitView.swift; sourceTree = "<group>"; }; 82740EBD2C19762C009711A5 /* ArKitView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ArKitView.swift; sourceTree = "<group>"; };
82740EBF2C197A48009711A5 /* ArKitViewRepresentable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ArKitViewRepresentable.swift; sourceTree = "<group>"; }; 82740EBF2C197A48009711A5 /* ArKitViewRepresentable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ArKitViewRepresentable.swift; sourceTree = "<group>"; };
82740EC12C197C1A009711A5 /* ContentArkit.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentArkit.swift; sourceTree = "<group>"; }; 82740EC12C197C1A009711A5 /* ContentArkit.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentArkit.swift; sourceTree = "<group>"; };
827AC57E2C206374001701CC /* cat.usdz */ = {isa = PBXFileReference; lastKnownFileType = file.usdz; path = cat.usdz; sourceTree = "<group>"; };
827AC5802C206385001701CC /* dog.usdz */ = {isa = PBXFileReference; lastKnownFileType = file.usdz; path = dog.usdz; sourceTree = "<group>"; };
827AC5822C206395001701CC /* elephant.usdz */ = {isa = PBXFileReference; lastKnownFileType = file.usdz; path = elephant.usdz; sourceTree = "<group>"; };
827AC5842C2063AB001701CC /* leopard.usdz */ = {isa = PBXFileReference; lastKnownFileType = file.usdz; path = leopard.usdz; sourceTree = "<group>"; };
827AC5862C2063B6001701CC /* lion.usdz */ = {isa = PBXFileReference; lastKnownFileType = file.usdz; path = lion.usdz; sourceTree = "<group>"; };
827AC5882C2063C7001701CC /* rat.usdz */ = {isa = PBXFileReference; lastKnownFileType = file.usdz; path = rat.usdz; sourceTree = "<group>"; };
827AC58A2C2063D6001701CC /* tiger.usdz */ = {isa = PBXFileReference; lastKnownFileType = file.usdz; path = tiger.usdz; sourceTree = "<group>"; };
827AC58C2C2063E2001701CC /* wolf.usdz */ = {isa = PBXFileReference; lastKnownFileType = file.usdz; path = wolf.usdz; sourceTree = "<group>"; };
82CCA53C2C1C255E00AFF485 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; }; 82CCA53C2C1C255E00AFF485 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; };
82CCA5432C1C2B6400AFF485 /* board.usdz */ = {isa = PBXFileReference; lastKnownFileType = file.usdz; path = board.usdz; sourceTree = "<group>"; }; 82CCA5432C1C2B6400AFF485 /* board.usdz */ = {isa = PBXFileReference; lastKnownFileType = file.usdz; path = board.usdz; sourceTree = "<group>"; };
82CCA5452C1C2B8E00AFF485 /* CatPiece.usdz */ = {isa = PBXFileReference; lastKnownFileType = file.usdz; name = CatPiece.usdz; path = Object/CatPiece.usdz; sourceTree = SOURCE_ROOT; }; 82CCA5452C1C2B8E00AFF485 /* CatPiece.usdz */ = {isa = PBXFileReference; lastKnownFileType = file.usdz; name = CatPiece.usdz; path = ArkitDoushiQi/Resources/Object/CatPiece.usdz; sourceTree = SOURCE_ROOT; };
82CE59E82C045D1100ADEE24 /* GameScene.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GameScene.swift; sourceTree = "<group>"; }; 82CE59E82C045D1100ADEE24 /* GameScene.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GameScene.swift; sourceTree = "<group>"; };
82CE59EA2C045E3800ADEE24 /* GameView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GameView.swift; sourceTree = "<group>"; }; 82CE59EA2C045E3800ADEE24 /* GameView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GameView.swift; sourceTree = "<group>"; };
82CE59EE2C0460E500ADEE24 /* SpriteMoople.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SpriteMoople.swift; sourceTree = "<group>"; }; 82CE59EE2C0460E500ADEE24 /* SpriteMoople.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SpriteMoople.swift; sourceTree = "<group>"; };
@ -112,7 +143,7 @@
isa = PBXFrameworksBuildPhase; isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
C2A535D92C0F56A800503472 /* DSQ.xcframework in Frameworks */, 827AC58E2C206625001701CC /* DSQ.xcframework in Frameworks */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
@ -152,6 +183,23 @@
path = ArKit; path = ArKit;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
827AC57D2C2062E5001701CC /* Object */ = {
isa = PBXGroup;
children = (
827AC58C2C2063E2001701CC /* wolf.usdz */,
827AC58A2C2063D6001701CC /* tiger.usdz */,
827AC5882C2063C7001701CC /* rat.usdz */,
827AC5862C2063B6001701CC /* lion.usdz */,
827AC5842C2063AB001701CC /* leopard.usdz */,
827AC5822C206395001701CC /* elephant.usdz */,
827AC5802C206385001701CC /* dog.usdz */,
827AC57E2C206374001701CC /* cat.usdz */,
82CCA5432C1C2B6400AFF485 /* board.usdz */,
82CCA5452C1C2B8E00AFF485 /* CatPiece.usdz */,
);
path = Object;
sourceTree = "<group>";
};
82CE59E52C045C7500ADEE24 /* Game */ = { 82CE59E52C045C7500ADEE24 /* Game */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
@ -202,8 +250,6 @@
C205A2B62BF373360097BD93 /* ArkitDoushiQiApp.swift */, C205A2B62BF373360097BD93 /* ArkitDoushiQiApp.swift */,
C205A2B82BF373360097BD93 /* ContentView.swift */, C205A2B82BF373360097BD93 /* ContentView.swift */,
C205A2BA2BF373380097BD93 /* Assets.xcassets */, C205A2BA2BF373380097BD93 /* Assets.xcassets */,
82CCA5452C1C2B8E00AFF485 /* CatPiece.usdz */,
82CCA5432C1C2B6400AFF485 /* board.usdz */,
C205A2BC2BF373380097BD93 /* Views */, C205A2BC2BF373380097BD93 /* Views */,
); );
path = ArkitDoushiQi; path = ArkitDoushiQi;
@ -334,6 +380,7 @@
C2F015352C09D592000F7221 /* Resources */ = { C2F015352C09D592000F7221 /* Resources */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
827AC57D2C2062E5001701CC /* Object */,
C2F0153A2C09D5C0000F7221 /* fr.lproj */, C2F0153A2C09D5C0000F7221 /* fr.lproj */,
C2F015362C09D5A5000F7221 /* en.lproj */, C2F015362C09D5A5000F7221 /* en.lproj */,
); );
@ -366,6 +413,7 @@
C205A2AF2BF373360097BD93 /* Sources */, C205A2AF2BF373360097BD93 /* Sources */,
C205A2B02BF373360097BD93 /* Frameworks */, C205A2B02BF373360097BD93 /* Frameworks */,
C205A2B12BF373360097BD93 /* Resources */, C205A2B12BF373360097BD93 /* Resources */,
827AC5902C206625001701CC /* Embed Frameworks */,
); );
buildRules = ( buildRules = (
); );
@ -464,9 +512,17 @@
82CCA5442C1C2B6400AFF485 /* board.usdz in Resources */, 82CCA5442C1C2B6400AFF485 /* board.usdz in Resources */,
C205A2BE2BF373380097BD93 /* Preview Assets.xcassets in Resources */, C205A2BE2BF373380097BD93 /* Preview Assets.xcassets in Resources */,
C2F0153D2C09D5C0000F7221 /* Localizable.strings in Resources */, C2F0153D2C09D5C0000F7221 /* Localizable.strings in Resources */,
827AC58D2C2063E2001701CC /* wolf.usdz in Resources */,
827AC57F2C206374001701CC /* cat.usdz in Resources */,
82CCA5462C1C2B8E00AFF485 /* CatPiece.usdz in Resources */, 82CCA5462C1C2B8E00AFF485 /* CatPiece.usdz in Resources */,
827AC5852C2063AB001701CC /* leopard.usdz in Resources */,
827AC5832C206395001701CC /* elephant.usdz in Resources */,
C2F015392C09D5A5000F7221 /* Localizable.strings in Resources */, C2F015392C09D5A5000F7221 /* Localizable.strings in Resources */,
827AC5812C206385001701CC /* dog.usdz in Resources */,
827AC5872C2063B6001701CC /* lion.usdz in Resources */,
827AC58B2C2063D6001701CC /* tiger.usdz in Resources */,
C205A2BB2BF373380097BD93 /* Assets.xcassets in Resources */, C205A2BB2BF373380097BD93 /* Assets.xcassets in Resources */,
827AC5892C2063C7001701CC /* rat.usdz in Resources */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
@ -713,7 +769,7 @@
"@executable_path/Frameworks", "@executable_path/Frameworks",
); );
MARKETING_VERSION = 1.0; MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = fr.uca.iut.enzo; PRODUCT_BUNDLE_IDENTIFIER = fr.uca.iut.ArkitDoushiQi;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = ""; PROVISIONING_PROFILE_SPECIFIER = "";
"PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = tpiOS_2023; "PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = tpiOS_2023;
@ -749,7 +805,7 @@
"@executable_path/Frameworks", "@executable_path/Frameworks",
); );
MARKETING_VERSION = 1.0; MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = fr.uca.iut.enzo; PRODUCT_BUNDLE_IDENTIFIER = fr.uca.iut.ArkitDoushiQi;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = ""; PROVISIONING_PROFILE_SPECIFIER = "";
"PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = tpiOS_2023; "PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = tpiOS_2023;

@ -13,6 +13,7 @@ import UIKit
class ArKitView : ARView { class ArKitView : ARView {
required init(frame frameRect: CGRect) { required init(frame frameRect: CGRect) {
super.init(frame: frameRect) super.init(frame: frameRect)
} }
@ -23,10 +24,8 @@ class ArKitView : ARView {
convenience init() { convenience init() {
self.init(frame: UIScreen.main.bounds) self.init(frame: UIScreen.main.bounds)
applyConfiguration()
} }
func applyConfiguration() { func applyConfiguration() {
let configuration = ARWorldTrackingConfiguration() let configuration = ARWorldTrackingConfiguration()
session.run(configuration) session.run(configuration)

@ -11,10 +11,17 @@ import DouShouQiModel
struct ArKitViewRepresentable : UIViewRepresentable { struct ArKitViewRepresentable : UIViewRepresentable {
init(){} var vm:VMArkit
init(_ game:Game){
vm = VMArkit(game)
}
func makeUIView(context: Context) -> ArKitView { func makeUIView(context: Context) -> ArKitView {
return ArKitView() let arView = ArKitView()
let anchor = arView.defineAnchors()
vm.setup(anchor)
return arView
} }
func updateUIView(_ uiView: UIViewType, context: Context) { } func updateUIView(_ uiView: UIViewType, context: Context) { }

@ -10,7 +10,7 @@ import DouShouQiModel
struct ContentArkit: View { struct ContentArkit: View {
var vm:VMArkit = VMArkit(try! Game(withRules: ClassicRules(), andPlayer1: RandomPlayer(withName: "Bot1", andId: .player1)!, andPlayer2: RandomPlayer(withName: "Bot2", andId: .player2)!)) //var vm:VMArkit = VMArkit(try! Game(withRules: ClassicRules(), andPlayer1: RandomPlayer(withName: "Bot1", andId: .player1)!, andPlayer2: RandomPlayer(withName: "Bot2", andId: .player2)!))
var body: some View { var body: some View {
VStack { VStack {
@ -20,9 +20,10 @@ struct ContentArkit: View {
.ignoresSafeArea() .ignoresSafeArea()
.navigationBarBackButtonHidden(true) .navigationBarBackButtonHidden(true)
.task { .task {
vm
try! await vm.game.start() try! await vm.game.start()
}*/ }*/
ArKitViewRepresentable() ArKitViewRepresentable(try! Game(withRules: ClassicRules(), andPlayer1: RandomPlayer(withName: "Bot1", andId: .player1)!, andPlayer2: RandomPlayer(withName: "Bot2", andId: .player2)!))
} }
} }

@ -13,15 +13,13 @@ import UIKit
struct VMArkit { struct VMArkit {
static let offset = CGPoint(x: -400, y: -300 ) static let offset = CGPoint(x: -0.458 , y: -0.3435 )
static let direction = CGVector(dx: 100, dy: 100) static let direction = CGVector(dx: 0.1145, dy: 0.1145)
var msg:String = "" //var msg:String = ""
var game:Game var game:Game
var view:ArKitViewRepresentable = ArKitViewRepresentable()
var pieces: [Owner : [ Animal : Entity?]] = [.player1: [.cat:nil, var pieces: [Owner : [ Animal : Entity?]] = [.player1: [.cat:nil,
.elephant:nil, .elephant:nil,
.dog:nil, .dog:nil,
@ -41,48 +39,55 @@ struct VMArkit {
init(_ game:Game){ init(_ game:Game){
self.game = game self.game = game
}
defineListeners() func setup(_ anchor:AnchorEntity){
addBoard(anchor)
generatePieces(anchor)
displayBoard(game.board)
} }
func addBoard(anchor:AnchorEntity){ func addBoard(_ anchor:AnchorEntity){
let board = try? Entity.load(named: "board") let board = try? Entity.load(named: "board")
board?.scale = [0.3,0.3,0.3]
if let board { if let board {
print("Ajout du board")
anchor.addChild(board) anchor.addChild(board)
} }
} }
// -- Crée les pieces // -- Crée les pieces
func generatePieces(anchor:AnchorEntity) { func generatePieces(_ anchor:AnchorEntity) {
// Position - X,Y,Z // Position - X,Y,Z
for c in pieces.flatMap({ animal,values in return values }) for c in pieces.flatMap({ animal,values in return values })
{ {
var entity:Entity? var entity:Entity?
switch c.self.key { switch c.self.key {
case .cat : case .cat :
entity = try? Entity.load(named: "CatPiece") entity = try? Entity.load(named: "cat")
case .elephant : case .elephant :
entity = try? Entity.load(named: "CatPiece") entity = try? Entity.load(named: "elephant")
case .dog : case .dog :
entity = try? Entity.load(named: "CatPiece") entity = try? Entity.load(named: "dog")
case .leopard : case .leopard :
entity = try? Entity.load(named: "CatPiece") entity = try? Entity.load(named: "leopard")
case .lion : case .lion :
entity = try? Entity.load(named: "CatPiece") entity = try? Entity.load(named: "lion")
case .rat : case .rat :
entity = try? Entity.load(named: "CatPiece") entity = try? Entity.load(named: "rat")
case .tiger : case .tiger :
entity = try? Entity.load(named: "CatPiece") entity = try? Entity.load(named: "tiger")
case .wolf : case .wolf :
entity = try? Entity.load(named: "CatPiece") entity = try? Entity.load(named: "wolf")
default: default:
fatalError("Animal non compris") fatalError("Animal non compris")
} }
if let entityNotNull = entity { if let entityNotNull = entity {
entityNotNull.scale = [0.3,0.3,0.3]
anchor.addChild(entityNotNull) anchor.addChild(entityNotNull)
entityNotNull.position = SIMD3<Float>(0,0,10) entityNotNull.position = SIMD3<Float>(0,0.02,0)
entityNotNull.generateCollisionShapes(recursive:true) entityNotNull.generateCollisionShapes(recursive:true)
/* /*
@ -99,16 +104,18 @@ struct VMArkit {
// -- Affiche les pieces à la bonne positions // -- Affiche les pieces à la bonne positions
func displayBoard(board:Board) { func displayBoard(_ board:Board) {
for ligne in 0..<board.grid.count { for ligne in 0..<board.grid.count {
for col in 0..<board.grid[ligne].count { for col in 0..<board.grid[ligne].count {
if let piece = board.grid[ligne][col].piece { if let piece = board.grid[ligne][col].piece {
print("Piece detected !!")
if let element = pieces[piece.owner]![piece.animal]{ if let element = pieces[piece.owner]![piece.animal]{
if (element != nil ){ if (element != nil ){
print("Change position !!")
element!.position = convertPosModeleIntoWorldPos(pos:CGPoint(x: ligne, y: col)) element!.position = convertPosModeleIntoWorldPos(pos:CGPoint(x: ligne, y: col))
} }
else { else {
//print("WARNING !!! -> Element vide ") print("WARNING !!! -> Element vide ")
} }
} }
} }
@ -125,7 +132,7 @@ struct VMArkit {
return CGPoint(x: posX, y: posY) return CGPoint(x: posX, y: posY)
} }
/*
// ------ Listener -------- // // ------ Listener -------- //
func defineListeners(){ func defineListeners(){
self.game.addGameStartedListener { board in startGame()} self.game.addGameStartedListener { board in startGame()}
@ -182,4 +189,5 @@ struct VMArkit {
} }
// ------------------------- // // ------------------------- //
*/
} }

Loading…
Cancel
Save