EG/ui/LUI/lui_shared.py
2026-02-27 16:52:00 +08:00

70 lines
2.1 KiB
Python

"""Shared LUI bootstrap and imports."""
import os
import sys
from pathlib import Path
import panda3d.core as p3d
from panda3d.core import NodePath, CardMaker
from imgui_bundle import imgui, imgui_ctx
UI_DIR = Path(__file__).resolve().parents[1]
if str(UI_DIR) not in sys.path:
sys.path.insert(0, str(UI_DIR))
BUILTIN_DIR = UI_DIR / "Builtin"
if str(BUILTIN_DIR) not in sys.path:
sys.path.insert(0, str(BUILTIN_DIR))
import panda3d
panda_dir = os.path.dirname(panda3d.__file__)
if hasattr(os, "add_dll_directory"):
try:
os.add_dll_directory(panda_dir)
os.add_dll_directory(str(UI_DIR))
except Exception as e:
print(f"Warning: Failed to add DLL directory: {e}")
try:
import lui
panda3d.lui = lui
sys.modules["panda3d.lui"] = lui
from Builtin.LUIRegion import LUIRegion
from Builtin.LUIInputHandler import LUIInputHandler
from Builtin.LUIButton import LUIButton
from Builtin.LUILabel import LUILabel
from Builtin.LUIInputField import LUIInputField
from Builtin.LUISlider import LUISlider
from Builtin.LUIFrame import LUIFrame
from Builtin.LUISkin import LUIDefaultSkin
from Builtin.LUISprite import LUISprite
from Builtin.LUIObject import LUIObject
from Builtin.LUICheckbox import LUICheckbox
from Builtin.LUIProgressbar import LUIProgressbar
from Builtin.LUISelectbox import LUISelectbox
from Builtin.LUIScrollableRegion import LUIScrollableRegion
from Builtin.LUITabbedFrame import LUITabbedFrame
from Builtin.LUIVerticalLayout import LUIVerticalLayout
from Builtin.LUIHorizontalLayout import LUIHorizontalLayout
except ImportError as e:
print(f"Error: Failed to import LUI: {e}")
lui = None
LUIRegion = None
LUIInputHandler = None
LUIButton = None
LUILabel = None
LUIInputField = None
LUISlider = None
LUIFrame = None
LUIDefaultSkin = None
LUISprite = None
LUIObject = None
LUICheckbox = None
LUIProgressbar = None
LUISelectbox = None
LUIScrollableRegion = None
LUITabbedFrame = None
LUIVerticalLayout = None
LUIHorizontalLayout = None