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