summaryrefslogtreecommitdiff
path: root/composeApp/src/commonMain/kotlin/coffee/liz/ecs/physics/PhysicsSystem.kt
diff options
context:
space:
mode:
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
+}