ASMR/src/main/kotlin/net/shadowfacts/asmr/program/ProgramBlockInput.kt

30 lines
507 B
Kotlin
Raw Normal View History

2019-08-09 01:44:59 +00:00
package net.shadowfacts.asmr.program
2019-08-10 02:39:01 +00:00
import net.minecraft.util.Identifier
2019-08-09 01:44:59 +00:00
/**
* @author shadowfacts
*/
class ProgramBlockInput<Type: Any>(
2019-08-10 02:39:01 +00:00
val identifier: Identifier,
2019-08-09 01:44:59 +00:00
val type: ProgramType<Type>,
val block: ProgramBlock,
source: ProgramBlockOutput<Type>? = null
2019-08-09 01:44:59 +00:00
) {
var source: ProgramBlockOutput<Type>? = source
internal set
2019-08-09 01:44:59 +00:00
val value: Type?
get() = source?.value
fun link(from: ProgramBlockOutput<Type>) {
from.link(to = this)
}
fun unlink() {
source?.unlink(to = this)
}
2019-08-09 01:44:59 +00:00
}