diff --git a/client/src/commonMain/kotlin/start.kt b/client/src/commonMain/kotlin/start.kt index a98e58a..16abcff 100644 --- a/client/src/commonMain/kotlin/start.kt +++ b/client/src/commonMain/kotlin/start.kt @@ -8,6 +8,7 @@ import korlibs.korge.scene.SceneContainer import korlibs.korge.scene.sceneContainer import korlibs.math.geom.ScaleMode import korlibs.math.geom.Size +import kotlinx.coroutines.coroutineScope import kotlinx.coroutines.currentCoroutineContext import kotlinx.coroutines.withContext import network.client diff --git a/client/src/macosArm64Main/kotlin/main.kt b/client/src/macosArm64Main/kotlin/main.kt index 29410c2..12f2a84 100644 --- a/client/src/macosArm64Main/kotlin/main.kt +++ b/client/src/macosArm64Main/kotlin/main.kt @@ -2,6 +2,7 @@ import io.ktor.client.engine.cio.* import korlibs.io.async.runBlockingNoSuspensions import korlibs.io.file.std.resourcesVfs import korlibs.io.lang.readProperties +import kotlinx.coroutines.currentCoroutineContext import kotlinx.coroutines.withContext import network.ClientEngineFactory import network.URLProvider @@ -10,13 +11,15 @@ import org.koin.core.qualifier.named import org.koin.dsl.bind import org.koin.dsl.module import org.koin.mp.KoinPlatform +import util.launchNow +import kotlin.coroutines.CoroutineContext class Main fun runMain() = main() fun main() { - runBlockingNoSuspensions { + launchNow { val clientProps = resourcesVfs["client.properties"].readProperties() val url = clientProps["server"]!! val version = clientProps["version"]!! diff --git a/client/src/mingwX64Main/kotlin/main.kt b/client/src/mingwX64Main/kotlin/main.kt new file mode 100644 index 0000000..31af172 --- /dev/null +++ b/client/src/mingwX64Main/kotlin/main.kt @@ -0,0 +1,39 @@ +import io.ktor.client.engine.winhttp.* +import korlibs.io.async.runBlockingNoSuspensions +import korlibs.io.file.std.resourcesVfs +import korlibs.io.lang.readProperties +import kotlinx.coroutines.runBlocking +import kotlinx.coroutines.withContext +import network.ClientEngineFactory +import network.URLProvider +import org.koin.core.context.startKoin +import org.koin.core.qualifier.named +import org.koin.dsl.bind +import org.koin.dsl.module +import org.koin.mp.KoinPlatform +import util.launchNow + +class Main + +fun runMain() = main() + +fun main() { + launchNow { + val clientProps = resourcesVfs["client.properties"].readProperties() + val url = clientProps["server"]!! + val version = clientProps["version"]!! + startKoin {} + KoinPlatform.getKoin().loadModules(listOf(module { + single(named("version")) { version } + factory { + object : URLProvider { + override val url: String get() = url + } + } bind URLProvider::class + factory { + object : ClientEngineFactory { override fun getEngine() = WinHttp } + } bind ClientEngineFactory::class + })) + start() + } +} \ No newline at end of file