Skip to content

Commit e455f4c

Browse files
committed
Update node coding
1 parent 4573c4c commit e455f4c

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

src/main/kotlin/com/tomwyr/common/Models.kt

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
1+
@file:OptIn(ExperimentalSerializationApi::class)
2+
13
package com.tomwyr.common
24

5+
import kotlinx.serialization.ExperimentalSerializationApi
6+
import kotlinx.serialization.SerialName
37
import kotlinx.serialization.Serializable
8+
import kotlinx.serialization.json.JsonClassDiscriminator
49

510
@Serializable
611
class NodeParams(
@@ -17,24 +22,28 @@ class NodeTree(val scenes: List<Scene>)
1722
class Scene(val name: String, val root: Node)
1823

1924
@Serializable
25+
@JsonClassDiscriminator("nodeType")
2026
sealed class Node {
2127
abstract val name: String
2228
}
2329

2430
@Serializable
31+
@SerialName("parentNode")
2532
class ParentNode(
2633
override val name: String,
2734
val type: String,
2835
val children: List<Node>,
2936
) : Node()
3037

3138
@Serializable
39+
@SerialName("leafNode")
3240
class LeafNode(
3341
override val name: String,
3442
val type: String,
3543
) : Node()
3644

3745
@Serializable
46+
@SerialName("nestedScene")
3847
class NestedScene(
3948
override val name: String,
4049
val scene: String,

0 commit comments

Comments
 (0)