unfinished business
This commit is contained in:
parent
25d176a3df
commit
af649746fd
3 changed files with 13 additions and 12 deletions
|
|
@ -52,7 +52,7 @@ resource_local_to_scene = true
|
|||
render_priority = 0
|
||||
shader = ExtResource("4_ailwx")
|
||||
shader_parameter/albedo_color = Color(0, 0, 0, 1)
|
||||
shader_parameter/fill = 0.8999999798832
|
||||
shader_parameter/fill = 0.0
|
||||
shader_parameter/wave_intensity = 0.0
|
||||
|
||||
[sub_resource type="CylinderMesh" id="CylinderMesh_h7awq"]
|
||||
|
|
|
|||
|
|
@ -22,11 +22,11 @@ var total_amount: float:
|
|||
result += inventory[sub].amount
|
||||
return result
|
||||
|
||||
signal inventory_changed(substances: Array[RuntimeSubstanceData])
|
||||
signal inventory_changed(substances: Array[RuntimeSubstanceData], capacity: float)
|
||||
signal temperature_changed(to: float)
|
||||
|
||||
func _ready() -> void:
|
||||
inventory_changed.emit(inventory.values())
|
||||
inventory_changed.emit(inventory.values(),capacity)
|
||||
|
||||
func update_solutions():
|
||||
var has_water = inventory.has("Вода")
|
||||
|
|
@ -42,7 +42,7 @@ func add_substance(data: RuntimeSubstanceData) -> void:
|
|||
check_for_reactions()
|
||||
recalculate_temperature()
|
||||
update_solutions()
|
||||
inventory_changed.emit(inventory.values())
|
||||
inventory_changed.emit(inventory.values(),capacity)
|
||||
|
||||
func add_substance_no_callback(data: RuntimeSubstanceData) -> void:
|
||||
if data.substance.scientific_name in inventory:
|
||||
|
|
@ -57,7 +57,7 @@ func add_inventory(substances: Array[RuntimeSubstanceData]) -> void:
|
|||
check_for_reactions()
|
||||
recalculate_temperature()
|
||||
update_solutions()
|
||||
inventory_changed.emit(inventory.values())
|
||||
inventory_changed.emit(inventory.values(),capacity)
|
||||
|
||||
func extract(amount: float) -> Array[RuntimeSubstanceData]:
|
||||
if len(inventory) == 0:
|
||||
|
|
@ -80,7 +80,7 @@ func extract(amount: float) -> Array[RuntimeSubstanceData]:
|
|||
inventory.erase(result_substance.substance.scientific_name)
|
||||
|
||||
update_solutions()
|
||||
inventory_changed.emit(inventory.values())
|
||||
inventory_changed.emit(inventory.values(),capacity)
|
||||
|
||||
return result
|
||||
|
||||
|
|
@ -106,7 +106,7 @@ func extract_solid(amount: float) -> Array[RuntimeSubstanceData]:
|
|||
inventory.erase(result_substance.substance.scientific_name)
|
||||
|
||||
update_solutions()
|
||||
inventory_changed.emit(inventory.values())
|
||||
inventory_changed.emit(inventory.values(),capacity)
|
||||
return result
|
||||
|
||||
func extract_substance(key: String, extract_amount: float) -> RuntimeSubstanceData:
|
||||
|
|
@ -121,7 +121,7 @@ func extract_substance(key: String, extract_amount: float) -> RuntimeSubstanceDa
|
|||
inventory.erase(result_substance.substance.scientific_name)
|
||||
|
||||
update_solutions()
|
||||
inventory_changed.emit(inventory.values())
|
||||
inventory_changed.emit(inventory.values(),capacity)
|
||||
|
||||
return result_substance
|
||||
|
||||
|
|
@ -180,7 +180,7 @@ func check_for_reactions() -> void:
|
|||
check_for_reactions()
|
||||
recalculate_temperature()
|
||||
update_solutions()
|
||||
inventory_changed.emit(inventory.values())
|
||||
inventory_changed.emit(inventory.values(),capacity)
|
||||
GuiSignalBus.push("Произошла реакция")
|
||||
if len(find_odor()) > 0:
|
||||
GuiSignalBus.push("Появился запах")
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ enum DisplayType{
|
|||
material_override.set_shader_parameter("wave_intensity",1.)
|
||||
tween.tween_property(material_override,"shader_parameter/wave_intensity",0.0,2.0)
|
||||
|
||||
func update_fluid_material(substances: Array[RuntimeSubstanceData]) -> void:
|
||||
func update_fluid_material(substances: Array[RuntimeSubstanceData],capacity: float) -> void:
|
||||
var mat: ShaderMaterial = material_override
|
||||
if len(substances) == 0:
|
||||
visible = false
|
||||
|
|
@ -52,6 +52,7 @@ func update_fluid_material(substances: Array[RuntimeSubstanceData]) -> void:
|
|||
|
||||
|
||||
mat.set_shader_parameter("albedo_color", color / total_color)
|
||||
mat.set_shader_parameter("fill",total_weight/capacity)
|
||||
|
||||
func update_solid_material(substances: Array[RuntimeSubstanceData]) -> void:
|
||||
var mat: StandardMaterial3D = material_override
|
||||
|
|
@ -94,11 +95,11 @@ func update_solid_material(substances: Array[RuntimeSubstanceData]) -> void:
|
|||
|
||||
mat.albedo_color = color / total_color
|
||||
|
||||
func update_material_unfiltered(substances: Array[RuntimeSubstanceData]):
|
||||
func update_material_unfiltered(substances: Array[RuntimeSubstanceData],capacity: float):
|
||||
match display_type:
|
||||
DisplayType.Fluid:
|
||||
var fluids = substances.filter(filter_liquids)
|
||||
update_fluid_material(fluids)
|
||||
update_fluid_material(fluids,capacity)
|
||||
DisplayType.Solid:
|
||||
var solids = substances.filter(filter_solids)
|
||||
update_solid_material(solids)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue