Initial commit

This commit is contained in:
libertyspy
2026-02-08 22:31:13 +08:00
parent 43837901f3
commit 0b55384442
11 changed files with 88 additions and 79 deletions

View File

@@ -48,12 +48,12 @@
</div>
<Properties
v-if="graph"
@update-element="handleUpdateElement"
:tree="currentBehaviorTree"
:tree-editing="currentTreeEditing"
:element="selectedNodeTaskElement"
:graph="graph as any"
:node="selectedModelNode as any" />
:node="selectedModelNode as any"
:tree="currentBehaviorTree"
:tree-editing="currentTreeEditing"
@update-element="handleUpdateElement" />
</div>
</a-layout>
</a-layout>
@@ -70,16 +70,16 @@ import { Wrapper } from '@/components/wrapper';
import { safePreventDefault, safeStopPropagation } from '@/utils/event';
import Header from './header.vue';
import Properties from './properties.vue';
import { useGraphCanvas } from './builder/hooks';
import { registerNodeElement } from './builder/register';
import type { BehaviorTree, NodeTemplate } from './types';
import type { GraphTaskElement, NodeGraph } from './builder/element';
import { useGraphCanvas } from './builder/hooks';
import { registerNodeElement } from './builder/register';
import { createLineOptions } from './builder/line';
import { createTree, findOneTreeById, updateTree } from './api';
import { createGraphTaskElement, hasElements, hasRootElementNode, resolveNodeGraph } from './builder/utils';
import { createGraphTaskElementFromTemplate } from './utils/node';
import TressCard from './trees-card.vue';
import NodesCard from './nodes-card.vue';
import { createLineOptions } from '@/views/decision/builder/line.ts';
const TeleportContainer = defineComponent(getTeleport());
@@ -241,12 +241,12 @@ export default defineComponent({
const createElements = () => {
nextTick(() => {
try{
try {
graph.value?.clearCells();
} catch (e: any){
console.error('clear cells error, cause:',e);
} catch (e: any) {
console.error('clear cells error, cause:', e);
}
setTimeout(()=> {
setTimeout(() => {
if (currentBehaviorTree.value?.graph && graph.value) {
if (currentBehaviorTree.value?.graph.nodes) {
currentBehaviorTree.value?.graph.nodes.forEach(ele => {
@@ -268,11 +268,11 @@ export default defineComponent({
}, 100); // 延迟一会儿,免得连线错位
}
}
}, 100)
}, 100);
});
};
const handleCreateTree = ()=> {
const handleCreateTree = () => {
currentBehaviorTree.value = {
id: 0,
name: '行为树',
@@ -285,16 +285,16 @@ export default defineComponent({
nodes: [],
},
updatedAt: null,
}
};
currentNodeGraph.value = {
edges: [],
nodes: [],
}
};
selectedModelNode.value = null;
selectedNodeTaskElement.value = null;
createElements();
}
};
// 初始化X6画布
const initGraph = () => {
@@ -362,7 +362,7 @@ export default defineComponent({
console.info('handleUpdateElement', element);
// 更新本地引用
selectedNodeTaskElement.value = element;
changed.value = true
changed.value = true;
};
const handleSave = () => {
@@ -377,11 +377,11 @@ export default defineComponent({
graph: graphData,
xmlContent: JSON.stringify(graphData),
};
if(! newTree.name){
if (!newTree.name) {
message.error('行为树名称不能为空.');
return;
}
if(! newTree.englishName){
if (!newTree.englishName) {
message.error('行为树英文名称不能为空.');
return;
}