0

I have an array:

var array: [[(playerPosition: CGPoint, playerName: String, enemy: SKSpriteNode, enemyName: String)]] = []

I then add to the array like this:

array.append([(playerPosition: player.position, playerName: player.name!, enemy: node as! SKSpriteNode, enemyName: enemy.name!)])

I then want to use these values later in sequence so I can change the players position/name and the enemy details/name:

player.position = //array's playerPosition
player.name = //array's PlayerName
enemy.name = //arrays enemyName

etc etc

How do I get access these different values?

2 Answers2

0

First it's better to mnake it a model like

struct Item {
   playerPosition: CGPoint
   ....
}

====

Then

var array: [[Item]]

===

and finally

player.position = array.map { $0.playerPosition }
Shehata Gamal
  • 98,760
  • 8
  • 65
  • 87
0

Since you want to get the player at first position from the array, you can use

if let player = array.first?.first {
    let position = player.playerPosition
    let name = player.playerName
    let enemy = player.enemyName
}
PGDev
  • 23,751
  • 6
  • 34
  • 88