//--------------------------------------------------------------------- bool _initFsm(EbState state) { bool is_initstate = state._isInitState(); if (!is_initstate) { return(false); } state.enter(); mQueCurrentState.Add(state); var map_childstate = state._getMapChildState(); if (map_childstate.ContainsKey(0)) { var v = map_childstate[0]; foreach (var itc in v) { if (_initFsm(itc)) { return(true); } } } return(true); }
//--------------------------------------------------------------------- bool _isDirectLine(EbState parent, EbState child) { if (parent == child) { return(true); } Dictionary <int, List <EbState> > map_childstate = parent._getMapChildState(); if (map_childstate.ContainsKey(0)) { var v = map_childstate[0]; foreach (var itc in v) { if (_isDirectLine(itc, child)) { return(true); } } } return(false); }