1
0
forked from Rowland/EG

合并冲突解决

This commit is contained in:
Hector 2025-08-21 11:23:47 +08:00
parent c08b4e0350
commit 48c90034df
2 changed files with 21 additions and 28 deletions

View File

@ -1,3 +1,4 @@
from collections import deque
from traceback import print_exc
from types import new_class
from typing import Hashable
@ -77,6 +78,10 @@ class PropertyPanelManager:
# 当节点被拖拽后,需要根据新父节点的状态来更新可见性
self._syncEffectiveVisibility(node)
self._syncSceneVisibility()
def _syncSceneVisibility(self):
scene_root = self.world.render
self._syncEffectiveVisibility(scene_root)
def updatePropertyPanel(self, item):
@ -4287,14 +4292,6 @@ class PropertyPanelManager:
# 忽略 Actor 加载错误,很多模型都不是角色动画
print(f"[信息] 该模型不包含骨骼动画: {actor_error}")
# 只有在没有骨骼动画时才检测非骨骼动画
if not has_skeletal_anim:
non_skeletal_anims = self._detectNonSkeletalAnimations(origin_model)
if non_skeletal_anims and self._validateNonSkeletalAnimations(origin_model, non_skeletal_anims):
self._buildNonSkeletalUI(origin_model, non_skeletal_anims, animation_layout)
has_animation = True
print(f"[信息] 检测到非骨骼动画: {list(non_skeletal_anims.keys())}")
# 如果都没有动画
if not has_animation:
no_anim_label = QLabel("此模型无动画")

View File

@ -348,26 +348,22 @@ class CustomTreeWidget(QTreeWidget):
event.ignore()
return
# 检查是否是有效的父子关系
if self.isValidParentChild(dragged_item, target_item):
# 保存当前的世界坐标
world_pos = dragged_node.getPos(self.world.render)
# 更新场景图中的父子关系
dragged_node.wrtReparentTo(target_node)
# 接受拖放事件,更新树形控件
super().dropEvent(event)
# # 检查是否是有效的父子关系
# if self.isValidParentChild(dragged_item, target_item):
# # 保存当前的世界坐标
# world_pos = dragged_node.getPos(self.world.render)
#
# # 更新场景图中的父子关系
# dragged_node.wrtReparentTo(target_node)
#
# # 接受拖放事件,更新树形控件
# super().dropEvent(event)
#
# #self.world.property_panel.updateNodeVisibilityAfterDrag(dragged_item)
# # 更新属性面板
# self.world.updatePropertyPanel(dragged_item)
# self.world.property_panel._syncEffectiveVisibility(dragged_node)
#self.world.property_panel.updateNodeVisibilityAfterDrag(dragged_item)
# 更新属性面板
self.world.updatePropertyPanel(dragged_item)
self.world.property_panel._syncEffectiveVisibility(dragged_node)
else:
event.ignore()
print(f"dragged_node: {dragged_node}, target_node: {target_node}")
@ -416,7 +412,7 @@ class CustomTreeWidget(QTreeWidget):
# 事后验证:确保节点仍在"场景"根节点下
self._ensureUnderSceneRoot(dragged_item)
self.world.property_panel._syncEffectiveVisibility(dragged_node)
event.accept()
# try: