mirror of
https://github.com/RDCN-Community-Developers/rdkt.git
synced 2026-09-05 01:35:31 +08:00
Added SetVFXPresetEvent.
This commit is contained in:
@@ -9,6 +9,7 @@ import cn.rdlevel.rdkt.core.serialization.TransformSerializer
|
|||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
import kotlinx.serialization.builtins.ListSerializer
|
import kotlinx.serialization.builtins.ListSerializer
|
||||||
import kotlinx.serialization.builtins.serializer
|
import kotlinx.serialization.builtins.serializer
|
||||||
|
import kotlin.jvm.JvmField
|
||||||
import kotlin.jvm.JvmName
|
import kotlin.jvm.JvmName
|
||||||
import kotlin.jvm.JvmOverloads
|
import kotlin.jvm.JvmOverloads
|
||||||
import kotlin.jvm.JvmStatic
|
import kotlin.jvm.JvmStatic
|
||||||
@@ -111,6 +112,28 @@ public sealed interface Color : ColorOrPalette {
|
|||||||
*/
|
*/
|
||||||
public fun toHex(): String
|
public fun toHex(): String
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates a new [Color] instance with the same green and blue components but a different red component.
|
||||||
|
*/
|
||||||
|
public fun withRed(red: Int): Color = of(red, green, blue)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates a new [Color] instance with the same red and blue components but a different green component.
|
||||||
|
*/
|
||||||
|
public fun withGreen(green: Int): Color = of(red, green, blue)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates a new [Color] instance with the same red and green components but a different blue component.
|
||||||
|
*/
|
||||||
|
public fun withBlue(blue: Int): Color = of(red, green, blue)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates a new [ColorWithAlpha] instance with the same red, green, and blue components but a specified alpha component.
|
||||||
|
* The alpha component is optional and defaults to 255 (fully opaque) if not provided.
|
||||||
|
*/
|
||||||
|
@JvmOverloads
|
||||||
|
public fun withAlpha(alpha: Int = 255): ColorWithAlpha = ColorWithAlpha.of(red, green, blue, alpha)
|
||||||
|
|
||||||
public object Serializer : PolymorphicDelegatedSerializer<Color, ColorOrPalette>(ColorOrPalette.serializer())
|
public object Serializer : PolymorphicDelegatedSerializer<Color, ColorOrPalette>(ColorOrPalette.serializer())
|
||||||
|
|
||||||
public companion object {
|
public companion object {
|
||||||
@@ -151,6 +174,26 @@ public sealed interface ColorWithAlpha : Color, ColorWithAlphaOrPalette {
|
|||||||
|
|
||||||
public override fun toHex(): String
|
public override fun toHex(): String
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates a new [ColorWithAlpha] instance with a different red component.
|
||||||
|
*/
|
||||||
|
public override fun withRed(red: Int): ColorWithAlpha = of(red, green, blue, alpha)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates a new [ColorWithAlpha] instance with a different green component.
|
||||||
|
*/
|
||||||
|
public override fun withGreen(green: Int): ColorWithAlpha = of(red, green, blue, alpha)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates a new [ColorWithAlpha] instance with a different blue component.
|
||||||
|
*/
|
||||||
|
public override fun withBlue(blue: Int): ColorWithAlpha = of(red, green, blue, alpha)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates a new [ColorWithAlpha] instance with a different alpha component.
|
||||||
|
*/
|
||||||
|
public override fun withAlpha(alpha: Int): ColorWithAlpha = of(red, green, blue, alpha)
|
||||||
|
|
||||||
public object Serializer :
|
public object Serializer :
|
||||||
PolymorphicDelegatedSerializer<ColorWithAlpha, ColorWithAlphaOrPalette>(ColorWithAlphaOrPalette.serializer())
|
PolymorphicDelegatedSerializer<ColorWithAlpha, ColorWithAlphaOrPalette>(ColorWithAlphaOrPalette.serializer())
|
||||||
|
|
||||||
@@ -291,3 +334,9 @@ public fun colorOf(r: Int, g: Int, b: Int): Color = Color.of(r, g, b)
|
|||||||
*/
|
*/
|
||||||
@JvmName("ofColor")
|
@JvmName("ofColor")
|
||||||
public fun colorOf(r: Int, g: Int, b: Int, a: Int = 255): ColorWithAlpha = ColorWithAlpha.of(r, g, b, a)
|
public fun colorOf(r: Int, g: Int, b: Int, a: Int = 255): ColorWithAlpha = ColorWithAlpha.of(r, g, b, a)
|
||||||
|
|
||||||
|
@JvmField
|
||||||
|
public val WHITE: ColorWithAlpha = colorOf(255, 255, 255, 255)
|
||||||
|
|
||||||
|
@JvmField
|
||||||
|
public val BLACK: ColorWithAlpha = colorOf(0, 0, 0, 255)
|
||||||
@@ -0,0 +1,877 @@
|
|||||||
|
@file:OptIn(ExperimentalSerializationApi::class)
|
||||||
|
|
||||||
|
package cn.rdlevel.rdkt.core.data.action
|
||||||
|
|
||||||
|
import cn.rdlevel.rdkt.core.annotations.RDDeprecated
|
||||||
|
import cn.rdlevel.rdkt.core.data.*
|
||||||
|
import kotlinx.serialization.ExperimentalSerializationApi
|
||||||
|
import kotlinx.serialization.SerialName
|
||||||
|
import kotlinx.serialization.Serializable
|
||||||
|
import kotlinx.serialization.json.JsonClassDiscriminator
|
||||||
|
import kotlin.jvm.JvmField
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
@JsonClassDiscriminator("preset")
|
||||||
|
public sealed interface VFXPreset {
|
||||||
|
public val rooms: RoomsOrTopLayer
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
@SerialName("Vignette")
|
||||||
|
public class Vignette(
|
||||||
|
override var enable: Boolean,
|
||||||
|
override var rooms: Rooms,
|
||||||
|
) : RoomsSpecificVFXPreset, ToggleableVFXPreset
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
@SerialName("VignetteFlicker")
|
||||||
|
public class VignetteFlicker(
|
||||||
|
override var enable: Boolean,
|
||||||
|
override var rooms: Rooms,
|
||||||
|
) : RoomsSpecificVFXPreset, ToggleableVFXPreset
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
@SerialName("CutsceneMode")
|
||||||
|
public class CutsceneMode(
|
||||||
|
override var enable: Boolean,
|
||||||
|
override var rooms: Rooms,
|
||||||
|
) : RoomsSpecificVFXPreset, ToggleableVFXPreset
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
@SerialName("WavyRows")
|
||||||
|
public class WavyRows(
|
||||||
|
override var enable: Boolean,
|
||||||
|
override var rooms: Rooms,
|
||||||
|
) : RoomsSpecificVFXPreset, ToggleableVFXPreset, IntensitySpecificVFXPreset, SpeedSpecificVFXPreset,
|
||||||
|
DurationSpecificVFXPreset {
|
||||||
|
override var intensity: Double? = 100.0
|
||||||
|
set(value) {
|
||||||
|
checkIntensity(value)
|
||||||
|
field = value
|
||||||
|
}
|
||||||
|
override var speedPerc: Double? = 100.0
|
||||||
|
set(value) {
|
||||||
|
checkSpeed(value)
|
||||||
|
field = value
|
||||||
|
}
|
||||||
|
override var duration: Double = 0.0
|
||||||
|
override var ease: Easing = Easing.LINEAR
|
||||||
|
}
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
@SerialName("LightStripVert")
|
||||||
|
public class LightStripVert(
|
||||||
|
override var enable: Boolean,
|
||||||
|
override var rooms: Rooms,
|
||||||
|
) : RoomsSpecificVFXPreset, ToggleableVFXPreset
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
@SerialName("SilhouettesOnHBeat")
|
||||||
|
public class SilhouettesOnHBeat(
|
||||||
|
override var enable: Boolean,
|
||||||
|
override var rooms: Rooms,
|
||||||
|
) : RoomsSpecificVFXPreset, ToggleableVFXPreset
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
@SerialName("ColourfulShockwaves")
|
||||||
|
public class ColourfulShockwaves(
|
||||||
|
override var enable: Boolean,
|
||||||
|
override var rooms: Rooms,
|
||||||
|
) : RoomsSpecificVFXPreset, ToggleableVFXPreset
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
@SerialName("BassDropOnHit")
|
||||||
|
public class BassDropOnHit(
|
||||||
|
override var enable: Boolean,
|
||||||
|
override var rooms: Rooms,
|
||||||
|
) : RoomsSpecificVFXPreset, ToggleableVFXPreset
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
@SerialName("ShakeOnHeartBeat")
|
||||||
|
public class ShakeOnHeartBeat(
|
||||||
|
override var enable: Boolean,
|
||||||
|
override var rooms: Rooms,
|
||||||
|
) : RoomsSpecificVFXPreset, ToggleableVFXPreset
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
@SerialName("ShakeOnHit")
|
||||||
|
public class ShakeOnHit(
|
||||||
|
override var enable: Boolean,
|
||||||
|
override var rooms: Rooms,
|
||||||
|
) : RoomsSpecificVFXPreset, ToggleableVFXPreset
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
@SerialName("NumbersAbovePulses")
|
||||||
|
public class NumbersAbovePulses(
|
||||||
|
override var enable: Boolean,
|
||||||
|
override var rooms: Rooms,
|
||||||
|
) : RoomsSpecificVFXPreset, ToggleableVFXPreset
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
@SerialName("FallingPetals")
|
||||||
|
public class FallingPetals(
|
||||||
|
override var enable: Boolean,
|
||||||
|
override var rooms: Rooms,
|
||||||
|
) : RoomsSpecificVFXPreset, ToggleableVFXPreset
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
@SerialName("FallingPetalsInstant")
|
||||||
|
public class FallingPetalsInstant(
|
||||||
|
override var enable: Boolean,
|
||||||
|
override var rooms: Rooms,
|
||||||
|
) : RoomsSpecificVFXPreset, ToggleableVFXPreset
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
@SerialName("FallingPetalsSnow")
|
||||||
|
public class FallingPetalsSnow(
|
||||||
|
override var enable: Boolean,
|
||||||
|
override var rooms: Rooms,
|
||||||
|
) : RoomsSpecificVFXPreset, ToggleableVFXPreset
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
@SerialName("FallingLeaves")
|
||||||
|
public class FallingLeaves(
|
||||||
|
override var enable: Boolean,
|
||||||
|
override var rooms: Rooms,
|
||||||
|
) : RoomsSpecificVFXPreset, ToggleableVFXPreset
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
@SerialName("Rain")
|
||||||
|
public class Rain(
|
||||||
|
override var enable: Boolean,
|
||||||
|
override var rooms: Rooms,
|
||||||
|
) : RoomsSpecificVFXPreset, ToggleableVFXPreset, IntensitySpecificVFXPreset, DurationSpecificVFXPreset {
|
||||||
|
override var intensity: Double? = 100.0
|
||||||
|
set(value) {
|
||||||
|
checkIntensity(value)
|
||||||
|
field = value
|
||||||
|
}
|
||||||
|
override var duration: Double = 0.0
|
||||||
|
override var ease: Easing = Easing.LINEAR
|
||||||
|
}
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
@SerialName("Snow")
|
||||||
|
public class Snow(
|
||||||
|
override var enable: Boolean,
|
||||||
|
override var rooms: Rooms,
|
||||||
|
) : RoomsSpecificVFXPreset, ToggleableVFXPreset
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
@SerialName("Blizzard")
|
||||||
|
public class Blizzard(
|
||||||
|
override var enable: Boolean,
|
||||||
|
override var rooms: Rooms,
|
||||||
|
) : RoomsSpecificVFXPreset, ToggleableVFXPreset, IntensitySpecificVFXPreset, DurationSpecificVFXPreset {
|
||||||
|
override var intensity: Double? = 100.0
|
||||||
|
set(value) {
|
||||||
|
checkIntensity(value)
|
||||||
|
field = value
|
||||||
|
}
|
||||||
|
override var duration: Double = 0.0
|
||||||
|
override var ease: Easing = Easing.LINEAR
|
||||||
|
}
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
@SerialName("Embers")
|
||||||
|
public class Embers(
|
||||||
|
override var enable: Boolean,
|
||||||
|
override var rooms: Rooms,
|
||||||
|
) : RoomsSpecificVFXPreset, ToggleableVFXPreset, IntensitySpecificVFXPreset, ColorSpecificVFXPreset,
|
||||||
|
DurationSpecificVFXPreset {
|
||||||
|
override var intensity: Double? = 100.0
|
||||||
|
set(value) {
|
||||||
|
checkIntensity(value)
|
||||||
|
field = value
|
||||||
|
}
|
||||||
|
override var color: ColorOrPalette? = DEFAULT_COLOR
|
||||||
|
override var duration: Double = 0.0
|
||||||
|
override var ease: Easing = Easing.LINEAR
|
||||||
|
|
||||||
|
public companion object {
|
||||||
|
@JvmField
|
||||||
|
public val DEFAULT_COLOR: ColorWithAlpha = colorOf(208, 73, 73, 255)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
@SerialName("Matrix")
|
||||||
|
public class Matrix(
|
||||||
|
override var enable: Boolean,
|
||||||
|
override var rooms: Rooms,
|
||||||
|
) : RoomsSpecificVFXPreset, ToggleableVFXPreset
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
@SerialName("Diamonds")
|
||||||
|
public class Diamonds(
|
||||||
|
override var enable: Boolean,
|
||||||
|
override var rooms: Rooms,
|
||||||
|
) : RoomsSpecificVFXPreset, ToggleableVFXPreset, IntensitySpecificVFXPreset, ColorSpecificVFXPreset,
|
||||||
|
DurationSpecificVFXPreset {
|
||||||
|
override var intensity: Double? = 100.0
|
||||||
|
set(value) {
|
||||||
|
checkIntensity(value)
|
||||||
|
field = value
|
||||||
|
}
|
||||||
|
override var color: ColorOrPalette? = DEFAULT_COLOR
|
||||||
|
override var duration: Double = 0.0
|
||||||
|
override var ease: Easing = Easing.LINEAR
|
||||||
|
|
||||||
|
public companion object {
|
||||||
|
@JvmField
|
||||||
|
public val DEFAULT_COLOR: ColorWithAlpha = WHITE
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
@SerialName("Confetti")
|
||||||
|
public class Confetti(
|
||||||
|
override var enable: Boolean,
|
||||||
|
override var rooms: Rooms,
|
||||||
|
) : RoomsSpecificVFXPreset, ToggleableVFXPreset
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
@SerialName("ConfettiBurst")
|
||||||
|
public class ConfettiBurst(
|
||||||
|
override var enable: Boolean,
|
||||||
|
override var rooms: Rooms,
|
||||||
|
) : RoomsSpecificVFXPreset, ToggleableVFXPreset
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
@SerialName("Balloons")
|
||||||
|
public class Balloons(
|
||||||
|
override var enable: Boolean,
|
||||||
|
override var rooms: Rooms,
|
||||||
|
) : RoomsSpecificVFXPreset, ToggleableVFXPreset
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
@SerialName("VHS")
|
||||||
|
public class VHS(
|
||||||
|
override var enable: Boolean,
|
||||||
|
override var rooms: Rooms,
|
||||||
|
) : RoomsSpecificVFXPreset, ToggleableVFXPreset
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
@SerialName("VHSRewind")
|
||||||
|
public class VHSRewind(
|
||||||
|
override var enable: Boolean,
|
||||||
|
override var rooms: Rooms,
|
||||||
|
) : RoomsSpecificVFXPreset, ToggleableVFXPreset, IntensitySpecificVFXPreset, DurationSpecificVFXPreset {
|
||||||
|
override var intensity: Double? = 100.0
|
||||||
|
set(value) {
|
||||||
|
checkIntensity(value)
|
||||||
|
field = value
|
||||||
|
}
|
||||||
|
override var duration: Double = 0.0
|
||||||
|
override var ease: Easing = Easing.LINEAR
|
||||||
|
}
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
@SerialName("Scanlines")
|
||||||
|
public class Scanlines(
|
||||||
|
override var enable: Boolean,
|
||||||
|
override var rooms: Rooms,
|
||||||
|
) : RoomsSpecificVFXPreset, ToggleableVFXPreset
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
@SerialName("Aberration")
|
||||||
|
public class Aberration(
|
||||||
|
override var enable: Boolean,
|
||||||
|
override var rooms: Rooms,
|
||||||
|
) : RoomsSpecificVFXPreset, ToggleableVFXPreset, IntensitySpecificVFXPreset, DurationSpecificVFXPreset {
|
||||||
|
override var intensity: Double? = 100.0
|
||||||
|
set(value) {
|
||||||
|
checkIntensity(value)
|
||||||
|
field = value
|
||||||
|
}
|
||||||
|
override var duration: Double = 0.0
|
||||||
|
override var ease: Easing = Easing.LINEAR
|
||||||
|
}
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
@SerialName("JPEG")
|
||||||
|
public class JPEG(
|
||||||
|
override var enable: Boolean,
|
||||||
|
override var rooms: Rooms,
|
||||||
|
) : RoomsSpecificVFXPreset, ToggleableVFXPreset, IntensitySpecificVFXPreset, DurationSpecificVFXPreset {
|
||||||
|
override var intensity: Double? = 100.0
|
||||||
|
set(value) {
|
||||||
|
checkIntensity(value)
|
||||||
|
field = value
|
||||||
|
}
|
||||||
|
override var duration: Double = 0.0
|
||||||
|
override var ease: Easing = Easing.LINEAR
|
||||||
|
}
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
@SerialName("Grain")
|
||||||
|
public class Grain(
|
||||||
|
override var enable: Boolean,
|
||||||
|
override var rooms: Rooms,
|
||||||
|
) : RoomsSpecificVFXPreset, ToggleableVFXPreset, IntensitySpecificVFXPreset, DurationSpecificVFXPreset {
|
||||||
|
override var intensity: Double? = 100.0
|
||||||
|
set(value) {
|
||||||
|
checkIntensity(value)
|
||||||
|
field = value
|
||||||
|
}
|
||||||
|
override var duration: Double = 0.0
|
||||||
|
override var ease: Easing = Easing.LINEAR
|
||||||
|
}
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
@SerialName("Blur")
|
||||||
|
public class Blur(
|
||||||
|
override var enable: Boolean,
|
||||||
|
override var rooms: Rooms,
|
||||||
|
) : RoomsSpecificVFXPreset, ToggleableVFXPreset, IntensitySpecificVFXPreset, DurationSpecificVFXPreset {
|
||||||
|
override var intensity: Double? = 100.0
|
||||||
|
set(value) {
|
||||||
|
checkIntensity(value)
|
||||||
|
field = value
|
||||||
|
}
|
||||||
|
override var duration: Double = 0.0
|
||||||
|
override var ease: Easing = Easing.LINEAR
|
||||||
|
}
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
@SerialName("Blur")
|
||||||
|
public class RadialBlur(
|
||||||
|
override var enable: Boolean,
|
||||||
|
override var rooms: Rooms,
|
||||||
|
) : RoomsSpecificVFXPreset, ToggleableVFXPreset, IntensitySpecificVFXPreset, Vector2AmountSpecificVFXPreset,
|
||||||
|
DurationSpecificVFXPreset {
|
||||||
|
override var intensity: Double? = 100.0
|
||||||
|
set(value) {
|
||||||
|
checkIntensity(value)
|
||||||
|
field = value
|
||||||
|
}
|
||||||
|
override var amount: Vector2 = Vector2.ONE
|
||||||
|
override var duration: Double = 0.0
|
||||||
|
override var ease: Easing = Easing.LINEAR
|
||||||
|
}
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
@SerialName("Fisheye")
|
||||||
|
public class Fisheye(
|
||||||
|
override var enable: Boolean,
|
||||||
|
override var rooms: RoomsOrTopLayer,
|
||||||
|
) : RoomsOrTopLayerSpecificVFXPreset, ToggleableVFXPreset, IntensitySpecificVFXPreset, DurationSpecificVFXPreset {
|
||||||
|
override var intensity: Double? = 100.0
|
||||||
|
set(value) {
|
||||||
|
checkIntensity(value)
|
||||||
|
field = value
|
||||||
|
}
|
||||||
|
override var duration: Double = 0.0
|
||||||
|
override var ease: Easing = Easing.LINEAR
|
||||||
|
}
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
@SerialName("HallOfMirrors")
|
||||||
|
public class HallOfMirrors(
|
||||||
|
override var enable: Boolean,
|
||||||
|
override var rooms: RoomsOrTopLayer,
|
||||||
|
) : RoomsOrTopLayerSpecificVFXPreset, ToggleableVFXPreset
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
@SerialName("TileN")
|
||||||
|
public class TileN(
|
||||||
|
override var enable: Boolean,
|
||||||
|
override var rooms: RoomsOrTopLayer,
|
||||||
|
) : RoomsOrTopLayerSpecificVFXPreset, ToggleableVFXPreset, Vector2AmountSpecificVFXPreset,
|
||||||
|
DurationSpecificVFXPreset {
|
||||||
|
override var amount: Vector2 = Vector2.ONE
|
||||||
|
override var duration: Double = 0.0
|
||||||
|
override var ease: Easing = Easing.LINEAR
|
||||||
|
}
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
@SerialName("CustomScreenScroll")
|
||||||
|
public class CustomScreenScroll(
|
||||||
|
override var enable: Boolean,
|
||||||
|
override var rooms: RoomsOrTopLayer,
|
||||||
|
) : RoomsOrTopLayerSpecificVFXPreset, ToggleableVFXPreset, Vector2SpeedSpecificVFXPreset,
|
||||||
|
DurationSpecificVFXPreset {
|
||||||
|
override var xySpeed: Vector2 = Vector2.ZERO
|
||||||
|
override var duration: Double = 0.0
|
||||||
|
override var ease: Easing = Easing.LINEAR
|
||||||
|
}
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
@SerialName("ScreenWaves")
|
||||||
|
public class ScreenWaves(
|
||||||
|
override var enable: Boolean,
|
||||||
|
override var rooms: Rooms,
|
||||||
|
) : RoomsSpecificVFXPreset, ToggleableVFXPreset, IntensitySpecificVFXPreset, DurationSpecificVFXPreset {
|
||||||
|
override var intensity: Double? = 100.0
|
||||||
|
set(value) {
|
||||||
|
checkIntensity(value)
|
||||||
|
field = value
|
||||||
|
}
|
||||||
|
override var duration: Double = 0.0
|
||||||
|
override var ease: Easing = Easing.LINEAR
|
||||||
|
}
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
@SerialName("HeatDistortion")
|
||||||
|
public class HeatDistortion(
|
||||||
|
override var enable: Boolean,
|
||||||
|
override var rooms: Rooms,
|
||||||
|
) : RoomsSpecificVFXPreset, ToggleableVFXPreset, IntensitySpecificVFXPreset, DurationSpecificVFXPreset {
|
||||||
|
override var intensity: Double? = 100.0
|
||||||
|
set(value) {
|
||||||
|
checkIntensity(value)
|
||||||
|
field = value
|
||||||
|
}
|
||||||
|
override var duration: Double = 0.0
|
||||||
|
override var ease: Easing = Easing.LINEAR
|
||||||
|
}
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
@SerialName("Pixelate")
|
||||||
|
public class Pixelate(
|
||||||
|
override var enable: Boolean,
|
||||||
|
override var rooms: Rooms,
|
||||||
|
) : RoomsSpecificVFXPreset, ToggleableVFXPreset, Vector2AmountSpecificVFXPreset, DurationSpecificVFXPreset {
|
||||||
|
override var amount: Vector2 = Vector2.ONE
|
||||||
|
override var duration: Double = 0.0
|
||||||
|
override var ease: Easing = Easing.LINEAR
|
||||||
|
}
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
@SerialName("Mosaic")
|
||||||
|
public class Mosaic(
|
||||||
|
override var enable: Boolean,
|
||||||
|
override var rooms: Rooms,
|
||||||
|
) : RoomsSpecificVFXPreset, ToggleableVFXPreset, IntensitySpecificVFXPreset, DurationSpecificVFXPreset {
|
||||||
|
override var intensity: Double? = 100.0
|
||||||
|
set(value) {
|
||||||
|
checkIntensity(value)
|
||||||
|
field = value
|
||||||
|
}
|
||||||
|
override var duration: Double = 0.0
|
||||||
|
override var ease: Easing = Easing.LINEAR
|
||||||
|
}
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
@SerialName("GlassShatter")
|
||||||
|
public class GlassShatter(
|
||||||
|
override var enable: Boolean,
|
||||||
|
override var rooms: Rooms,
|
||||||
|
) : RoomsSpecificVFXPreset, ToggleableVFXPreset
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
@SerialName("GlitchObstruction")
|
||||||
|
public class GlitchObstruction(
|
||||||
|
override var enable: Boolean,
|
||||||
|
override var rooms: RoomsOrTopLayer,
|
||||||
|
) : RoomsOrTopLayerSpecificVFXPreset, ToggleableVFXPreset
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
@SerialName("Noise")
|
||||||
|
public class Noise(
|
||||||
|
override var enable: Boolean,
|
||||||
|
override var rooms: RoomsOrTopLayer,
|
||||||
|
) : RoomsOrTopLayerSpecificVFXPreset, ToggleableVFXPreset
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
@SerialName("HueShift")
|
||||||
|
public class HueShift(
|
||||||
|
override var enable: Boolean,
|
||||||
|
override var rooms: RoomsOrTopLayer,
|
||||||
|
) : RoomsOrTopLayerSpecificVFXPreset, ToggleableVFXPreset, IntensitySpecificVFXPreset, DurationSpecificVFXPreset {
|
||||||
|
override var intensity: Double? = 100.0
|
||||||
|
set(value) {
|
||||||
|
checkIntensity(value)
|
||||||
|
field = value
|
||||||
|
}
|
||||||
|
override var duration: Double = 0.0
|
||||||
|
override var ease: Easing = Easing.LINEAR
|
||||||
|
}
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
@SerialName("Brightness")
|
||||||
|
public class Brightness(
|
||||||
|
override var enable: Boolean,
|
||||||
|
override var rooms: RoomsOrTopLayer,
|
||||||
|
) : RoomsOrTopLayerSpecificVFXPreset, ToggleableVFXPreset, IntensitySpecificVFXPreset, DurationSpecificVFXPreset {
|
||||||
|
override var intensity: Double? = 100.0
|
||||||
|
set(value) {
|
||||||
|
checkIntensity(value)
|
||||||
|
field = value
|
||||||
|
}
|
||||||
|
override var duration: Double = 0.0
|
||||||
|
override var ease: Easing = Easing.LINEAR
|
||||||
|
}
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
@SerialName("Contrast")
|
||||||
|
public class Contrast(
|
||||||
|
override var enable: Boolean,
|
||||||
|
override var rooms: RoomsOrTopLayer,
|
||||||
|
) : RoomsOrTopLayerSpecificVFXPreset, ToggleableVFXPreset, IntensitySpecificVFXPreset, DurationSpecificVFXPreset {
|
||||||
|
override var intensity: Double? = 100.0
|
||||||
|
set(value) {
|
||||||
|
checkIntensity(value)
|
||||||
|
field = value
|
||||||
|
}
|
||||||
|
override var duration: Double = 0.0
|
||||||
|
override var ease: Easing = Easing.LINEAR
|
||||||
|
}
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
@SerialName("Saturation")
|
||||||
|
public class Saturation(
|
||||||
|
override var enable: Boolean,
|
||||||
|
override var rooms: RoomsOrTopLayer,
|
||||||
|
) : RoomsOrTopLayerSpecificVFXPreset, ToggleableVFXPreset, IntensitySpecificVFXPreset, DurationSpecificVFXPreset {
|
||||||
|
override var intensity: Double? = 100.0
|
||||||
|
set(value) {
|
||||||
|
checkIntensity(value)
|
||||||
|
field = value
|
||||||
|
}
|
||||||
|
override var duration: Double = 0.0
|
||||||
|
override var ease: Easing = Easing.LINEAR
|
||||||
|
}
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
@SerialName("BlackAndWhite")
|
||||||
|
public class BlackAndWhite(
|
||||||
|
override var enable: Boolean,
|
||||||
|
override var rooms: RoomsOrTopLayer,
|
||||||
|
) : RoomsOrTopLayerSpecificVFXPreset, ToggleableVFXPreset
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
@SerialName("Sepia")
|
||||||
|
public class Sepia(
|
||||||
|
override var enable: Boolean,
|
||||||
|
override var rooms: RoomsOrTopLayer,
|
||||||
|
) : RoomsOrTopLayerSpecificVFXPreset, ToggleableVFXPreset
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
@SerialName("Bloom")
|
||||||
|
public class Bloom(
|
||||||
|
override var enable: Boolean,
|
||||||
|
override var rooms: Rooms,
|
||||||
|
) : RoomsSpecificVFXPreset, ToggleableVFXPreset, ThresholdSpecificVFXPreset, IntensitySpecificVFXPreset,
|
||||||
|
ColorSpecificVFXPreset, DurationSpecificVFXPreset {
|
||||||
|
override var threshold: Double? = 0.3
|
||||||
|
override var intensity: Double? = 5.0
|
||||||
|
set(value) {
|
||||||
|
checkIntensity(value)
|
||||||
|
field = value
|
||||||
|
}
|
||||||
|
override var color: ColorOrPalette? = DEFAULT_COLOR
|
||||||
|
override var duration: Double = 0.0
|
||||||
|
override var ease: Easing = Easing.LINEAR
|
||||||
|
|
||||||
|
public companion object {
|
||||||
|
@JvmField
|
||||||
|
public val DEFAULT_COLOR: ColorWithAlpha = WHITE
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
@SerialName("OrangeBloom")
|
||||||
|
public class OrangeBloom(
|
||||||
|
override var enable: Boolean,
|
||||||
|
override var rooms: Rooms,
|
||||||
|
) : RoomsSpecificVFXPreset, ToggleableVFXPreset
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
@SerialName("BlueBloom")
|
||||||
|
public class BlueBloom(
|
||||||
|
override var enable: Boolean,
|
||||||
|
override var rooms: Rooms,
|
||||||
|
) : RoomsSpecificVFXPreset, ToggleableVFXPreset
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
@SerialName("Funk")
|
||||||
|
public class Funk(
|
||||||
|
override var enable: Boolean,
|
||||||
|
override var rooms: Rooms,
|
||||||
|
) : RoomsSpecificVFXPreset, ToggleableVFXPreset
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
@SerialName("Drawing")
|
||||||
|
public class Drawing(
|
||||||
|
override var enable: Boolean,
|
||||||
|
override var rooms: Rooms,
|
||||||
|
) : RoomsSpecificVFXPreset, ToggleableVFXPreset, IntensitySpecificVFXPreset, ColorSpecificVFXPreset,
|
||||||
|
SpeedSpecificVFXPreset, DurationSpecificVFXPreset {
|
||||||
|
override var intensity: Double? = 100.0
|
||||||
|
set(value) {
|
||||||
|
checkIntensity(value)
|
||||||
|
field = value
|
||||||
|
}
|
||||||
|
override var color: ColorOrPalette? = DEFAULT_COLOR
|
||||||
|
override var speedPerc: Double? = 100.0
|
||||||
|
set(value) {
|
||||||
|
checkSpeed(value)
|
||||||
|
field = value
|
||||||
|
}
|
||||||
|
override var duration: Double = 0.0
|
||||||
|
override var ease: Easing = Easing.LINEAR
|
||||||
|
|
||||||
|
public companion object {
|
||||||
|
@JvmField
|
||||||
|
public val DEFAULT_COLOR: ColorWithAlpha = BLACK
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
@SerialName("Dots")
|
||||||
|
public class Dots(
|
||||||
|
override var enable: Boolean,
|
||||||
|
override var rooms: Rooms,
|
||||||
|
) : RoomsSpecificVFXPreset, ToggleableVFXPreset, IntensitySpecificVFXPreset, DurationSpecificVFXPreset {
|
||||||
|
override var intensity: Double? = 100.0
|
||||||
|
set(value) {
|
||||||
|
checkIntensity(value)
|
||||||
|
field = value
|
||||||
|
}
|
||||||
|
override var duration: Double = 0.0
|
||||||
|
override var ease: Easing = Easing.LINEAR
|
||||||
|
}
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
@SerialName("EyesBig")
|
||||||
|
public class EyesBig(
|
||||||
|
override var enable: Boolean,
|
||||||
|
override var rooms: Rooms,
|
||||||
|
) : RoomsSpecificVFXPreset, ToggleableVFXPreset, IntensitySpecificVFXPreset, ColorSpecificVFXPreset,
|
||||||
|
Vector2SpeedSpecificVFXPreset, DurationSpecificVFXPreset {
|
||||||
|
override var intensity: Double? = 100.0
|
||||||
|
set(value) {
|
||||||
|
checkIntensity(value)
|
||||||
|
field = value
|
||||||
|
}
|
||||||
|
override var color: ColorOrPalette? = DEFAULT_COLOR
|
||||||
|
override var xySpeed: Vector2 = Vector2.ZERO
|
||||||
|
override var duration: Double = 0.0
|
||||||
|
override var ease: Easing = Easing.LINEAR
|
||||||
|
|
||||||
|
public companion object {
|
||||||
|
@JvmField
|
||||||
|
public val DEFAULT_COLOR: ColorWithAlpha = WHITE
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
@SerialName("EyesSmall")
|
||||||
|
public class EyesSmall(
|
||||||
|
override var enable: Boolean,
|
||||||
|
override var rooms: Rooms,
|
||||||
|
) : RoomsSpecificVFXPreset, ToggleableVFXPreset, IntensitySpecificVFXPreset, ColorSpecificVFXPreset,
|
||||||
|
Vector2SpeedSpecificVFXPreset, DurationSpecificVFXPreset {
|
||||||
|
override var intensity: Double? = 100.0
|
||||||
|
set(value) {
|
||||||
|
checkIntensity(value)
|
||||||
|
field = value
|
||||||
|
}
|
||||||
|
override var color: ColorOrPalette? = DEFAULT_COLOR
|
||||||
|
override var xySpeed: Vector2 = Vector2.ZERO
|
||||||
|
override var duration: Double = 0.0
|
||||||
|
override var ease: Easing = Easing.LINEAR
|
||||||
|
|
||||||
|
public companion object {
|
||||||
|
@JvmField
|
||||||
|
public val DEFAULT_COLOR: ColorWithAlpha = WHITE
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
@SerialName("Tutorial")
|
||||||
|
public class Tutorial(
|
||||||
|
override var enable: Boolean,
|
||||||
|
override var rooms: Rooms,
|
||||||
|
) : RoomsSpecificVFXPreset, ToggleableVFXPreset, IntensitySpecificVFXPreset, ColorSpecificVFXPreset,
|
||||||
|
DurationSpecificVFXPreset {
|
||||||
|
override var intensity: Double? = 100.0
|
||||||
|
set(value) {
|
||||||
|
checkIntensity(value)
|
||||||
|
field = value
|
||||||
|
}
|
||||||
|
override var color: ColorOrPalette? = DEFAULT_COLOR
|
||||||
|
override var duration: Double = 0.0
|
||||||
|
override var ease: Easing = Easing.LINEAR
|
||||||
|
|
||||||
|
public companion object {
|
||||||
|
@JvmField
|
||||||
|
public val DEFAULT_COLOR: ColorWithAlpha = WHITE
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
@SerialName("Tile2")
|
||||||
|
@RDDeprecated
|
||||||
|
public class Tile2(
|
||||||
|
override var enable: Boolean,
|
||||||
|
override var rooms: RoomsOrTopLayer,
|
||||||
|
) : RoomsOrTopLayerSpecificVFXPreset, ToggleableVFXPreset
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
@SerialName("Tile3")
|
||||||
|
@RDDeprecated
|
||||||
|
public class Tile3(
|
||||||
|
override var enable: Boolean,
|
||||||
|
override var rooms: RoomsOrTopLayer,
|
||||||
|
) : RoomsOrTopLayerSpecificVFXPreset, ToggleableVFXPreset
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
@SerialName("Tile4")
|
||||||
|
@RDDeprecated
|
||||||
|
public class Tile4(
|
||||||
|
override var enable: Boolean,
|
||||||
|
override var rooms: RoomsOrTopLayer,
|
||||||
|
) : RoomsOrTopLayerSpecificVFXPreset, ToggleableVFXPreset
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
@SerialName("ScreenScrollX")
|
||||||
|
@RDDeprecated
|
||||||
|
public class ScreenScrollX(
|
||||||
|
override var enable: Boolean,
|
||||||
|
override var rooms: Rooms,
|
||||||
|
) : RoomsSpecificVFXPreset, ToggleableVFXPreset
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
@SerialName("ScreenScroll")
|
||||||
|
@RDDeprecated
|
||||||
|
public class ScreenScroll(
|
||||||
|
override var enable: Boolean,
|
||||||
|
override var rooms: Rooms,
|
||||||
|
) : RoomsSpecificVFXPreset, ToggleableVFXPreset
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
@SerialName("ScreenScrollSansVHS")
|
||||||
|
@RDDeprecated
|
||||||
|
public class ScreenScrollSansVHS(
|
||||||
|
override var enable: Boolean,
|
||||||
|
override var rooms: Rooms,
|
||||||
|
) : RoomsSpecificVFXPreset, ToggleableVFXPreset
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
@SerialName("ScreenScrollXSansVHS")
|
||||||
|
@RDDeprecated
|
||||||
|
public class ScreenScrollXSansVHS(
|
||||||
|
override var enable: Boolean,
|
||||||
|
override var rooms: Rooms,
|
||||||
|
) : RoomsSpecificVFXPreset, ToggleableVFXPreset
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
@SerialName("RowGlowWhite")
|
||||||
|
@RDDeprecated
|
||||||
|
public class RowGlowWhite(
|
||||||
|
override var enable: Boolean,
|
||||||
|
override var rooms: Rooms,
|
||||||
|
) : RoomsSpecificVFXPreset, ToggleableVFXPreset
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
@SerialName("RowOutline")
|
||||||
|
@RDDeprecated
|
||||||
|
public class RowOutline(
|
||||||
|
override var enable: Boolean,
|
||||||
|
override var rooms: Rooms,
|
||||||
|
) : RoomsSpecificVFXPreset, ToggleableVFXPreset
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
@SerialName("RowShadow")
|
||||||
|
@RDDeprecated
|
||||||
|
public class RowShadow(
|
||||||
|
override var enable: Boolean,
|
||||||
|
override var rooms: Rooms,
|
||||||
|
) : RoomsSpecificVFXPreset, ToggleableVFXPreset
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
@SerialName("RowAllWhite")
|
||||||
|
@RDDeprecated
|
||||||
|
public class RowAllWhite(
|
||||||
|
override var enable: Boolean,
|
||||||
|
override var rooms: Rooms,
|
||||||
|
) : RoomsSpecificVFXPreset, ToggleableVFXPreset
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
@SerialName("RowSilhouetteGlow")
|
||||||
|
@RDDeprecated
|
||||||
|
public class RowSilhouetteGlow(
|
||||||
|
override var enable: Boolean,
|
||||||
|
override var rooms: Rooms,
|
||||||
|
) : RoomsSpecificVFXPreset, ToggleableVFXPreset
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
@SerialName("RowPlain")
|
||||||
|
@RDDeprecated
|
||||||
|
public class RowPlain(
|
||||||
|
override var enable: Boolean,
|
||||||
|
override var rooms: Rooms,
|
||||||
|
) : RoomsSpecificVFXPreset, ToggleableVFXPreset
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
@SerialName("Blackout")
|
||||||
|
@RDDeprecated
|
||||||
|
public class Blackout(
|
||||||
|
override var enable: Boolean,
|
||||||
|
override var rooms: Rooms,
|
||||||
|
) : RoomsSpecificVFXPreset, ToggleableVFXPreset
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
@SerialName("MiawMiaw")
|
||||||
|
@RDDeprecated
|
||||||
|
public class MiawMiaw(
|
||||||
|
override var enable: Boolean,
|
||||||
|
override var rooms: Rooms,
|
||||||
|
) : RoomsSpecificVFXPreset, ToggleableVFXPreset
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
@SerialName("DisableAll")
|
||||||
|
public class DisableAll(
|
||||||
|
override var rooms: RoomsOrTopLayer,
|
||||||
|
) : RoomsOrTopLayerSpecificVFXPreset
|
||||||
|
}
|
||||||
|
|
||||||
|
public sealed interface RoomsOrTopLayerSpecificVFXPreset : VFXPreset {
|
||||||
|
override var rooms: RoomsOrTopLayer
|
||||||
|
}
|
||||||
|
|
||||||
|
public sealed interface RoomsSpecificVFXPreset : VFXPreset {
|
||||||
|
override var rooms: Rooms
|
||||||
|
}
|
||||||
|
|
||||||
|
public sealed interface ToggleableVFXPreset : VFXPreset {
|
||||||
|
public var enable: Boolean
|
||||||
|
}
|
||||||
|
|
||||||
|
public sealed interface ThresholdSpecificVFXPreset : VFXPreset {
|
||||||
|
public var threshold: Double?
|
||||||
|
}
|
||||||
|
|
||||||
|
public sealed interface IntensitySpecificVFXPreset : VFXPreset {
|
||||||
|
public var intensity: Double?
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun IntensitySpecificVFXPreset.checkIntensity(value: Double? = intensity) {
|
||||||
|
require(value == null || value in -9999.0..9999.0) { "Intensity must be between -9999 and 9999, but was $value." }
|
||||||
|
}
|
||||||
|
|
||||||
|
public sealed interface ColorSpecificVFXPreset : VFXPreset {
|
||||||
|
public var color: ColorOrPalette?
|
||||||
|
}
|
||||||
|
|
||||||
|
public sealed interface Vector2AmountSpecificVFXPreset : VFXPreset {
|
||||||
|
public var amount: Vector2
|
||||||
|
}
|
||||||
|
|
||||||
|
public sealed interface SpeedSpecificVFXPreset : VFXPreset {
|
||||||
|
public var speedPerc: Double?
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun SpeedSpecificVFXPreset.checkSpeed(value: Double? = speedPerc) {
|
||||||
|
require(value == null || value in -9999.0..9999.0) { "Speed must be between -9999 and 9999, but was $value." }
|
||||||
|
}
|
||||||
|
|
||||||
|
public sealed interface Vector2SpeedSpecificVFXPreset : VFXPreset {
|
||||||
|
public var xySpeed: Vector2
|
||||||
|
}
|
||||||
|
|
||||||
|
public sealed interface DurationSpecificVFXPreset : VFXPreset {
|
||||||
|
public var duration: Double
|
||||||
|
public var ease: Easing
|
||||||
|
}
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
@file:OptIn(RDKTInternalAPI::class)
|
||||||
|
|
||||||
|
package cn.rdlevel.rdkt.core.events
|
||||||
|
|
||||||
|
import cn.rdlevel.rdkt.core.annotations.RDKTInternalAPI
|
||||||
|
import cn.rdlevel.rdkt.core.data.RoomsOrTopLayer
|
||||||
|
import cn.rdlevel.rdkt.core.data.action.VFXPreset
|
||||||
|
import cn.rdlevel.rdkt.core.serialization.Flatten
|
||||||
|
import cn.rdlevel.rdkt.core.serialization.flatten
|
||||||
|
import kotlinx.serialization.*
|
||||||
|
|
||||||
|
@OptIn(ExperimentalSerializationApi::class)
|
||||||
|
@Serializable(SetVFXPresetEvent.Serializer::class)
|
||||||
|
@KeepGeneratedSerializer
|
||||||
|
@SerialName("SetVFXPreset")
|
||||||
|
public data class SetVFXPresetEvent(
|
||||||
|
@Flatten
|
||||||
|
var vfxPreset: VFXPreset
|
||||||
|
) : ActionEvent(), RoomsOrTopLayerSpecificEvent {
|
||||||
|
override val rooms: RoomsOrTopLayer
|
||||||
|
get() = vfxPreset.rooms
|
||||||
|
|
||||||
|
public object Serializer : KSerializer<SetVFXPresetEvent> by generatedSerializer().flatten()
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user