예제 #1
0
        protected override void HandleTtsFrame(SaiTtsFrame ttsFrame)
        {
            if (ttsFrame.FrameType == SaiFrameType.TTS_OffsetStart)
            {
                this.Context.RsspEP.DefenseTech = MessageDelayDefenseTech.TTS;

                var strategy = new TtsDefenseStrategy(this.Context.FrameTransport, false);
                this.Context.DefenseStrategy = strategy;

                this.Context.CurrentState = new TtsWaitingforStartState(this.Context, strategy);
                this.Context.CurrentState.HandleFrame(ttsFrame);
            }
            else
            {
                throw new Exception("SaiInvalideState状态时,收到的第一条帧不是OffsetStart。");
            }
        }
예제 #2
0
 protected TtsState(ISaiStateContext context, TtsDefenseStrategy strategy)
     : base(context)
 {
     this.DefenseStrategy = strategy;
 }
예제 #3
0
 public TtsWaitingforStartState(ISaiStateContext context, TtsDefenseStrategy strategy)
     : base(context, strategy)
 {
 }
예제 #4
0
 public TtsDisconnectedState(ISaiStateContext context, TtsDefenseStrategy strategy)
     : base(context, strategy)
 {
 }