KStarbound/src/main/kotlin/ru/dbotthepony/kstarbound/defs/IScriptable.kt

25 lines
676 B
Kotlin

package ru.dbotthepony.kstarbound.defs
import com.google.common.collect.ImmutableList
import ru.dbotthepony.kstarbound.json.builder.JsonFactory
import ru.dbotthepony.kstarbound.json.builder.JsonImplementation
@JsonImplementation(IScriptable.Impl::class)
interface IScriptable {
/**
* Lua скрипты для выполнения
*/
val scripts: List<AssetPath>
/**
* Через какое количество тиков вызывать обновления скриптов
*/
val scriptDelta: Int
@JsonFactory
data class Impl(
override val scripts: ImmutableList<AssetPath> = ImmutableList.of(),
override val scriptDelta: Int = 1
) : IScriptable
}