我想知道它是否会做我以后的事情。具有无状态的分层状态
我想为家庭自动化的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分钟后,该区域的占用清除,并且该状态转变为空闲状态。