コード例 #1
0
        public TestBookXML()
        {
            GQHSMManager manager = GQHSMManager.Instance;

            _theHSM = manager.LoadFromXML("book.xml");
            _theHSM.Init(this);
        }
コード例 #2
0
 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);
 }
コード例 #3
0
ファイル: ClassHandler.cs プロジェクト: klhurley/qf4net
 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);
     }
 }
コード例 #4
0
        public TestZombieXML()
        {
            GQHSMManager manager = GQHSMManager.Instance;

            _theHSM = manager.LoadFromXML("ZombieAI.xml");
            // let's hook into the debugging

            _mLogger.InitLogger(_theHSM);

            _theHSM.Init(this);
        }
コード例 #5
0
    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());
        }
    }