mirror of
https://github.com/curioustorvald/Terrarum.git
synced 2026-06-09 18:14:06 +09:00
more fixme comments
This commit is contained in:
@@ -70,7 +70,7 @@ class FixtureHomeComputer : FixtureBase {
|
|||||||
vmRunner.executeCommand(vm.roms[0]!!.readAll())
|
vmRunner.executeCommand(vm.roms[0]!!.readAll())
|
||||||
}
|
}
|
||||||
|
|
||||||
App.disposables.add(Disposable {
|
INGAME.disposables.add(Disposable {
|
||||||
vmRunner.close()
|
vmRunner.close()
|
||||||
coroutineJob.cancel("fixture disposal")
|
coroutineJob.cancel("fixture disposal")
|
||||||
vm.dispose()
|
vm.dispose()
|
||||||
|
|||||||
@@ -9,10 +9,7 @@ import kotlinx.coroutines.GlobalScope
|
|||||||
import kotlinx.coroutines.Job
|
import kotlinx.coroutines.Job
|
||||||
import kotlinx.coroutines.cancel
|
import kotlinx.coroutines.cancel
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import net.torvald.terrarum.App
|
import net.torvald.terrarum.*
|
||||||
import net.torvald.terrarum.CommonResourcePool
|
|
||||||
import net.torvald.terrarum.ModMgr
|
|
||||||
import net.torvald.terrarum.Terrarum
|
|
||||||
import net.torvald.terrarum.gameactors.ActorWithBody
|
import net.torvald.terrarum.gameactors.ActorWithBody
|
||||||
import net.torvald.terrarum.gameitems.GameItem
|
import net.torvald.terrarum.gameitems.GameItem
|
||||||
import net.torvald.terrarum.gameitems.ItemID
|
import net.torvald.terrarum.gameitems.ItemID
|
||||||
@@ -51,6 +48,7 @@ class ItemWearableWorldRadar(originalID: String) : GameItem(originalID) {
|
|||||||
private val coroutineJob: Job
|
private val coroutineJob: Job
|
||||||
private val ui = WearableWorldRadarUI(vm)
|
private val ui = WearableWorldRadarUI(vm)
|
||||||
|
|
||||||
|
// FIXME initialise computer stuff when the Item is first used, not when it's registered by the Modmgr
|
||||||
init {
|
init {
|
||||||
super.equipPosition = EquipPosition.HAND_GRIP
|
super.equipPosition = EquipPosition.HAND_GRIP
|
||||||
|
|
||||||
@@ -69,7 +67,7 @@ class ItemWearableWorldRadar(originalID: String) : GameItem(originalID) {
|
|||||||
vmRunner.executeCommand(vm.roms[0]!!.readAll())
|
vmRunner.executeCommand(vm.roms[0]!!.readAll())
|
||||||
}
|
}
|
||||||
|
|
||||||
App.disposables.add(Disposable {
|
INGAME.disposables.add(Disposable {
|
||||||
vmRunner.close()
|
vmRunner.close()
|
||||||
coroutineJob.cancel("item disposal")
|
coroutineJob.cancel("item disposal")
|
||||||
vm.dispose()
|
vm.dispose()
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
package net.torvald.terrarum
|
package net.torvald.terrarum
|
||||||
|
|
||||||
import com.badlogic.gdx.graphics.g2d.SpriteBatch
|
import com.badlogic.gdx.graphics.g2d.SpriteBatch
|
||||||
|
import com.badlogic.gdx.utils.Disposable
|
||||||
|
import com.badlogic.gdx.utils.GdxRuntimeException
|
||||||
import net.torvald.terrarum.App.printdbg
|
import net.torvald.terrarum.App.printdbg
|
||||||
import net.torvald.terrarum.TerrarumAppConfiguration.TILE_SIZE
|
import net.torvald.terrarum.TerrarumAppConfiguration.TILE_SIZE
|
||||||
import net.torvald.terrarum.gameactors.Actor
|
import net.torvald.terrarum.gameactors.Actor
|
||||||
@@ -26,6 +28,7 @@ import java.io.FileNotFoundException
|
|||||||
import java.io.IOException
|
import java.io.IOException
|
||||||
import java.util.*
|
import java.util.*
|
||||||
import java.util.concurrent.locks.Lock
|
import java.util.concurrent.locks.Lock
|
||||||
|
import java.util.function.Consumer
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Although the game (as product) can have infinitely many stages/planets/etc., those stages must be manually managed by YOU;
|
* Although the game (as product) can have infinitely many stages/planets/etc., those stages must be manually managed by YOU;
|
||||||
@@ -50,6 +53,8 @@ open class IngameInstance(val batch: SpriteBatch, val isMultiplayer: Boolean = f
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
val disposables = HashSet<Disposable>()
|
||||||
|
|
||||||
lateinit var worldDisk: VirtualDisk; internal set
|
lateinit var worldDisk: VirtualDisk; internal set
|
||||||
lateinit var playerDisk: VirtualDisk; internal set
|
lateinit var playerDisk: VirtualDisk; internal set
|
||||||
lateinit var worldSavefileName: String; internal set
|
lateinit var worldSavefileName: String; internal set
|
||||||
@@ -179,6 +184,14 @@ open class IngameInstance(val batch: SpriteBatch, val isMultiplayer: Boolean = f
|
|||||||
actorContainerActive.forEach { it.dispose() }
|
actorContainerActive.forEach { it.dispose() }
|
||||||
actorContainerInactive.forEach { it.dispose() }
|
actorContainerInactive.forEach { it.dispose() }
|
||||||
world.dispose()
|
world.dispose()
|
||||||
|
|
||||||
|
disposables.forEach(Consumer {
|
||||||
|
try { it.dispose() }
|
||||||
|
catch (_: NullPointerException) { }
|
||||||
|
catch (_: IllegalArgumentException) { }
|
||||||
|
catch (_: GdxRuntimeException) { }
|
||||||
|
catch (_: ConcurrentModificationException) { }
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
////////////
|
////////////
|
||||||
|
|||||||
Reference in New Issue
Block a user