Go to file
Blank 1fe0dbceba [修改]1. 修改命名空间的引用 2024-09-21 17:36:23 +08:00
.github/workflows [增加]1. 增加镜像同步 2024-07-23 17:48:39 +08:00
Editor [增加]1. 增加组件的注册 2024-04-11 15:59:20 +08:00
Runtime [修改]1. 修改命名空间的引用 2024-09-21 17:36:23 +08:00
Tests [增加]1. 增加Event组件 2024-04-10 13:19:30 +08:00
Editor.meta [增加]1. 增加Event组件 2024-04-10 13:19:30 +08:00
LICENSE.md [增加]1. 增加Event组件 2024-04-10 13:19:30 +08:00
LICENSE.md.meta [增加]1. 增加Event组件 2024-04-10 13:19:30 +08:00
README.md [修改]1. 修改包名 2024-06-18 00:11:55 +08:00
README.md.meta [增加]1. 增加Event组件 2024-04-10 13:19:30 +08:00
Runtime.meta [增加]1. 增加Event组件 2024-04-10 13:19:30 +08:00
Tests.meta [增加]1. 增加Event组件 2024-04-10 13:19:30 +08:00
package.json [修改]1. 修改版本号为1.0.2 2024-09-09 15:43:04 +08:00
package.json.meta [增加]1. 增加Event组件 2024-04-10 13:19:30 +08:00

README.md

HOMEPAGE

GameFrameX 的 Event 游戏事件系统的组件

Event 游戏事件系统的组件 (Event Component) - 提供游戏事件系统的组件相关的接口。

使用文档(文档编写于GPT4)

EventComponent 类是一个游戏事件系统的组件,用于管理游戏事件的订阅与派发。

功能

  • 事件订阅与取消订阅: 允许你根据事件ID来订阅或取消订阅事件处理回调函数。
  • 事件派发: 提供了线程安全的事件派发方法 Fire,即使在非主线程也能保证在主线程回调事件处理函数,以及立即派发的方法 FireNow
  • 处理函数统计: 可以获取当前已订阅的事件处理函数数量和事件数量。
  • 默认事件处理函数设置: 允许设置默认事件处理函数来捕获未明确订阅的事件。

使用方法

  1. 获取事件数量和事件处理函数的数量:

    int eventHandlerCount = eventComponent.EventHandlerCount;
    int eventCount = eventComponent.EventCount;
    
  2. 订阅事件:

    eventComponent.Subscribe("game_start", OnGameStart);
    

    其中 OnGameStart 是遵循 EventHandler<GameEventArgs> 委托的方法。

  3. 取消订阅事件:

    eventComponent.Unsubscribe("game_start", OnGameStart);
    
  4. 抛出事件:

    • 线程安全的方式(在下一帧分发):

      eventComponent.Fire(this, new GameEventArgs());
      
    • 立即模式(立刻分发):

      eventComponent.FireNow(this, new GameEventArgs());
      
  5. 设置默认事件处理函数:

    eventComponent.SetDefaultHandler(OnDefaultEvent);
    

    其中 OnDefaultEvent 是遵循 EventHandler<GameEventArgs> 委托的方法。

通过上述步骤,可以在游戏中有效地使用事件组件进行事件的订阅、取消订阅和派发,从而实现游戏中的事件驱动编程。

使用方式(任选其一)

  1. 直接在 manifest.json 的文件中的 dependencies 节点下添加以下内容

       {"com.gameframex.unity.event": "https://github.com/AlianBlank/com.gameframex.unity.event.git"}
    
  2. 在Unity 的Packages Manager 中使用Git URL 的方式添加库,地址为:https://github.com/AlianBlank/com.gameframex.unity.event.git

  3. 直接下载仓库放置到Unity 项目的Packages 目录下。会自动加载识别