Skip to content

Commit 9763a16

Browse files
committed
prevent static ecosystems (for real this time)
1 parent cf6bd35 commit 9763a16

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

Life Saver/LifeScene.swift

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,8 @@ class LifeScene: SKScene {
142142
if nodeData.alive {
143143
if livingNeighbors.count > 3 || livingNeighbors.count < 2 {
144144
dyingNodes.append(nodeData)
145+
} else if nodeData.timeInState > 20 {
146+
dyingNodes.append(nodeData)
145147
} else {
146148
livingNodes.append(nodeData)
147149
}
@@ -164,6 +166,7 @@ class LifeScene: SKScene {
164166

165167
livingNodes.forEach {
166168
if !$0.alive {
169+
$0.timeInState = 0
167170
$0.node.removeAllActions()
168171
$0.alive = true
169172
let fadeAction = SKAction.fadeAlpha(to: 1, duration: updateTime)
@@ -172,16 +175,21 @@ class LifeScene: SKScene {
172175
colorAction.timingMode = .easeInEaseOut
173176
$0.node.run(fadeAction)
174177
$0.node.run(colorAction)
178+
} else {
179+
$0.timeInState += 1
175180
}
176181
}
177182

178183
dyingNodes.forEach {
179184
if $0.alive {
185+
$0.timeInState = 0
180186
$0.node.removeAllActions()
181187
$0.alive = false
182188
let fadeAction = SKAction.fadeAlpha(to: 0.2, duration: updateTime * 5)
183189
fadeAction.timingMode = .easeInEaseOut
184190
$0.node.run(fadeAction)
191+
} else {
192+
$0.timeInState += 1
185193
}
186194
}
187195

0 commit comments

Comments
 (0)