From d95868336522be3d5c545cc9ddac8231644a4200 Mon Sep 17 00:00:00 2001 From: minjaesong Date: Tue, 5 Apr 2022 17:46:03 +0900 Subject: [PATCH] still have no idea how to make this work --- .../gameactors/ActorMovingPlatform.kt | 4 ++-- src/net/torvald/terrarum/gameactors/ActorWithBody.kt | 9 ++++++++- 2 files changed, 10 insertions(+), 3 deletions(-) rename src/net/torvald/terrarum/{modulebasegame => }/gameactors/ActorMovingPlatform.kt (84%) diff --git a/src/net/torvald/terrarum/modulebasegame/gameactors/ActorMovingPlatform.kt b/src/net/torvald/terrarum/gameactors/ActorMovingPlatform.kt similarity index 84% rename from src/net/torvald/terrarum/modulebasegame/gameactors/ActorMovingPlatform.kt rename to src/net/torvald/terrarum/gameactors/ActorMovingPlatform.kt index a08c8fd0e..4c6e9ba86 100644 --- a/src/net/torvald/terrarum/modulebasegame/gameactors/ActorMovingPlatform.kt +++ b/src/net/torvald/terrarum/gameactors/ActorMovingPlatform.kt @@ -1,4 +1,4 @@ -package net.torvald.terrarum.modulebasegame.gameactors +package net.torvald.terrarum.gameactors import net.torvald.terrarum.TerrarumAppConfiguration.TILE_SIZE import net.torvald.terrarum.gameactors.ActorID @@ -11,7 +11,7 @@ import net.torvald.terrarum.gameactors.PhysProperties open class ActorMovingPlatform() : ActorWithBody() { protected var tilewiseWidth = 3 - protected val actorsRiding = ArrayList() // saving actorID due to serialisation issues + @Transient protected val actorsRiding = ArrayList() // saving actorID due to serialisation issues init { physProp = PhysProperties.PHYSICS_OBJECT diff --git a/src/net/torvald/terrarum/gameactors/ActorWithBody.kt b/src/net/torvald/terrarum/gameactors/ActorWithBody.kt index 11ce63002..63fcbc539 100644 --- a/src/net/torvald/terrarum/gameactors/ActorWithBody.kt +++ b/src/net/torvald/terrarum/gameactors/ActorWithBody.kt @@ -281,6 +281,13 @@ open class ActorWithBody : Actor { var isPickedUp = false + /** + * Redundant entry for ActorMovingPlatform.actorsRiding. This field must be modified by the platforms! + * + * Also see [net.torvald.terrarum.modulebasegame.gameactors.ActorMovingPlatform.actorsRiding] + */ + @Transient protected val platformsRiding = ArrayList() + /** * Gravitational Constant G. Load from gameworld. * [m / s^2] @@ -1064,7 +1071,7 @@ open class ActorWithBody : Actor { val x2 = hitbox.endX - A_PIXEL val y1 = hitbox.startY val y2 = hitbox.endY - A_PIXEL - // this commands and the commands on isWalled WILL NOT match (1 px gap on endX/Y). THIS IS INTENDED! + // this commands and the commands on isWalled WILL NOT match (1 px gap on endX/Y). THIS IS INTENTIONAL! val txStart = x1.plus(HALF_PIXEL).floorInt() val txEnd = x2.plus(HALF_PIXEL).floorInt()