forked from Rowland/EG
合并冲突解决
This commit is contained in:
parent
c08b4e0350
commit
48c90034df
@ -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("此模型无动画")
|
||||
|
||||
@ -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:
|
||||
|
||||
Loading…
Reference in New Issue
Block a user