Feature/tilemap editor (#237)

* feat: 添加 Tilemap 编辑器插件和组件生命周期支持

* feat(editor-core): 添加声明式插件注册 API

* feat(editor-core): 改进tiledmap结构合并tileset进tiledmapeditor

* feat: 添加 editor-runtime SDK 和插件系统改进

* fix(ci): 修复SceneResourceManager里变量未使用问题
This commit is contained in:
YHH
2025-11-25 22:23:19 +08:00
committed by GitHub
parent 551ca7805d
commit 3fb6f919f8
166 changed files with 54691 additions and 8674 deletions

View File

@@ -1,4 +1,4 @@
import { useCallback, useMemo } from 'react';
import { useCallback, useMemo, React } from '@esengine/editor-runtime';
import { useBehaviorTreeDataStore, useUIStore } from '../stores';
/**

View File

@@ -1,4 +1,4 @@
import { RefObject, useEffect, useRef } from 'react';
import { type RefObject, useEffect, useRef, React } from '@esengine/editor-runtime';
import { BehaviorTreeNode, ROOT_NODE_ID } from '../stores';
interface QuickCreateMenuState {

View File

@@ -1,5 +1,4 @@
import { useRef, useCallback, useMemo, useEffect } from 'react';
import { CommandManager } from '@esengine/editor-core';
import { useRef, useCallback, useMemo, useEffect, CommandManager } from '@esengine/editor-runtime';
/**
* 撤销/重做功能 Hook

View File

@@ -1,11 +1,9 @@
import { useCallback, useMemo } from 'react';
import { CommandManager } from '@esengine/editor-core';
import { useCallback, useMemo, CommandManager, createLogger } from '@esengine/editor-runtime';
import { ConnectionType } from '../domain/models/Connection';
import { IValidator } from '../domain/interfaces/IValidator';
import { TreeStateAdapter } from '../application/state/BehaviorTreeDataStore';
import { AddConnectionUseCase } from '../application/use-cases/AddConnectionUseCase';
import { RemoveConnectionUseCase } from '../application/use-cases/RemoveConnectionUseCase';
import { createLogger } from '@esengine/ecs-framework';
const logger = createLogger('useConnectionOperations');

View File

@@ -1,4 +1,4 @@
import { useState } from 'react';
import { useState, React } from '@esengine/editor-runtime';
import { BehaviorTreeNode, ROOT_NODE_ID } from '../stores';
interface ContextMenuState {

View File

@@ -1,8 +1,7 @@
import { useState, RefObject } from 'react';
import { useState, type RefObject, React, createLogger } from '@esengine/editor-runtime';
import { NodeTemplate, NodeType } from '@esengine/behavior-tree';
import { Position } from '../domain/value-objects/Position';
import { useNodeOperations } from './useNodeOperations';
import { createLogger } from '@esengine/ecs-framework';
const logger = createLogger('useDropHandler');

View File

@@ -1,5 +1,4 @@
import { useCallback } from 'react';
import { ask } from '@tauri-apps/plugin-dialog';
import { useCallback, React, ask } from '@esengine/editor-runtime';
import { BehaviorTreeNode } from '../stores';
interface UseEditorHandlersParams {

View File

@@ -1,4 +1,4 @@
import { useRef, useState } from 'react';
import { useRef, useState } from '@esengine/editor-runtime';
import { BehaviorTreeExecutor } from '../utils/BehaviorTreeExecutor';
export function useEditorState() {

View File

@@ -1,10 +1,9 @@
import { useState, useEffect, useMemo, useRef } from 'react';
import { useState, useEffect, useMemo, useRef, createLogger } from '@esengine/editor-runtime';
import { ExecutionController, ExecutionMode } from '../application/services/ExecutionController';
import { BlackboardManager } from '../application/services/BlackboardManager';
import { BehaviorTreeNode, Connection, useBehaviorTreeDataStore } from '../stores';
import { ExecutionLog } from '../utils/BehaviorTreeExecutor';
import { BlackboardValue } from '../domain/models/Blackboard';
import { createLogger } from '@esengine/ecs-framework';
const logger = createLogger('useExecutionController');

View File

@@ -1,4 +1,4 @@
import { useEffect } from 'react';
import { useEffect } from '@esengine/editor-runtime';
import { Connection, ROOT_NODE_ID } from '../stores';
import { useNodeOperations } from './useNodeOperations';
import { useConnectionOperations } from './useConnectionOperations';

View File

@@ -1,4 +1,4 @@
import { useRef, useCallback, RefObject } from 'react';
import { useRef, useCallback, type RefObject, React } from '@esengine/editor-runtime';
import { BehaviorTreeNode, ROOT_NODE_ID } from '../stores';
import { Position } from '../domain/value-objects/Position';
import { useNodeOperations } from './useNodeOperations';

View File

@@ -1,6 +1,5 @@
import { useCallback, useMemo } from 'react';
import { useCallback, useMemo, CommandManager } from '@esengine/editor-runtime';
import { NodeTemplate } from '@esengine/behavior-tree';
import { CommandManager } from '@esengine/editor-core';
import { Position } from '../domain/value-objects/Position';
import { INodeFactory } from '../domain/interfaces/INodeFactory';
import { TreeStateAdapter } from '../application/state/BehaviorTreeDataStore';

View File

@@ -1,4 +1,4 @@
import { useState, useEffect, useRef } from 'react';
import { useState, useEffect, useRef } from '@esengine/editor-runtime';
import { BehaviorTreeNode } from '../stores';
import { ExecutionMode } from '../application/services/ExecutionController';

View File

@@ -1,4 +1,4 @@
import { RefObject } from 'react';
import { type RefObject, React } from '@esengine/editor-runtime';
import { BehaviorTreeNode, Connection, ROOT_NODE_ID, useUIStore } from '../stores';
import { PropertyDefinition } from '@esengine/behavior-tree';
import { useConnectionOperations } from './useConnectionOperations';

View File

@@ -1,4 +1,4 @@
import { useState, RefObject } from 'react';
import { useState, type RefObject } from '@esengine/editor-runtime';
import { NodeTemplate } from '@esengine/behavior-tree';
import { BehaviorTreeNode, Connection, useBehaviorTreeDataStore } from '../stores';
import { Node } from '../domain/models/Node';