Add controls view to instruments and set address with property
This commit is contained in:
parent
f8d769ebc6
commit
d1c450493d
3 changed files with 48 additions and 65 deletions
|
|
@ -1,31 +1,12 @@
|
||||||
extends Node
|
extends Node
|
||||||
|
|
||||||
@export var browser_name: String = "browser"
|
const PFD_PATH: String = "pfd#adi,vsi,alt,ias,rht,rpm,hsi"
|
||||||
@export var url: String = "http://192.168.1.2:5555/pfd"
|
const CONTROLS_PATH: String = "controls#collective,cyclic,rudder"
|
||||||
|
|
||||||
|
@export var lidia_hostname: String = "localhost"
|
||||||
|
@export var lidia_port: int = 5555
|
||||||
|
|
||||||
# ==============================================================================
|
|
||||||
# Create a single browser named "browser_name" that is attached as child node to $CEF.
|
|
||||||
# ==============================================================================
|
|
||||||
func _ready():
|
func _ready():
|
||||||
# See API.md for more details. CEF Configuration is:
|
|
||||||
# resource_path := {"artifacts", CEF_ARTIFACTS_FOLDER}
|
|
||||||
# resource_path := {"exported_artifacts", application_real_path()}
|
|
||||||
# {"incognito":false}
|
|
||||||
# {"cache_path", resource_path / "cache"}
|
|
||||||
# {"root_cache_path", resource_path / "cache"}
|
|
||||||
# {"browser_subprocess_path", resource_path / SUBPROCESS_NAME }
|
|
||||||
# {"log_file", resource_path / "debug.log"}
|
|
||||||
# {log_severity", "warning"}
|
|
||||||
# {"remote_debugging_port", 7777}
|
|
||||||
# {"exception_stack_size", 5}
|
|
||||||
# {"enable_media_stream", false}
|
|
||||||
#
|
|
||||||
# Configurate CEF. In incognito mode cache directories not used and in-memory
|
|
||||||
# caches are used instead and no data is persisted to disk.
|
|
||||||
#
|
|
||||||
# artifacts: allows path such as "build" or "res://cef_artifacts/". Note that "res://"
|
|
||||||
# will use ProjectSettings.globalize_path but exported projects don't support globalize_path:
|
|
||||||
# https://docs.godotengine.org/en/3.5/classes/class_projectsettings.html#class-projectsettings-method-globalize-path
|
|
||||||
if !$CEF.initialize({"incognito":true, "locale":"en-US"}):
|
if !$CEF.initialize({"incognito":true, "locale":"en-US"}):
|
||||||
push_error($CEF.get_error())
|
push_error($CEF.get_error())
|
||||||
get_tree().quit()
|
get_tree().quit()
|
||||||
|
|
@ -35,40 +16,18 @@ func _ready():
|
||||||
# Wait one frame for the texture rect to get its size
|
# Wait one frame for the texture rect to get its size
|
||||||
await get_tree().process_frame
|
await get_tree().process_frame
|
||||||
|
|
||||||
# See API.md for more details. Browser configuration is:
|
var browser_pfd = $CEF.create_browser(
|
||||||
# {"frame_rate", 30}
|
"http://{}:{}/{}".format([lidia_hostname, lidia_port, PFD_PATH], "{}"),
|
||||||
# {"javascript", true}
|
$SubViewport/TextureRect,
|
||||||
# {"javascript_close_windows", false}
|
{ "frame_rate": 90, "javascript": true },
|
||||||
# {"javascript_access_clipboard", false}
|
)
|
||||||
# {"javascript_dom_paste", false}
|
browser_pfd.name = "pfd"
|
||||||
# {"image_loading", true}
|
browser_pfd.enable_ad_block(false) # Required for lidia static assets
|
||||||
# {"databases", true}
|
|
||||||
# {"webgl", true}
|
|
||||||
var browser = $CEF.create_browser(url, $SubViewport/TextureRect, {
|
|
||||||
"frame_rate": 90,
|
|
||||||
"javascript": true,
|
|
||||||
})
|
|
||||||
browser.name = browser_name
|
|
||||||
browser.connect("on_page_loaded", _on_page_loaded)
|
|
||||||
browser.connect("on_page_failed_loading", _on_page_failed_loading)
|
|
||||||
#browser.set_zoom_level(0.05)
|
|
||||||
|
|
||||||
# Required for lidia static assets
|
var browser_ctrl = $CEF.create_browser(
|
||||||
browser.enable_ad_block(false)
|
"http://{}:{}/{}".format([lidia_hostname, lidia_port, CONTROLS_PATH], "{}"),
|
||||||
|
$SubViewport2/TextureRect,
|
||||||
# ==============================================================================
|
{ "frame_rate": 90, "javascript": true },
|
||||||
# Callback when a page has ended to load: we print a message
|
)
|
||||||
# ==============================================================================
|
browser_ctrl.name = "controls"
|
||||||
func _on_page_loaded(node):
|
browser_ctrl.enable_ad_block(false) # Required for lidia static assets
|
||||||
print(node.name + ": page " + node.get_url() + " loaded")
|
|
||||||
|
|
||||||
# ==============================================================================
|
|
||||||
# Callback when a page has ended to load with failure.
|
|
||||||
# Display a load error message using a data: URI.
|
|
||||||
# ==============================================================================
|
|
||||||
func _on_page_failed_loading(err_code, err_msg, node):
|
|
||||||
if err_code == -3:
|
|
||||||
return
|
|
||||||
push_error("The browser " + node.name + " failed loading " + \
|
|
||||||
node.get_url() + ": " + err_msg)
|
|
||||||
pass
|
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,8 @@
|
||||||
[gd_scene load_steps=5 format=3 uid="uid://cis4s43ubuynp"]
|
[gd_scene load_steps=7 format=3 uid="uid://cis4s43ubuynp"]
|
||||||
|
|
||||||
[ext_resource type="Script" uid="uid://01bmfj4wthwg" path="res://instruments.gd" id="1_h5at3"]
|
[ext_resource type="Script" uid="uid://01bmfj4wthwg" path="res://instruments.gd" id="1_h5at3"]
|
||||||
|
|
||||||
[sub_resource type="QuadMesh" id="QuadMesh_nowl7"]
|
[sub_resource type="QuadMesh" id="QuadMesh_nowl7"]
|
||||||
size = Vector2(1, 0.75)
|
|
||||||
|
|
||||||
[sub_resource type="ViewportTexture" id="ViewportTexture_8lpkn"]
|
[sub_resource type="ViewportTexture" id="ViewportTexture_8lpkn"]
|
||||||
viewport_path = NodePath("SubViewport")
|
viewport_path = NodePath("SubViewport")
|
||||||
|
|
@ -12,19 +11,38 @@ viewport_path = NodePath("SubViewport")
|
||||||
resource_local_to_scene = true
|
resource_local_to_scene = true
|
||||||
albedo_texture = SubResource("ViewportTexture_8lpkn")
|
albedo_texture = SubResource("ViewportTexture_8lpkn")
|
||||||
|
|
||||||
|
[sub_resource type="ViewportTexture" id="ViewportTexture_h5at3"]
|
||||||
|
viewport_path = NodePath("SubViewport2")
|
||||||
|
|
||||||
|
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_8lpkn"]
|
||||||
|
resource_local_to_scene = true
|
||||||
|
albedo_texture = SubResource("ViewportTexture_h5at3")
|
||||||
|
|
||||||
[node name="Instruments" type="Node3D"]
|
[node name="Instruments" type="Node3D"]
|
||||||
script = ExtResource("1_h5at3")
|
script = ExtResource("1_h5at3")
|
||||||
|
|
||||||
[node name="SubViewport" type="SubViewport" parent="."]
|
[node name="SubViewport" type="SubViewport" parent="."]
|
||||||
size = Vector2i(800, 600)
|
|
||||||
|
|
||||||
[node name="TextureRect" type="TextureRect" parent="SubViewport"]
|
[node name="TextureRect" type="TextureRect" parent="SubViewport"]
|
||||||
offset_right = 800.0
|
offset_right = 512.0
|
||||||
offset_bottom = 600.0
|
offset_bottom = 512.0
|
||||||
expand_mode = 5
|
expand_mode = 5
|
||||||
|
|
||||||
[node name="Quad" type="MeshInstance3D" parent="."]
|
[node name="Quad" type="MeshInstance3D" parent="."]
|
||||||
|
transform = Transform3D(0.8, 0, 0, 0, 0.8, 0, 0, 0, 0.8, -0.35, 0, 0)
|
||||||
mesh = SubResource("QuadMesh_nowl7")
|
mesh = SubResource("QuadMesh_nowl7")
|
||||||
surface_material_override/0 = SubResource("StandardMaterial3D_h5at3")
|
surface_material_override/0 = SubResource("StandardMaterial3D_h5at3")
|
||||||
|
|
||||||
|
[node name="SubViewport2" type="SubViewport" parent="."]
|
||||||
|
|
||||||
|
[node name="TextureRect" type="TextureRect" parent="SubViewport2"]
|
||||||
|
offset_right = 512.0
|
||||||
|
offset_bottom = 512.0
|
||||||
|
expand_mode = 5
|
||||||
|
|
||||||
|
[node name="Quad2" type="MeshInstance3D" parent="."]
|
||||||
|
transform = Transform3D(0.6, 0, 0, 0, 0.6, 0, 0, 0, 0.6, 0.425, 0, 0)
|
||||||
|
mesh = SubResource("QuadMesh_nowl7")
|
||||||
|
surface_material_override/0 = SubResource("StandardMaterial3D_8lpkn")
|
||||||
|
|
||||||
[node name="CEF" type="GDCef" parent="."]
|
[node name="CEF" type="GDCef" parent="."]
|
||||||
|
|
|
||||||
|
|
@ -15,6 +15,10 @@ run/main_scene="uid://crq3o0eu4y8ya"
|
||||||
config/features=PackedStringArray("4.4", "GL Compatibility")
|
config/features=PackedStringArray("4.4", "GL Compatibility")
|
||||||
config/icon="res://icon.svg"
|
config/icon="res://icon.svg"
|
||||||
|
|
||||||
|
[display]
|
||||||
|
|
||||||
|
window/stretch/mode="viewport"
|
||||||
|
|
||||||
[editor_plugins]
|
[editor_plugins]
|
||||||
|
|
||||||
enabled=PackedStringArray()
|
enabled=PackedStringArray()
|
||||||
|
|
@ -27,6 +31,8 @@ common/enable_object_picking=false
|
||||||
|
|
||||||
renderer/rendering_method="gl_compatibility"
|
renderer/rendering_method="gl_compatibility"
|
||||||
renderer/rendering_method.mobile="gl_compatibility"
|
renderer/rendering_method.mobile="gl_compatibility"
|
||||||
|
anti_aliasing/quality/msaa_2d=1
|
||||||
|
anti_aliasing/quality/msaa_3d=1
|
||||||
|
|
||||||
[xr]
|
[xr]
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue