1+ @file:OptIn(ExperimentalSerializationApi ::class )
2+
13package com.tomwyr.common
24
5+ import kotlinx.serialization.ExperimentalSerializationApi
6+ import kotlinx.serialization.SerialName
37import kotlinx.serialization.Serializable
8+ import kotlinx.serialization.json.JsonClassDiscriminator
49
510sealed class GodotKotlinTreeError : Exception () {
611 override fun getLocalizedMessage (): String = when (this ) {
@@ -11,6 +16,7 @@ sealed class GodotKotlinTreeError : Exception() {
1116class GeneratorError (val error : GodotNodeTreeError ) : GodotKotlinTreeError()
1217
1318@Serializable
19+ @JsonClassDiscriminator(" errorType" )
1420sealed class GodotNodeTreeError : Exception () {
1521 override fun getLocalizedMessage (): String = when (this ) {
1622 is InvalidGodotProject -> " Godot project could not be found at path `$projectPath `."
@@ -23,19 +29,25 @@ sealed class GodotNodeTreeError : Exception() {
2329}
2430
2531@Serializable
32+ @SerialName(" invalidGodotProject" )
2633class InvalidGodotProject (val projectPath : String ) : GodotNodeTreeError()
2734
2835@Serializable
36+ @SerialName(" scanningScenesFailed" )
2937class ScanningScenesFailed (val projectPath : String ) : GodotNodeTreeError()
3038
3139@Serializable
40+ @SerialName(" readingSceneFailed" )
3241class ReadingSceneFailed (val scenePath : String ) : GodotNodeTreeError()
3342
3443@Serializable
44+ @SerialName(" unexpectedNodeParameters" )
3545class UnexpectedNodeParameters (val nodeParams : NodeParams ) : GodotNodeTreeError()
3646
3747@Serializable
48+ @SerialName(" unexpectedSceneResource" )
3849class UnexpectedSceneResource (val instance : String ) : GodotNodeTreeError()
3950
4051@Serializable
52+ @SerialName(" parentNodeNotFound" )
4153class ParentNodeNotFound (val sceneName : String ) : GodotNodeTreeError()
0 commit comments