From 60615d5a35ef62217c38617f8d7b6359d007cf6e Mon Sep 17 00:00:00 2001 From: NoMathExpectation <85624722+NoMathExpectation@users.noreply.github.com> Date: Sun, 8 Mar 2026 21:17:44 +0800 Subject: [PATCH] Added SetOneshotWaveEvent. --- .../rdkt/core/events/SetOneshotWaveEvent.kt | 62 +++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 core/src/commonMain/kotlin/cn/rdlevel/rdkt/core/events/SetOneshotWaveEvent.kt diff --git a/core/src/commonMain/kotlin/cn/rdlevel/rdkt/core/events/SetOneshotWaveEvent.kt b/core/src/commonMain/kotlin/cn/rdlevel/rdkt/core/events/SetOneshotWaveEvent.kt new file mode 100644 index 0000000..83d1cbd --- /dev/null +++ b/core/src/commonMain/kotlin/cn/rdlevel/rdkt/core/events/SetOneshotWaveEvent.kt @@ -0,0 +1,62 @@ +package cn.rdlevel.rdkt.core.events + + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * Sets the shape and size of oneshot waves on the specified row. + * + * @property waveType The type of the wave. + * @property height The height of the wave. + * @property width The width of the wave. + */ +@Serializable +@SerialName("SetOneshotWave") +public data class SetOneshotWaveEvent( + var waveType: WaveType = WaveType.BOOM_AND_RUSH, + var height: Int = 100, + var width: Int = 100, +) : RowEvent() { + /** + * The type of the wave. + */ + @Serializable + public enum class WaveType { + /** + * The default wave type. + */ + @SerialName("BoomAndRush") + BOOM_AND_RUSH, + + /** + * The wave is ball-shaped. + */ + @SerialName("Ball") + BALL, + + /** + * The wave is spring-shaped. + */ + @SerialName("Spring") + SPRING, + + /** + * The wave is spike-shaped. + */ + @SerialName("Spike") + SPIKE, + + /** + * The wave is huge spike-shaped. + */ + @SerialName("SpikeHuge") + SPIKE_HUGE, + + /** + * The wave will slowly reduce its height and moves toward the right. + */ + @SerialName("Single") + SINGLE, + } +} \ No newline at end of file