Reddit/Unity3D,

我刚刚发布了RxFSM — 在Unity中用于状态机,触发器使用带数据的结构

我一直会遇到这样的问题:

// 旧的方法 — 单独存储数据,存储时期希望能顺利

float lastDamageAmount;

Element lastDamageElement;

// 然后在状态回调中查找

void OnHitEnter() { ApplyEffect(lastDamageElement); }

而RxFSM:

sm.EnterState<Damaged>(State.Hit, (prev, trg) =>

{

hp -= trg.amount;

SpawnEffect(trg.element, trg.direction); // 数据直接在这里

});

它还支持:

- 异步策略 (Throttle / Switch / Parallel)

- 等级结构状态机

- UniTask & R3集成

- 自动销毁至使用AddTo(gameObject)

GitHub:https://github.com/YoruYomix/RxFSM

欢迎所有曾经在Unity中处理过状态机复杂性的使用者提供反馈!