mirror of
https://github.com/curioustorvald/Terrarum.git
synced 2026-06-18 06:24:06 +09:00
actors can now block light
This commit is contained in:
@@ -58,6 +58,10 @@ object AVKey {
|
||||
const val LUMG = "luminositygreen"
|
||||
const val LUMB = "luminosityblue"
|
||||
const val LUMA = "luminosityuv"
|
||||
const val OPAR = "opacityred"
|
||||
const val OPAG = "opacitygreen"
|
||||
const val OPAB = "opacityblue"
|
||||
const val OPAA = "opacityuv"
|
||||
const val DRAGCOEFF = "dragcoeff"
|
||||
const val FALLDAMPENMULT = "falldampenmult"
|
||||
|
||||
|
||||
@@ -2,37 +2,28 @@ package net.torvald.terrarum.gameactors
|
||||
|
||||
import net.torvald.gdx.graphics.Cvec
|
||||
|
||||
data class Lightbox(val hitbox: Hitbox, val getLight: () -> Cvec)
|
||||
|
||||
/**
|
||||
* For actors that either emits or blocks lights
|
||||
*
|
||||
* Created by minjaesong on 2016-02-19.
|
||||
*/
|
||||
interface Luminous {
|
||||
|
||||
/**
|
||||
* Range of 0.0 - 4.0 for each channel
|
||||
*
|
||||
* Recommended implementation:
|
||||
*
|
||||
override var color: Color
|
||||
get() = Color(
|
||||
(actorValue.getAsFloat(AVKey.LUMR) ?: 0f) / LightmapRenderer.MUL_FLOAT,
|
||||
(actorValue.getAsFloat(AVKey.LUMG) ?: 0f) / LightmapRenderer.MUL_FLOAT,
|
||||
(actorValue.getAsFloat(AVKey.LUMB) ?: 0f) / LightmapRenderer.MUL_FLOAT,
|
||||
(actorValue.getAsFloat(AVKey.LUMA) ?: 0f) / LightmapRenderer.MUL_FLOAT,
|
||||
)
|
||||
set(value) {
|
||||
actorValue[AVKey.LUMR] = value.r * LightmapRenderer.MUL_FLOAT
|
||||
actorValue[AVKey.LUMG] = value.g * LightmapRenderer.MUL_FLOAT
|
||||
actorValue[AVKey.LUMB] = value.b * LightmapRenderer.MUL_FLOAT
|
||||
actorValue[AVKey.LUMA] = value.a * LightmapRenderer.MUL_FLOAT
|
||||
}
|
||||
*/
|
||||
var color: Cvec
|
||||
|
||||
/**
|
||||
* Arguments:
|
||||
*
|
||||
* Hitbox(x-offset, y-offset, width, height)
|
||||
* (Use ArrayList for normal circumstances)
|
||||
*/
|
||||
val lightBoxList: List<Hitbox>
|
||||
val lightBoxList: List<Lightbox>
|
||||
|
||||
/**
|
||||
* Arguments:
|
||||
*
|
||||
* Hitbox(x-offset, y-offset, width, height)
|
||||
* (Use ArrayList for normal circumstances)
|
||||
*/
|
||||
val shadeBoxList: List<Lightbox>
|
||||
}
|
||||
Reference in New Issue
Block a user