36 lines
1.4 KiB
Kotlin
36 lines
1.4 KiB
Kotlin
package ru.dbotthepony.kstarbound.defs.particle
|
|
|
|
import com.google.common.collect.ImmutableList
|
|
import ru.dbotthepony.kstarbound.defs.animation.DestructionAction
|
|
import ru.dbotthepony.kstarbound.io.json.builder.JsonFactory
|
|
import ru.dbotthepony.kstarbound.util.SBPattern
|
|
import ru.dbotthepony.kvector.vector.Color
|
|
import ru.dbotthepony.kvector.vector.ndouble.Vector2d
|
|
import ru.dbotthepony.kvector.vector.ndouble.Vector4d
|
|
|
|
@JsonFactory
|
|
data class ParticleEmitter(
|
|
val enabled: Boolean = true,
|
|
val emissionRate: Double = 1.0,
|
|
val count: Int = 1,
|
|
val transformationGroups: ImmutableList<String> = ImmutableList.of(),
|
|
val particles: ImmutableList<ParticleCreator>,
|
|
|
|
override val offset: Vector2d? = null,
|
|
override val position: Vector2d? = null,
|
|
override val offsetRegion: Vector4d? = null,
|
|
override val initialVelocity: Vector2d? = null,
|
|
override val finalVelocity: Vector2d? = null,
|
|
override val approach: Vector2d? = null,
|
|
override val angularVelocity: Double? = null,
|
|
override val destructionAction: DestructionAction? = null,
|
|
override val destructionTime: Double? = null,
|
|
override val fade: Double? = null,
|
|
override val size: Double? = null,
|
|
override val layer: ParticleLayer? = null,
|
|
override val timeToLive: Double? = null,
|
|
override val variance: IParticleVariance? = null,
|
|
override val color: Color? = null,
|
|
override val text: SBPattern? = null,
|
|
) : IParticleConfig
|