summaryrefslogtreecommitdiff
path: root/composeApp/src/commonMain/kotlin/coffee/liz/ecs/physics/PhysicsSystem.kt
diff options
context:
space:
mode:
authorElizabeth Hunt <me@liz.coffee>2025-10-26 21:38:22 -0700
committerElizabeth Hunt <me@liz.coffee>2025-10-26 21:39:58 -0700
commita8e5e723b7e1891c9b352261a3ee4c3d3563e8cf (patch)
tree853df79c877d37d7e5d25f52b301aedcc3d5db55 /composeApp/src/commonMain/kotlin/coffee/liz/ecs/physics/PhysicsSystem.kt
parent395aa7d1c312e495517701be11c21425d9a5838e (diff)
downloadabstraction-engine-kt-a8e5e723b7e1891c9b352261a3ee4c3d3563e8cf.tar.gz
abstraction-engine-kt-a8e5e723b7e1891c9b352261a3ee4c3d3563e8cf.zip
Checkpoint twoHEADmain
Diffstat (limited to 'composeApp/src/commonMain/kotlin/coffee/liz/ecs/physics/PhysicsSystem.kt')
-rw-r--r--composeApp/src/commonMain/kotlin/coffee/liz/ecs/physics/PhysicsSystem.kt25
1 files changed, 19 insertions, 6 deletions
diff --git a/composeApp/src/commonMain/kotlin/coffee/liz/ecs/physics/PhysicsSystem.kt b/composeApp/src/commonMain/kotlin/coffee/liz/ecs/physics/PhysicsSystem.kt
index 703e614..ec9c71b 100644
--- a/composeApp/src/commonMain/kotlin/coffee/liz/ecs/physics/PhysicsSystem.kt
+++ b/composeApp/src/commonMain/kotlin/coffee/liz/ecs/physics/PhysicsSystem.kt
@@ -6,21 +6,34 @@ import coffee.liz.ecs.World
import kotlin.time.Duration
internal fun interface CollisionResolver<Outside> {
- fun resolveCollision(world: World<Outside>, a: Entity, b: Entity)
+ fun resolveCollision(
+ world: World<Outside>,
+ a: Entity,
+ b: Entity,
+ )
}
abstract class PhysicsSystem<Outside>(
- physicsTickRate: Duration
-): TickedSystem<Outside>(physicsTickRate), CollisionResolver<Outside> {
+ physicsTickRate: Duration,
+) : TickedSystem<Outside>(physicsTickRate),
+ CollisionResolver<Outside> {
private val integrationTick = IntegrationTick<Outside>()
private val collisionTick = CollisionTick(this)
- abstract override fun resolveCollision(world: World<Outside>, a: Entity, b: Entity)
+ abstract override fun resolveCollision(
+ world: World<Outside>,
+ a: Entity,
+ b: Entity,
+ )
- override fun update(world: World<Outside>, state: Outside, ticks: Int) {
+ override fun update(
+ world: World<Outside>,
+ state: Outside,
+ ticks: Int,
+ ) {
for (tick in 1..ticks) {
collisionTick.runTick(world)
integrationTick.runTick(world)
}
}
-} \ No newline at end of file
+}