HexCasting/Common/src/main/java/at/petrak/hexcasting/common/casting/actions/math/logic/OpBoolXor.kt

18 lines
628 B
Kotlin

package at.petrak.hexcasting.common.casting.actions.math.logic
import at.petrak.hexcasting.api.casting.asActionResult
import at.petrak.hexcasting.api.casting.castables.ConstMediaAction
import at.petrak.hexcasting.api.casting.eval.CastingEnvironment
import at.petrak.hexcasting.api.casting.getBool
import at.petrak.hexcasting.api.casting.iota.Iota
object OpBoolXor : ConstMediaAction {
override val argc = 2
override fun execute(args: List<Iota>, env: CastingEnvironment): List<Iota> {
val lhs = args.getBool(0, argc)
val rhs = args.getBool(1, argc)
return (lhs xor rhs).asActionResult
}
}