protected override void Start()
 {
     base.Start();
     playerController.PlayerSystemForceAccelerateCloseEvent += OnForceAccelerateCloseEvent;
     status = GuangTouQiangStatus.Status_SearchPlayer;
     Invoke("DelaySetCapturePlayer", waitTime);
 }
 //我与障碍物发生碰撞了
 public override void  OnEventHitBrokenObject()
 {
     //UnityEngine.Debug.Log("guangtouqiang");
     status = GuangTouQiangStatus.Status_StandBy;
     playerController.OpenPlayerSystemForceAccelerate(hitDecelerateValue,
                                                      hitDecelerateDampRate);
     //重新寻找对象
     currentCapturePlayer = null;
     //播放碰撞动画和语言
     playerController.playerAnimator.GuangtouqiangAniCollide();
 }
 private void DelaySetCapturePlayer()
 {
     status = GuangTouQiangStatus.Status_CapturePlayer;
     //追赶玩家
     playerController.playerAnimator.GuangtouqiangAniRandomEvent();
 }
 private void OnForceAccelerateCloseEvent(object sender, EventArgs e)
 {
     status = GuangTouQiangStatus.Status_SearchPlayer;
     Invoke("DelaySetCapturePlayer", waitTime);
 }
 //抓住熊后播完动画后回调
 public void MeCaptureXiongAnimationOver()
 {
     status = GuangTouQiangStatus.Status_StandBy;
     playerController.OpenPlayerSystemForceAccelerate(captureDecelerateValue,
                                                      captureDecelerateDampRate);
 }
 public override void AIUpdate()
 {
     if (status == GuangTouQiangStatus.Status_CapturePlayer)
     {
         //检索需要扑捉的玩家
         if (currentCapturePlayer == null)
         {
             currentCapturePlayer = SelectOneXiong();
             //accelerateMaxValue = FTLibrary.Command.FTRandom.NextSingle(accelerateMaxValueMin, accelerateMaxValueMax);
             accelerateMaxValue = accelerateMaxValueMax;
             //CapturePlayerLocker.IsLocked = true;
         }
         //决策左右方向
         playerController.playerTurnDirect = playerController.PlayerLeftOrRight(currentCapturePlayer);
         //这里不在判断加速方向,直接给予目标玩家的加速度就行
         //决策加速度
         playerController.playerAccelerateSign = UnityEngine.Mathf.Clamp(currentCapturePlayer.currentPlayerAccelerate, 0.0f, 1.0f);
         //首先判断是否抓住这个玩家了
         //if (!CapturePlayerLocker.IsLocked)
         //{
         //    //UnityEngine.Debug.Log("lllll");
         //    //追击超过一定的值就不追了
         //    currentCapturePlayer = null;
         //    status = GuangTouQiangStatus.Status_StandBy;
         //    playerController.OpenPlayerSystemForceAccelerate(captureDecelerateValue,
         //                        captureDecelerateDampRate);
         //}
         if (playerController.currentPlayerAccelerate >= accelerateMaxValue)
         {
             //UnityEngine.Debug.Log("nnnnn");
             //追击超过一定的值就不追了
             currentCapturePlayer = null;
             status = GuangTouQiangStatus.Status_StandBy;
             playerController.OpenPlayerSystemForceAccelerate(captureDecelerateValue,
                                                              captureDecelerateDampRate);
         }
         else if (playerController.IsHitThisPlayer(currentCapturePlayer, 0.2f, 1.6f))
         {
             OnEventMeCaptureXiong(currentCapturePlayer);
             ((PlayerAIControllerXiong)(currentCapturePlayer.playerAIControler)).OnEventGuangTouQiangCaptureMy(playerController);
             ((IParkourPlayer_Xiong)currentCapturePlayer).OnEventGuangTouQiangCaptureMy();
             //UnityEngine.Debug.Log("ccccc");
             //光头强扑捉减速
             //currentCapturePlayer = null;
             if (playerController.playerAnimator.delegateGuangtouqiangAniCollideArrestOver == null)
             {
                 playerController.playerAnimator.delegateGuangtouqiangAniCollideArrestOver = MeCaptureXiongAnimationOver;
             }
             status = GuangTouQiangStatus.Status_CaptureOKPlayer;
         }
     }
     else if (status == GuangTouQiangStatus.Status_SearchPlayer)
     {
         if (playerController.currentPlayerSteering > 0.1f)
         {
             playerController.playerTurnDirect = ParkourPlayerController.PlayerTurnDirect.Turn_Right;
         }
         else if (playerController.currentPlayerSteering < -0.1f)
         {
             playerController.playerTurnDirect = ParkourPlayerController.PlayerTurnDirect.Turn_Left;
         }
         else
         {
             playerController.playerTurnDirect = ParkourPlayerController.PlayerTurnDirect.Turn_Mid;
         }
     }
     else if (status == GuangTouQiangStatus.Status_CaptureOKPlayer)
     {
         //决策左右方向
         playerController.playerTurnDirect = playerController.PlayerLeftOrRight(currentCapturePlayer);
         //这里不在判断加速方向,直接给予目标玩家的加速度就行
         //决策加速度
         playerController.playerAccelerateSign = UnityEngine.Mathf.Clamp(currentCapturePlayer.currentPlayerAccelerate, 0.0f, 1.0f);
     }
     else if (status == GuangTouQiangStatus.Status_StandBy)
     {
     }
 }