|
|
|
@ -13,10 +13,8 @@ import UIKit
|
|
|
|
|
|
|
|
|
|
struct VMArkit {
|
|
|
|
|
|
|
|
|
|
static let offset = CGPoint(x: -0.458 , y: -0.3435 )
|
|
|
|
|
static let direction = CGVector(dx: 0.1145, dy: 0.1145)
|
|
|
|
|
|
|
|
|
|
//var msg:String = ""
|
|
|
|
|
static let offset = CGPoint(x: -0.458 * 0.3 , y: -0.3435 * 0.3 )
|
|
|
|
|
static let direction = CGVector(dx: 0.1145 * 0.3, dy: 0.1145 * 0.3)
|
|
|
|
|
|
|
|
|
|
var game:Game
|
|
|
|
|
|
|
|
|
@ -58,45 +56,46 @@ struct VMArkit {
|
|
|
|
|
|
|
|
|
|
// -- Crée les pieces
|
|
|
|
|
func generatePieces(_ anchor:AnchorEntity) {
|
|
|
|
|
|
|
|
|
|
// Position - X,Y,Z
|
|
|
|
|
for c in pieces.flatMap({ animal,values in return values })
|
|
|
|
|
for var piece in pieces.flatMap({ animal,values in return values })
|
|
|
|
|
{
|
|
|
|
|
var entity:Entity?
|
|
|
|
|
switch c.self.key {
|
|
|
|
|
switch piece.self.key {
|
|
|
|
|
case .cat :
|
|
|
|
|
entity = try? Entity.load(named: "cat")
|
|
|
|
|
entity = try? Entity.loadModel(named: "cat")
|
|
|
|
|
case .elephant :
|
|
|
|
|
entity = try? Entity.load(named: "elephant")
|
|
|
|
|
entity = try? Entity.loadModel(named: "elephant")
|
|
|
|
|
case .dog :
|
|
|
|
|
entity = try? Entity.load(named: "dog")
|
|
|
|
|
entity = try? Entity.loadModel(named: "dog")
|
|
|
|
|
case .leopard :
|
|
|
|
|
entity = try? Entity.load(named: "leopard")
|
|
|
|
|
entity = try? Entity.loadModel(named: "leopard")
|
|
|
|
|
case .lion :
|
|
|
|
|
entity = try? Entity.load(named: "lion")
|
|
|
|
|
entity = try? Entity.loadModel(named: "lion")
|
|
|
|
|
case .rat :
|
|
|
|
|
entity = try? Entity.load(named: "rat")
|
|
|
|
|
entity = try? Entity.loadModel(named: "rat")
|
|
|
|
|
case .tiger :
|
|
|
|
|
entity = try? Entity.load(named: "tiger")
|
|
|
|
|
entity = try? Entity.loadModel(named: "tiger")
|
|
|
|
|
case .wolf :
|
|
|
|
|
entity = try? Entity.load(named: "wolf")
|
|
|
|
|
entity = try? Entity.loadModel(named: "wolf")
|
|
|
|
|
|
|
|
|
|
default:
|
|
|
|
|
fatalError("Animal non compris")
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if let entityNotNull = entity {
|
|
|
|
|
entityNotNull.scale = [0.3,0.3,0.3]
|
|
|
|
|
anchor.addChild(entityNotNull)
|
|
|
|
|
entityNotNull.position = SIMD3<Float>(0,0.02,0)
|
|
|
|
|
entityNotNull.generateCollisionShapes(recursive:true)
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
self.installGestures([.all], for: entityNotNull as! Entity & HasCollision).forEach { gestureRecognizer in
|
|
|
|
|
gestureRecognizer.addTarget(self, action: #selector(handleGesture(_:)))}*/
|
|
|
|
|
print("Piece \(c.self.key) a été crée !")
|
|
|
|
|
entityNotNull.generateCollisionShapes(recursive:true)
|
|
|
|
|
|
|
|
|
|
piece.self.value = entityNotNull
|
|
|
|
|
print("Piece \(piece.self.key) a été crée !")
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
print("La pièce \(c.self.key) n'a pas été crée !")
|
|
|
|
|
print("La pièce \(piece.self.key) n'a pas été crée !")
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -132,7 +131,7 @@ struct VMArkit {
|
|
|
|
|
return CGPoint(x: posX, y: posY)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
|
|
|
|
|
// ------ Listener -------- //
|
|
|
|
|
func defineListeners(){
|
|
|
|
|
self.game.addGameStartedListener { board in startGame()}
|
|
|
|
@ -158,9 +157,9 @@ struct VMArkit {
|
|
|
|
|
//msg = "Game over !!"
|
|
|
|
|
}
|
|
|
|
|
func gameChange() { print("Game change !") }
|
|
|
|
|
func boardChange() {
|
|
|
|
|
func boardChange() {
|
|
|
|
|
print("Board change !")
|
|
|
|
|
self.displayBoard(board: self.game.board)
|
|
|
|
|
self.displayBoard(self.game.board)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func moveChose(board:Board,move:Move,player:Player) {
|
|
|
|
@ -174,7 +173,7 @@ struct VMArkit {
|
|
|
|
|
else { // Invalid
|
|
|
|
|
print("Move invalid de \(player.id)")
|
|
|
|
|
print("Move : \(move.description)")
|
|
|
|
|
self.displayBoard(board: self.game.board)
|
|
|
|
|
self.displayBoard(self.game.board)
|
|
|
|
|
}
|
|
|
|
|
print("------------")
|
|
|
|
|
}
|
|
|
|
@ -189,5 +188,5 @@ struct VMArkit {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// ------------------------- //
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|