我想知道它是否會做我以後的事情。具有無狀態的分層狀態
我想爲家庭自動化的statemachine用類似這樣的一些邏輯:
var stateMachine = new StateMachine<State, Trigger>(State.UnOccupied);
stateMachine.Configure(State.UnOccupied)
.Permit(Trigger.SensorActivity, State.Occupied)
.Ignore(Trigger.AlarmFullSet);
stateMachine.Configure(State.Occupied)
.Permit(Trigger.AlarmFullSet, State.UnOccupied)
.Permit(Trigger.AlarmPartSet, State.Asleep)
.PermitReentry(Trigger.SensorActivity);
stateMachine.Configure(State.Asleep)
.SubstateOf(State.Occupied)
.Permit(Trigger.AlarmUnset, State.Occupied);
不過,我想表示一個房屋內的房間的狀態,也是房子的整體狀態..
IE
Home
House Object
Upstairs
Bedroom 1
Bedroom 2
Downstairs
Kitchen
Living Room
Garden
Front
Back
Side
所以,如果客廳被佔用那麼所以是樓下的房子和家庭..
道歉事先我的C#不是最好的,我正在投入自己的最後!
也有可能做定時離開狀態..所以傳感器可以觸發一個房間被佔用,然後更多的活動觸發'重入?'(重新啓動一個計數器/定時器/調整時間表)佔用狀態進入 - 然後在沒有更多進入/活動事件15分鐘後,該區域的佔用清除,並且該狀態轉變爲空閒狀態。