void Start() { ReactiveState state = new ReactiveState(AgentState.Patrol); // ステートによって挙動を切り替える state.Subscribe(_ => { switch (state.Value) { case AgentState.Patrol: // 巡回 break; case AgentState.Chase: // 追跡 break; case AgentState.Attack: // 攻撃 break; case AgentState.Escape: // 逃走 break; } }); }
/// <summary> /// Default constructor /// </summary> protected NetDaemonRxApp() { _cancelTimers = new(); StateAllChanges = new ReactiveState(this); EventChanges = new ReactiveEvent(this); _isDisposed = false; }