I have a SwiftUI/SpriteKit project.
I'm using a SwiftUI SpriteView to display my GameScene.
Whenever mainData.numOfBallsInCup is incremented, it updates a Text view.
Here's the problem: When the Text view is updated, it causes GameScene to be reloaded. GameScene's sceneDidLoad() runs each time, and the scene regresses to its initial state.
My ContentView is something like this:
import SwiftUI
import SpriteKit
struct ContentView: View {
@EnvironmentObject var mainData: MainData
var body: some View {
GeometryReader { geo in
Group {
if mainData.showSpriteScene {
SpriteView(scene: GameScene(), transition: SKTransition.reveal(with: .down, duration: 1.0))
.ignoresSafeArea()
VStack {
Text("\(mainData.numOfBallsInCup)")
.foregroundColor(Color.white)
Text("BALLS")
.foregroundColor(Color.white)
}
.position(x: geo.size.width * 0.5, y: geo.size.height * 0.06)
}
}
}
}
}
How can I have my Text view updating without reloading my GameScene?