# com.gameframex.unity.event
**Repository Path**: gameframex/com.gameframex.unity.event
## Basic Information
- **Project Name**: com.gameframex.unity.event
- **Description**: GameFrameX Unity Event component implementing a type-safe publish-subscribe event system with event pooling and priority handling
- **Primary Language**: Unknown
- **License**: Apache-2.0
- **Default Branch**: main
- **Homepage**: https://gameframex.doc.alianblank.com
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2024-07-23
- **Last Updated**: 2026-07-29
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README

# Game Frame X Event 游戏事件系统组件
[](https://github.com/GameFrameX/com.gameframex.unity.event/blob/main/LICENSE.md)
[](https://github.com/GameFrameX/com.gameframex.unity.event/releases)
[](https://unity.com/)
[](https://gameframex.doc.alianblank.com)
独立游戏前后端一体化解决方案 · 独立游戏开发者的圆梦大使
[文档](https://gameframex.doc.alianblank.com) · [快速开始](#快速开始) · QQ群: 467608841 / 233840761
[English](README.md) | **简体中文** | [繁體中文](README.zh-TW.md) | [日本語](README.ja.md) | [한국어](README.ko.md)
## 项目简介
基于字符串 ID 的事件总线。支持线程安全的延迟分发(`Fire` — 下一帧主线程回调)和立即分发(`FireNow`),可设置默认处理器兜底未订阅事件。
### 功能
- 基于字符串 ID 的事件订阅 / 取消订阅
- `Fire` — 线程安全的延迟分发(下一帧主线程回调)
- `FireNow` — 立即同步分发
- `Fire(sender, eventId)` — 无需自定义事件参数的快捷方式
- `Check` / `CheckSubscribe` / `CheckUnsubscribe` — 检查存在性、不存在时自动订阅、存在时安全取消订阅
- `Count` / `EventHandlerCount` / `EventCount` — 处理函数统计
- 默认处理器兜底未订阅事件
## 快速开始
### 安装方式(任选其一)
1. 编辑 Unity 项目的 `Packages/manifest.json`,添加 `scopedRegistries` 部分:
```json
{
"scopedRegistries": [
{
"name": "GameFrameX",
"url": "https://gameframex.upm.alianblank.uk",
"scopes": [
"com.gameframex"
]
}
],
"dependencies": {
"com.gameframex.unity.event": "1.1.1"
}
}
```
`scopes` 控制哪些包通过此注册表解析。只有以 `com.gameframex` 开头的包才会从这个注册表获取。
2. 直接在 `manifest.json` 的 `dependencies` 节点下添加以下内容:
```json
{
"com.gameframex.unity.event": "https://github.com/gameframex/com.gameframex.unity.event.git"
}
```
3. 在 Unity 的 `Packages Manager` 中使用 `Git URL` 的方式添加库,地址为:`https://github.com/gameframex/com.gameframex.unity.event.git`
4. 直接下载仓库放置到 Unity 项目的 `Packages` 目录下,会自动加载识别。
## 使用示例
### 定义自定义事件
```csharp
public class LevelUpEventArgs : GameEventArgs
{
public override string Id => "level_up";
public int Level { get; private set; }
public static LevelUpEventArgs Create(int level)
{
var args = ReferencePool.Acquire