Initial commit

This commit is contained in:
libertyspy
2026-02-08 22:09:28 +08:00
parent a5a3c93135
commit 5ffdb5e508
3 changed files with 59 additions and 4 deletions

View File

@@ -47,6 +47,8 @@
<Properties
v-if="graph"
@update-element="handleUpdateElement"
:tree="currentBehaviorTree"
:tree-editing="currentTreeEditing"
:element="selectedNodeTaskElement"
:graph="graph as any"
:node="selectedModelNode as any" />
@@ -100,6 +102,7 @@ export default defineComponent({
const currentZoom = ref<number>(1);
const draggedNodeData = ref<NodeTemplate | null>(null);
const isDraggingOver = ref(false);
const currentTreeEditing = ref<boolean>(false);
const currentBehaviorTree = ref<BehaviorTree | null>(null);
const currentNodeGraph = ref<NodeGraph | null>(null);
const selectedModelNode = ref<Node<NodeProperties> | null>(null);
@@ -154,6 +157,7 @@ export default defineComponent({
safePreventDefault(e);
safeStopPropagation(e);
isDraggingOver.value = false;
currentTreeEditing.value = false;
if (!currentBehaviorTree.value) {
message.error('请先选择或者创建行为树.');
@@ -224,6 +228,7 @@ export default defineComponent({
...r.data,
graph: nodeGraph,
};
currentTreeEditing.value = true;
createElements();
} else {
message.error(r.msg ?? '行为树不存在.');
@@ -275,6 +280,12 @@ export default defineComponent({
currentZoom.value = sx;
});
handleGraphEvent('blank:click', () => {
selectedModelNode.value = null;
selectedNodeTaskElement.value = null;
currentTreeEditing.value = null !== currentBehaviorTree.value;
});
handleGraphEvent('node:click', (args: any) => {
const node = args.node as Node<NodeProperties>;
const newElement = node.getData() as GraphTaskElement;
@@ -368,6 +379,7 @@ export default defineComponent({
});
return {
currentTreeEditing,
currentBehaviorTree,
currentNodeGraph,
selectedNodeTaskElement,