Мой код:
bunnyE = MyEntity()
var wsc : WrappableSpriteComponent = WrappableSpriteComponent()
wsc.setSprite(sprite: bunny!)
bunnyE?.addComponent(wsc)
wrappableComponentSystem = GKComponentSystem<WrappableSpriteComponent>()
wrappableComponentSystem!.addComponent(foundIn: bunnyE!)
self.lastUpdateTime = 0 //Break point here
Когда я прохожу свой код до точки останова, я нахожу это в XCode, если я выполняю команду:
po bunnyE?.components
Тогда я вижу что у bunnyE есть компонент, который я добавил.
Но если я сделаю:
po self.wrappableComponentSystem?.components
Тогда кажется, что wrappableComponentSystem не имеет компонентов.
Я проверил в своих обновлениях сцен и нашел тот же результат:
override func update(_ currentTime: TimeInterval) {
// Called before each frame is rendered
// Initialize _lastUpdateTime if it has not already been
if (self.lastUpdateTime == 0) {
self.lastUpdateTime = currentTime
}
// Calculate time since last update
let dt = currentTime - self.lastUpdateTime
// Update entities
for entity in self.entities {
entity.update(deltaTime: dt)
}
self.lastUpdateTime = currentTime
self.wrappableComponentSystem?.update(deltaTime: currentTime) // Breakpoint
}
В этой точке останова я также вижу, что моя сущность bunnyE имеет компонент, а моя wrappableComponentSystem - нет. Я подтвердил, что моя wrappableComponentSystem не равна nil.
Я использую swift5, Xcode 11.4, iOS 13.4
Какую ошибку я совершаю?