This commit is contained in:
Rendo 2026-01-16 00:37:49 +05:00
commit 6fcca904a1
11 changed files with 92 additions and 9 deletions

View file

@ -161,4 +161,3 @@ func check_for_reactions() -> void:
check_for_reactions()
recalculate_temperature()
inventory_changed.emit(inventory.values())
print(inventory)

View file

@ -7,7 +7,9 @@ class_name Substance
@export var melting_point: float
@export var boiling_point: float
@export var liquid_transparency: float = 0.5
@export var pH: float = 7.0
@export var color: Color
@export var pHColor: Gradient
@export var prefer_scientific_name: bool
@export var is_solution: bool

View file

@ -21,17 +21,27 @@ func update_material(substances: Array[RuntimeSubstanceData]) -> void:
total_weight += sub.amount
var alpha: float = 0
var color: Color = Color.WHITE
var pH: float = 0
var color: Color = Color(0,0,0,0)
for sub in substances:
for sub: RuntimeSubstanceData in substances:
var weight: float = sub.amount/total_weight
pH += sub.substance.pH * weight
for sub: RuntimeSubstanceData in substances:
var weight: float = sub.amount/total_weight
if display_type == DisplayType.Fluid:
alpha += sub.substance.liquid_transparency
color = color.lerp(sub.substance.color,sub.amount/total_weight
)
alpha += sub.substance.liquid_transparency * weight
if sub.substance.pHColor != null:
color += sub.substance.pHColor.sample(pH/14.0) * weight
else:
color += sub.substance.color * weight
if display_type == DisplayType.Fluid:
alpha /= len(substances)
color.a = alpha
mat.albedo_color = color
func update_material_unfiltered(substances: Array[RuntimeSubstanceData]):