更新network库及core库优化
This commit is contained in:
60
packages/network-shared/README.md
Normal file
60
packages/network-shared/README.md
Normal file
@@ -0,0 +1,60 @@
|
||||
# @esengine/ecs-framework-network-shared
|
||||
|
||||
ECS Framework 网络库 - 共享组件和类型定义
|
||||
|
||||
## 概述
|
||||
|
||||
这是 ECS Framework 网络库的共享包,包含了客户端和服务端通用的:
|
||||
|
||||
- 装饰器定义 (`@SyncVar`, `@ClientRpc`, `@ServerRpc` 等)
|
||||
- 类型定义和接口
|
||||
- 序列化/反序列化工具
|
||||
- Protobuf 自动生成机制
|
||||
- 网络消息基类
|
||||
|
||||
## 特性
|
||||
|
||||
- **装饰器驱动**: 基于装饰器自动生成网络协议
|
||||
- **类型安全**: 完整的 TypeScript 支持
|
||||
- **自动序列化**: 基于 Protobuf 的高性能序列化
|
||||
- **零配置**: 无需手写 .proto 文件
|
||||
- **ECS 集成**: 深度集成 ECS 框架的特性
|
||||
|
||||
## 安装
|
||||
|
||||
```bash
|
||||
npm install @esengine/ecs-framework-network-shared
|
||||
```
|
||||
|
||||
## 基本用法
|
||||
|
||||
```typescript
|
||||
import { NetworkComponent, SyncVar, ClientRpc, ServerRpc } from '@esengine/ecs-framework-network-shared';
|
||||
|
||||
@NetworkComponent()
|
||||
class PlayerController extends Component {
|
||||
@SyncVar({ onChanged: 'onHealthChanged' })
|
||||
public health: number = 100;
|
||||
|
||||
@SyncVar()
|
||||
public playerName: string = '';
|
||||
|
||||
@ClientRpc()
|
||||
public showDamage(damage: number): void {
|
||||
// 客户端显示伤害效果
|
||||
}
|
||||
|
||||
@ServerRpc()
|
||||
public movePlayer(direction: Vector3): void {
|
||||
// 服务端处理玩家移动
|
||||
}
|
||||
|
||||
private onHealthChanged(oldValue: number, newValue: number): void {
|
||||
console.log(`生命值从 ${oldValue} 变为 ${newValue}`);
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## License
|
||||
|
||||
MIT
|
||||
Reference in New Issue
Block a user