diff --git a/.changeset/add-runtime-environment.md b/.changeset/add-runtime-environment.md deleted file mode 100644 index 03bcc01c..00000000 --- a/.changeset/add-runtime-environment.md +++ /dev/null @@ -1,36 +0,0 @@ ---- -"@esengine/ecs-framework": minor ---- - -feat(ecs): 添加运行时环境区分机制 | add runtime environment detection - -新增功能: -- `Core` 新增静态属性 `runtimeEnvironment`,支持 `'server' | 'client' | 'standalone'` -- `Core` 新增 `isServer` / `isClient` 静态只读属性 -- `ICoreConfig` 新增 `runtimeEnvironment` 配置项 -- `Scene` 新增 `isServer` / `isClient` 只读属性(默认从 Core 继承,可通过 config 覆盖) -- 新增 `@ServerOnly()` / `@ClientOnly()` / `@NotServer()` / `@NotClient()` 方法装饰器 - -用于网络游戏中区分服务端权威逻辑和客户端逻辑: - -```typescript -// 方式1: 全局设置(推荐) -Core.create({ runtimeEnvironment: 'server' }); -// 或直接设置静态属性 -Core.runtimeEnvironment = 'server'; - -// 所有场景自动继承 -const scene = new Scene(); -console.log(scene.isServer); // true - -// 方式2: 单个场景覆盖(可选) -const clientScene = new Scene({ runtimeEnvironment: 'client' }); - -// 在系统中检查环境 -class CollectibleSpawnSystem extends EntitySystem { - private checkCollections(): void { - if (!this.scene.isServer) return; // 客户端跳过 - // ... 服务端权威逻辑 - } -} -``` diff --git a/packages/framework/behavior-tree/CHANGELOG.md b/packages/framework/behavior-tree/CHANGELOG.md index 8c5fe572..ffab822f 100644 --- a/packages/framework/behavior-tree/CHANGELOG.md +++ b/packages/framework/behavior-tree/CHANGELOG.md @@ -1,5 +1,12 @@ # @esengine/behavior-tree +## 4.0.0 + +### Patch Changes + +- Updated dependencies [[`1f3a76a`](https://github.com/esengine/esengine/commit/1f3a76aabea2d3eb8a5eb8b73e29127da57e2028)]: + - @esengine/ecs-framework@2.7.0 + ## 3.0.1 ### Patch Changes diff --git a/packages/framework/behavior-tree/package.json b/packages/framework/behavior-tree/package.json index 4fbb1acd..59d64e9d 100644 --- a/packages/framework/behavior-tree/package.json +++ b/packages/framework/behavior-tree/package.json @@ -1,6 +1,6 @@ { "name": "@esengine/behavior-tree", - "version": "3.0.1", + "version": "4.0.0", "description": "ECS-based AI behavior tree system - works with any ECS framework (ESEngine, Cocos, Laya, etc.)", "main": "dist/index.js", "module": "dist/index.js", diff --git a/packages/framework/blueprint/CHANGELOG.md b/packages/framework/blueprint/CHANGELOG.md index babc9bc5..235f72df 100644 --- a/packages/framework/blueprint/CHANGELOG.md +++ b/packages/framework/blueprint/CHANGELOG.md @@ -1,5 +1,12 @@ # @esengine/blueprint +## 4.0.0 + +### Patch Changes + +- Updated dependencies [[`1f3a76a`](https://github.com/esengine/esengine/commit/1f3a76aabea2d3eb8a5eb8b73e29127da57e2028)]: + - @esengine/ecs-framework@2.7.0 + ## 3.0.1 ### Patch Changes diff --git a/packages/framework/blueprint/package.json b/packages/framework/blueprint/package.json index d9765f4e..3b47dc42 100644 --- a/packages/framework/blueprint/package.json +++ b/packages/framework/blueprint/package.json @@ -1,6 +1,6 @@ { "name": "@esengine/blueprint", - "version": "3.0.1", + "version": "4.0.0", "description": "Visual scripting system - works with any ECS framework (ESEngine, Cocos, Laya, etc.)", "main": "dist/index.js", "module": "dist/index.js", diff --git a/packages/framework/core/CHANGELOG.md b/packages/framework/core/CHANGELOG.md index c49c6367..8c408c52 100644 --- a/packages/framework/core/CHANGELOG.md +++ b/packages/framework/core/CHANGELOG.md @@ -1,5 +1,42 @@ # @esengine/ecs-framework +## 2.7.0 + +### Minor Changes + +- [#398](https://github.com/esengine/esengine/pull/398) [`1f3a76a`](https://github.com/esengine/esengine/commit/1f3a76aabea2d3eb8a5eb8b73e29127da57e2028) Thanks [@esengine](https://github.com/esengine)! - feat(ecs): 添加运行时环境区分机制 | add runtime environment detection + + 新增功能: + - `Core` 新增静态属性 `runtimeEnvironment`,支持 `'server' | 'client' | 'standalone'` + - `Core` 新增 `isServer` / `isClient` 静态只读属性 + - `ICoreConfig` 新增 `runtimeEnvironment` 配置项 + - `Scene` 新增 `isServer` / `isClient` 只读属性(默认从 Core 继承,可通过 config 覆盖) + - 新增 `@ServerOnly()` / `@ClientOnly()` / `@NotServer()` / `@NotClient()` 方法装饰器 + + 用于网络游戏中区分服务端权威逻辑和客户端逻辑: + + ```typescript + // 方式1: 全局设置(推荐) + Core.create({ runtimeEnvironment: 'server' }); + // 或直接设置静态属性 + Core.runtimeEnvironment = 'server'; + + // 所有场景自动继承 + const scene = new Scene(); + console.log(scene.isServer); // true + + // 方式2: 单个场景覆盖(可选) + const clientScene = new Scene({ runtimeEnvironment: 'client' }); + + // 在系统中检查环境 + class CollectibleSpawnSystem extends EntitySystem { + private checkCollections(): void { + if (!this.scene.isServer) return; // 客户端跳过 + // ... 服务端权威逻辑 + } + } + ``` + ## 2.6.1 ### Patch Changes diff --git a/packages/framework/core/package.json b/packages/framework/core/package.json index 2760a2f0..2cfa91b7 100644 --- a/packages/framework/core/package.json +++ b/packages/framework/core/package.json @@ -1,6 +1,6 @@ { "name": "@esengine/ecs-framework", - "version": "2.6.1", + "version": "2.7.0", "description": "用于Laya、Cocos Creator等JavaScript游戏引擎的高性能ECS框架", "main": "dist/index.cjs", "module": "dist/index.mjs", diff --git a/packages/framework/fsm/CHANGELOG.md b/packages/framework/fsm/CHANGELOG.md index 8212f20c..546c3693 100644 --- a/packages/framework/fsm/CHANGELOG.md +++ b/packages/framework/fsm/CHANGELOG.md @@ -1,5 +1,13 @@ # @esengine/fsm +## 4.0.0 + +### Patch Changes + +- Updated dependencies [[`1f3a76a`](https://github.com/esengine/esengine/commit/1f3a76aabea2d3eb8a5eb8b73e29127da57e2028)]: + - @esengine/ecs-framework@2.7.0 + - @esengine/blueprint@4.0.0 + ## 3.0.1 ### Patch Changes diff --git a/packages/framework/fsm/package.json b/packages/framework/fsm/package.json index b97e5367..aa26e5e4 100644 --- a/packages/framework/fsm/package.json +++ b/packages/framework/fsm/package.json @@ -1,6 +1,6 @@ { "name": "@esengine/fsm", - "version": "3.0.1", + "version": "4.0.0", "description": "Finite State Machine for ECS Framework / ECS 框架的有限状态机", "type": "module", "main": "./dist/index.js", diff --git a/packages/framework/network/CHANGELOG.md b/packages/framework/network/CHANGELOG.md index b3a41f8f..383dc74a 100644 --- a/packages/framework/network/CHANGELOG.md +++ b/packages/framework/network/CHANGELOG.md @@ -1,5 +1,13 @@ # @esengine/network +## 5.0.0 + +### Patch Changes + +- Updated dependencies [[`1f3a76a`](https://github.com/esengine/esengine/commit/1f3a76aabea2d3eb8a5eb8b73e29127da57e2028)]: + - @esengine/ecs-framework@2.7.0 + - @esengine/blueprint@4.0.0 + ## 4.0.1 ### Patch Changes diff --git a/packages/framework/network/package.json b/packages/framework/network/package.json index 3f8ba30b..101ff7b1 100644 --- a/packages/framework/network/package.json +++ b/packages/framework/network/package.json @@ -1,6 +1,6 @@ { "name": "@esengine/network", - "version": "4.0.1", + "version": "5.0.0", "description": "Network synchronization for multiplayer games", "esengine": { "plugin": true, diff --git a/packages/framework/pathfinding/CHANGELOG.md b/packages/framework/pathfinding/CHANGELOG.md index 0abbe77e..0efad557 100644 --- a/packages/framework/pathfinding/CHANGELOG.md +++ b/packages/framework/pathfinding/CHANGELOG.md @@ -1,5 +1,13 @@ # @esengine/pathfinding +## 4.0.0 + +### Patch Changes + +- Updated dependencies [[`1f3a76a`](https://github.com/esengine/esengine/commit/1f3a76aabea2d3eb8a5eb8b73e29127da57e2028)]: + - @esengine/ecs-framework@2.7.0 + - @esengine/blueprint@4.0.0 + ## 3.0.1 ### Patch Changes diff --git a/packages/framework/pathfinding/package.json b/packages/framework/pathfinding/package.json index 5216ce4a..b11d1bc1 100644 --- a/packages/framework/pathfinding/package.json +++ b/packages/framework/pathfinding/package.json @@ -1,6 +1,6 @@ { "name": "@esengine/pathfinding", - "version": "3.0.1", + "version": "4.0.0", "description": "寻路系统 | Pathfinding System - A*, Grid, NavMesh", "type": "module", "main": "./dist/index.js", diff --git a/packages/framework/procgen/CHANGELOG.md b/packages/framework/procgen/CHANGELOG.md index 2daa87be..7249b474 100644 --- a/packages/framework/procgen/CHANGELOG.md +++ b/packages/framework/procgen/CHANGELOG.md @@ -1,5 +1,13 @@ # @esengine/procgen +## 4.0.0 + +### Patch Changes + +- Updated dependencies [[`1f3a76a`](https://github.com/esengine/esengine/commit/1f3a76aabea2d3eb8a5eb8b73e29127da57e2028)]: + - @esengine/ecs-framework@2.7.0 + - @esengine/blueprint@4.0.0 + ## 3.0.1 ### Patch Changes diff --git a/packages/framework/procgen/package.json b/packages/framework/procgen/package.json index 706a5f96..41cdd186 100644 --- a/packages/framework/procgen/package.json +++ b/packages/framework/procgen/package.json @@ -1,6 +1,6 @@ { "name": "@esengine/procgen", - "version": "3.0.1", + "version": "4.0.0", "description": "Procedural generation tools for ECS Framework / ECS 框架的程序化生成工具", "type": "module", "main": "./dist/index.js", diff --git a/packages/framework/server/CHANGELOG.md b/packages/framework/server/CHANGELOG.md index aadb083d..28813347 100644 --- a/packages/framework/server/CHANGELOG.md +++ b/packages/framework/server/CHANGELOG.md @@ -1,5 +1,12 @@ # @esengine/server +## 4.0.0 + +### Patch Changes + +- Updated dependencies [[`1f3a76a`](https://github.com/esengine/esengine/commit/1f3a76aabea2d3eb8a5eb8b73e29127da57e2028)]: + - @esengine/ecs-framework@2.7.0 + ## 3.0.0 ### Minor Changes diff --git a/packages/framework/server/package.json b/packages/framework/server/package.json index 020bd26c..9b32ed83 100644 --- a/packages/framework/server/package.json +++ b/packages/framework/server/package.json @@ -1,6 +1,6 @@ { "name": "@esengine/server", - "version": "3.0.0", + "version": "4.0.0", "description": "Game server framework for ESEngine with file-based routing", "type": "module", "main": "./dist/index.js", @@ -51,7 +51,7 @@ "peerDependencies": { "ws": ">=8.0.0", "jsonwebtoken": ">=9.0.0", - "@esengine/ecs-framework": ">=2.6.1" + "@esengine/ecs-framework": ">=2.7.0" }, "peerDependenciesMeta": { "jsonwebtoken": { diff --git a/packages/framework/spatial/CHANGELOG.md b/packages/framework/spatial/CHANGELOG.md index 67337df5..d8120d8e 100644 --- a/packages/framework/spatial/CHANGELOG.md +++ b/packages/framework/spatial/CHANGELOG.md @@ -1,5 +1,13 @@ # @esengine/spatial +## 4.0.0 + +### Patch Changes + +- Updated dependencies [[`1f3a76a`](https://github.com/esengine/esengine/commit/1f3a76aabea2d3eb8a5eb8b73e29127da57e2028)]: + - @esengine/ecs-framework@2.7.0 + - @esengine/blueprint@4.0.0 + ## 3.0.1 ### Patch Changes diff --git a/packages/framework/spatial/package.json b/packages/framework/spatial/package.json index f8e0463b..7e67586c 100644 --- a/packages/framework/spatial/package.json +++ b/packages/framework/spatial/package.json @@ -1,6 +1,6 @@ { "name": "@esengine/spatial", - "version": "3.0.1", + "version": "4.0.0", "description": "Spatial query and indexing system for ECS Framework / ECS 框架的空间查询和索引系统", "type": "module", "main": "./dist/index.js", diff --git a/packages/framework/timer/CHANGELOG.md b/packages/framework/timer/CHANGELOG.md index 2bc0058f..3d735083 100644 --- a/packages/framework/timer/CHANGELOG.md +++ b/packages/framework/timer/CHANGELOG.md @@ -1,5 +1,13 @@ # @esengine/timer +## 4.0.0 + +### Patch Changes + +- Updated dependencies [[`1f3a76a`](https://github.com/esengine/esengine/commit/1f3a76aabea2d3eb8a5eb8b73e29127da57e2028)]: + - @esengine/ecs-framework@2.7.0 + - @esengine/blueprint@4.0.0 + ## 3.0.1 ### Patch Changes diff --git a/packages/framework/timer/package.json b/packages/framework/timer/package.json index f746c4d9..ae8b7d8f 100644 --- a/packages/framework/timer/package.json +++ b/packages/framework/timer/package.json @@ -1,6 +1,6 @@ { "name": "@esengine/timer", - "version": "3.0.1", + "version": "4.0.0", "description": "Timer and cooldown system for ECS Framework / ECS 框架的定时器和冷却系统", "type": "module", "main": "./dist/index.js", diff --git a/packages/framework/transaction/CHANGELOG.md b/packages/framework/transaction/CHANGELOG.md index f731f867..17906493 100644 --- a/packages/framework/transaction/CHANGELOG.md +++ b/packages/framework/transaction/CHANGELOG.md @@ -1,5 +1,12 @@ # @esengine/transaction +## 2.0.5 + +### Patch Changes + +- Updated dependencies []: + - @esengine/server@4.0.0 + ## 2.0.4 ### Patch Changes diff --git a/packages/framework/transaction/package.json b/packages/framework/transaction/package.json index 0f5cefd8..0b4740ea 100644 --- a/packages/framework/transaction/package.json +++ b/packages/framework/transaction/package.json @@ -1,6 +1,6 @@ { "name": "@esengine/transaction", - "version": "2.0.4", + "version": "2.0.5", "description": "Game transaction system with distributed support | 游戏事务系统,支持分布式事务", "type": "module", "main": "./dist/index.js", diff --git a/packages/tools/demos/CHANGELOG.md b/packages/tools/demos/CHANGELOG.md index c5a53b66..d5180db7 100644 --- a/packages/tools/demos/CHANGELOG.md +++ b/packages/tools/demos/CHANGELOG.md @@ -1,5 +1,16 @@ # @esengine/demos +## 1.0.9 + +### Patch Changes + +- Updated dependencies []: + - @esengine/fsm@4.0.0 + - @esengine/pathfinding@4.0.0 + - @esengine/procgen@4.0.0 + - @esengine/spatial@4.0.0 + - @esengine/timer@4.0.0 + ## 1.0.8 ### Patch Changes diff --git a/packages/tools/demos/package.json b/packages/tools/demos/package.json index 6218cae3..34e4ff8a 100644 --- a/packages/tools/demos/package.json +++ b/packages/tools/demos/package.json @@ -1,6 +1,6 @@ { "name": "@esengine/demos", - "version": "1.0.8", + "version": "1.0.9", "private": true, "description": "Demo tests for ESEngine modules documentation", "type": "module",