public TestBookXML() { GQHSMManager manager = GQHSMManager.Instance; _theHSM = manager.LoadFromXML("book.xml"); _theHSM.Init(this); }
public void InitLogger(GQHSM theHsm) { _logger = theHsm.Logger; theHsm.Instrument = true; theHsm.StateChange += new EventHandler(hsm_StateChange); theHsm.DispatchException += new DispatchExceptionHandler(hsm_DispatchException); theHsm.UnhandledTransition += new DispatchUnhandledTransitionHandler(hsm_UnhandledTransition); }
public ClassHandler(string Name, MyLogger logger) { _theHSM = _manager.LoadFromXML("XMLStateMachines" + Path.DirectorySeparatorChar + Name + ".xml"); // attach the logger to this HSM. if (_theHSM != null) { logger.InitLogger(_theHSM); } }
public TestZombieXML() { GQHSMManager manager = GQHSMManager.Instance; _theHSM = manager.LoadFromXML("ZombieAI.xml"); // let's hook into the debugging _mLogger.InitLogger(_theHSM); _theHSM.Init(this); }
private void hsm_StateChange(object sender, EventArgs e) { LogStateEventArgs args = e as LogStateEventArgs; GQHSM hsm = (GQHSM)sender; switch (args.LogType) { case StateLogType.Init: { _logger.Debug("[{0}{1}] {2} to {3}", hsm.GetName(), args.LogType.ToString(), args.State, args.NextState.Name); } break; case StateLogType.Entry: { _logger.Debug("[{0}{1}] {2}", hsm.GetName(), args.LogType.ToString(), args.State.Name); } break; case StateLogType.Exit: { _logger.Debug("[{0}{1}] {2}", hsm.GetName(), args.LogType.ToString(), args.State.Name); } break; case StateLogType.EventTransition: { _logger.Debug("[{0}{1}] {2} on {3} to {4} -> {5}", hsm.GetName(), args.LogType.ToString(), args.State.Name, args.EventName, args.NextState.Name, args.EventDescription); } break; case StateLogType.Log: { _logger.Debug("[{0}{1}] {2}", hsm.GetName(), args.LogType.ToString(), args.LogText); } break; default: throw new NotSupportedException("StateLogType." + args.LogType.ToString()); } }