web增强
This commit is contained in:
parent
b4fd0c2e68
commit
31ab66b95c
BIN
Assets/Models/jxb.glb
Normal file
BIN
Assets/Models/jxb.glb
Normal file
Binary file not shown.
8
Assets/Models/jxb.glb.meta
Normal file
8
Assets/Models/jxb.glb.meta
Normal file
@ -0,0 +1,8 @@
|
||||
{
|
||||
"guid": "96aefc6e2ae14575a3bd6d29a6cd7a0c",
|
||||
"asset_type": "model",
|
||||
"source_hash": "7916e67bf644e61e2d7b7776ef8df40ef8623aaceda16b873c64d0a3f1a4faba",
|
||||
"importer": "model_importer",
|
||||
"import_settings": {},
|
||||
"dependency_guids": []
|
||||
}
|
||||
18
main.py
18
main.py
@ -536,20 +536,36 @@ class MyWorld(PanelDelegates, CoreWorld):
|
||||
|
||||
visible = bool(visible)
|
||||
previous = bool(getattr(self, attr_name, False))
|
||||
setattr(self, attr_name, visible)
|
||||
|
||||
if panel_key == "web" and previous != visible:
|
||||
setattr(self, attr_name, visible)
|
||||
if not visible:
|
||||
try:
|
||||
self.editor_panels._stop_imgui_webview()
|
||||
except Exception:
|
||||
pass
|
||||
return
|
||||
|
||||
if panel_key == "lui_editor" and hasattr(self, "lui_manager"):
|
||||
lui_available = bool(getattr(self.lui_manager, "lui_enabled", False))
|
||||
if visible and not lui_available:
|
||||
setattr(self, attr_name, False)
|
||||
if hasattr(self, "messages"):
|
||||
self.add_warning_message("当前环境未启用LUI(缺少 lui 模块),LUI编辑器不可用")
|
||||
else:
|
||||
print("⚠ 当前环境未启用LUI(缺少 lui 模块),LUI编辑器不可用")
|
||||
return
|
||||
|
||||
setattr(self, attr_name, visible)
|
||||
try:
|
||||
self.lui_manager.show_editor = visible
|
||||
if visible and not previous:
|
||||
self.lui_manager._request_window_focus = True
|
||||
except Exception:
|
||||
pass
|
||||
return
|
||||
|
||||
setattr(self, attr_name, visible)
|
||||
|
||||
def reset_panel_visibility_to_defaults(self):
|
||||
for panel_key, default_visible in self._default_panel_visibility.items():
|
||||
|
||||
@ -1562,7 +1562,22 @@ class LUIManagerEditorMixin:
|
||||
if not self.lui_enabled or not self.show_editor:
|
||||
return
|
||||
|
||||
default_pos = (20.0, 40.0)
|
||||
try:
|
||||
viewport = imgui.get_main_viewport()
|
||||
default_pos = (
|
||||
float(viewport.pos.x) + 20.0,
|
||||
float(viewport.pos.y) + float(imgui.get_frame_height()) + 20.0,
|
||||
)
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
imgui.set_next_window_size((350, 600), imgui.Cond_.first_use_ever)
|
||||
imgui.set_next_window_pos(default_pos, imgui.Cond_.appearing)
|
||||
if getattr(self, "_request_window_focus", False):
|
||||
self._request_window_focus = False
|
||||
imgui.set_next_window_pos(default_pos, imgui.Cond_.always)
|
||||
imgui.set_next_window_focus()
|
||||
with imgui_ctx.begin("LUI编辑器", self.show_editor) as window:
|
||||
self.show_editor = bool(window.opened)
|
||||
if hasattr(self, "world") and hasattr(self.world, "set_panel_visible"):
|
||||
|
||||
@ -331,9 +331,19 @@ class EditorPanelsTopMixin:
|
||||
changed, visible = imgui.menu_item("脚本管理", "", self.app.is_panel_visible("script"), True)
|
||||
if changed:
|
||||
self.app.set_panel_visible("script", visible)
|
||||
changed, visible = imgui.menu_item("LUI编辑器", "", self.app.is_panel_visible("lui_editor"), True)
|
||||
lui_available = bool(
|
||||
getattr(getattr(self.app, "lui_manager", None), "lui_enabled", False)
|
||||
)
|
||||
changed, visible = imgui.menu_item(
|
||||
"LUI编辑器",
|
||||
"",
|
||||
self.app.is_panel_visible("lui_editor"),
|
||||
lui_available,
|
||||
)
|
||||
if changed:
|
||||
self.app.set_panel_visible("lui_editor", visible)
|
||||
if not lui_available and imgui.is_item_hovered():
|
||||
imgui.set_tooltip("当前环境未启用LUI(缺少 lui 模块)")
|
||||
changed, visible = imgui.menu_item("Web面板", "", self.app.is_panel_visible("web"), True)
|
||||
if changed:
|
||||
self.app.set_panel_visible("web", visible)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user