| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129 | 
							- using CombatLibrary.CombatLibrary.CombatCore.CustomizeTimeLogic.FxLogic;
 
- using Core.Audio;
 
- using Fort23.Core;
 
- using GameLogic.Combat.CombatTool;
 
- using GameLogic.Combat.CombatType;
 
- using GameLogic.Combat.Hero;
 
- using UnityEngine;
 
- namespace GameLogic.Combat.CombatState
 
- {
 
-     public class CombatUpdateState : CombatStateBasic
 
-     {
 
-         /// <summary>
 
-         /// 下次遇见怪的时间
 
-         /// </summary>
 
-         private float _nextMonsterTime;
 
-         
 
-         /// <summary>
 
-         /// 是否没有敌人
 
-         /// </summary>
 
-         protected bool isNullMonster;
 
-       
 
-         public CombatUpdateState(CombatController combatController) : base(combatController)
 
-         {
 
-         }
 
-         protected override void ProEnter()
 
-         {
 
-             CombatController.CombatCameraControllder.isStop = false;
 
-             CombatController.IsFightState = false;
 
-             CombatController.GameTimeLineParticleFactory.RecycleAllFxAiLogicBasic();
 
-             CombatHeroEntity playerHeroEntity = CombatController.currActiveCombat.playerHeroEntity;
 
-             if (playerHeroEntity != null)
 
-             {
 
-                 playerHeroEntity.CombatAIBasic.ChangeState(CombatHeroStateType.Flight,isQiangZhi:true);
 
-                 playerHeroEntity.CurrCombatHeroInfo.Shield = playerHeroEntity.MaxCombatHeroInfo.Shield;
 
-                 CombatCalculateTool.Instance.Recover(playerHeroEntity,
 
-                     playerHeroEntity.GetMainHotPoin<CombatHeroHitPoint>(), 999999, AttType.Normal, HarmType.Null,
 
-                     new TriggerData());
 
-             }
 
-             _nextMonsterTime = Random.Range(5, 10);
 
-             isNullMonster = true;
 
-             CombatController.MagicWeaponCombatSence.CloseSecene();
 
-             CombatController.currActiveCombat.CombatCameraControllder.SetFieldOfView(70,1);
 
-             AudioManager.Instance.PlayBGM("xunlongduobao.wav");
 
-         }
 
-         protected override void ProUpdate(float t)
 
-         {
 
-             CombatHeroEntity playerHeroEntity = CombatController.currActiveCombat.playerHeroEntity;
 
-             if (playerHeroEntity == null)
 
-             {
 
-                 return;
 
-             }
 
-             if (isNullMonster)
 
-             {
 
-                 _nextMonsterTime -= t;
 
-             
 
-                 if (_nextMonsterTime < 0)
 
-                 {  
 
-                     _nextMonsterTime = Random.Range(PlayerManager.Instance.gameConstantConfig.GuajiCD[0], PlayerManager.Instance.gameConstantConfig.GuajiCD[1]);
 
-                    // EventSystemManager.Instance.DetectRandomEvents();
 
-                    EventManager.Instance.Dispatch(CustomEventType.DetectRandomEvent,null);
 
-                 }
 
-             }
 
-             CombatHeroEntity[] allHero =
 
-                 CombatController.currActiveCombat.CombatHeroController.GetHero(true,out int maxCount);
 
-             if (maxCount > 0)
 
-             {
 
-                 // CombatController.ChangeState("fight");
 
-                 return;
 
-             }
 
-             
 
-             float add = 0.1f;
 
-             Vector3 pos = playerHeroEntity.dotPos;
 
-             Vector3 dir =  CombatController.currActiveCombat.CombatSenceController.moveDir;
 
-             float fx = 1;
 
-             
 
-             pos += dir.normalized * CombatController.currActiveCombat.CombatHeroController.moveSpeed * t;
 
-             playerHeroEntity.combatHeroGameObject.SetPosition(pos);
 
-             playerHeroEntity.GameObject.transform.rotation = Quaternion.LookRotation(dir * fx);
 
-             CombatController.CombatHeroController.Update(t);
 
-             CombatController.CombatCameraControllder.Update(t);
 
-             CombatController.GameTimeLineParticleFactory.CombatUpdate(t);
 
-         }
 
-         protected IHero FindMinDixtance(CombatHeroEntity[] allHero,int maxCount)
 
-         {
 
-             IHero minDistanceHero = null;
 
-             if (allHero == null)
 
-             {
 
-                 return null;
 
-             }
 
-             CombatHeroEntity playerHeroEntity = CombatController.currActiveCombat.playerHeroEntity;
 
-             float minDistance = float.MaxValue;
 
-             for (int i = 0; i < maxCount; i++)
 
-             {
 
-                 CombatHeroEntity hero = allHero[i];
 
-                 if (hero.GetMainHotPoin<CombatHeroHitPoint>() == null)
 
-                 {
 
-                     continue;
 
-                 }
 
-                 float distance = Vector3.SqrMagnitude(hero.combatHeroGameObject.position -
 
-                                                       playerHeroEntity.combatHeroGameObject.position);
 
-                 if (distance < minDistance && distance < 225)
 
-                 {
 
-                     // if (!_combatHeroEntity.IsEnemy || distance < _combatHeroEntity.CurrCombatHeroInfo.maxDisTo + 100)
 
-                     {
 
-                         minDistance = distance;
 
-                         minDistanceHero = hero;
 
-                     }
 
-                 }
 
-             }
 
-             return minDistanceHero;
 
-         }
 
-     }
 
- }
 
 
  |