Integrate gauges into cockpit dashboard
This commit is contained in:
1 parent
0b79bf9b82
commit
53288b48c8
7 files changed
+213
-17
No files matched your search
@@ -12,8 +12,19 @@ var _pressure_needle: Node3D
|
||||
func _init(materials: CockpitMaterialPalette) -> void:
|
||||
_materials = materials
|
||||
name = "AnalogGauges"
|
||||
_battery_needle = _add_gauge("BatteryGauge", Vector3(-0.34, 0.48, -1.14), "BAT")
|
||||
_pressure_needle = _add_gauge("PressureGauge", Vector3(0.34, 0.48, -1.14), "BAR")
|
||||
_build_binnacle()
|
||||
_battery_needle = _add_gauge(
|
||||
"BatteryGauge",
|
||||
Vector3(-0.095, 0.315, 0.145),
|
||||
"%"
|
||||
)
|
||||
_pressure_needle = _add_gauge(
|
||||
"PressureGauge",
|
||||
Vector3(0.095, 0.315, 0.145),
|
||||
"BAR"
|
||||
)
|
||||
_add_binnacle_label("CHARGE BAT.", Vector3(-0.095, 0.235, 0.160))
|
||||
_add_binnacle_label("PRESSION COQUE", Vector3(0.095, 0.235, 0.160))
|
||||
|
||||
|
||||
func present(battery_ratio: float, pressure_ratio: float) -> void:
|
||||
@@ -25,11 +36,39 @@ func battery_needle_degrees() -> float:
|
||||
return 0.0 if _battery_needle == null else _battery_needle.rotation_degrees.z
|
||||
|
||||
|
||||
func _build_binnacle() -> void:
|
||||
CockpitMeshFactory.add_box(
|
||||
"BinnacleHousing",
|
||||
self,
|
||||
Vector3(0.0, 0.290, 0.095),
|
||||
Vector3(0.40, 0.180, 0.105),
|
||||
_materials.overhead_steel
|
||||
)
|
||||
CockpitMeshFactory.add_box(
|
||||
"BinnacleFoot",
|
||||
self,
|
||||
Vector3(0.0, 0.205, 0.075),
|
||||
Vector3(0.47, 0.040, 0.14),
|
||||
_materials.dark_steel
|
||||
)
|
||||
|
||||
|
||||
func _add_binnacle_label(caption: String, position: Vector3) -> void:
|
||||
var label := Label3D.new()
|
||||
label.name = "%sLabel" % caption.to_pascal_case().replace(" ", "")
|
||||
label.text = caption
|
||||
label.font_size = 12
|
||||
label.pixel_size = 0.00055
|
||||
label.modulate = Color(0.76, 0.72, 0.60)
|
||||
label.position = position
|
||||
add_child(label)
|
||||
|
||||
|
||||
func _add_gauge(gauge_name: String, position: Vector3, caption: String) -> Node3D:
|
||||
var gauge := Node3D.new()
|
||||
gauge.name = gauge_name
|
||||
gauge.position = position
|
||||
gauge.scale = Vector3(0.78, 0.78, 0.78)
|
||||
gauge.scale = Vector3(0.62, 0.62, 0.62)
|
||||
add_child(gauge)
|
||||
CockpitMeshFactory.add_box(
|
||||
"MountingPlate",
|
||||
|
||||
Reference in new issue
Block a user