| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123 | 
							- using System.Collections.Generic;
 
- using Common.Utility.CombatEvent;
 
- using Core.Utility;
 
- using Excel2Json;
 
- using Fort23.Core;
 
- using Fort23.UTool;
 
- using GameLogic.Combat.CombatTool;
 
- using GameLogic.Hero;
 
- namespace GameLogic.Combat.Hero
 
- {
 
-     /// <summary>
 
-     /// 法宝的管理
 
-     /// </summary>
 
-     public class MagicWeaponControl
 
-     {
 
-         public bool isAutoUse;
 
-         private BetterList<CombatMagicWeaponEntity> _allMagicWeapon = new BetterList<CombatMagicWeaponEntity>();
 
-         /// <summary>
 
-         /// 全局CD
 
-         /// </summary>
 
-         public float globalMagicWeaponCd;
 
-         public CombatMagicWeaponEntity[] AllMagicWeapon
 
-         {
 
-             get { return _allMagicWeapon.ToArray(true); }
 
-         }
 
-         public int MagicWeaponCount
 
-         {
 
-             get { return _allMagicWeapon.Count; }
 
-         }
 
-         // private CombatMagicWeaponEntity _currUserMagicWeapon;
 
-         public CombatHeroEntity combatHeroEntity;
 
-         public void AddMagicWeapon(CombatMagicWeaponEntity combatMagicWeaponEntity)
 
-         {
 
-             if (combatHeroEntity.isPlayer)
 
-             {
 
-                 AddMagicWeaponHeroEntityEventData addMagicWeaponHeroEntityEventData =
 
-                     AddMagicWeaponHeroEntityEventData.Create();
 
-                 addMagicWeaponHeroEntityEventData.CombatMagicWeaponEntity = combatMagicWeaponEntity;
 
-                 CombatEventManager.Instance.Dispatch(CombatEventType.AddMagicWeaponHeroEntity,
 
-                     addMagicWeaponHeroEntityEventData);
 
-             }
 
-             _allMagicWeapon.Add(combatMagicWeaponEntity);
 
-         }
 
-         public void RemoveMagicWeapon(CombatMagicWeaponEntity combatMagicWeaponEntity)
 
-         {
 
-             _allMagicWeapon.Remove(combatMagicWeaponEntity);
 
-         }
 
-         public async CTask InitMagicWeapon(CombatHeroEntity combatHeroEntity, bool isPlayer)
 
-         {
 
-             isAutoUse = !isPlayer;
 
-             this.combatHeroEntity = combatHeroEntity;
 
-             CTaskAwaitBuffer cTaskAwaitBuffer = new CTaskAwaitBuffer();
 
-             List<FaBaoInfo> MagicWeaponID = combatHeroEntity.CurrCombatHeroInfo.MagicWeaponID;
 
-             for (int i = 0; i < MagicWeaponID.Count; i++)
 
-             {
 
-                 if (MagicWeaponID[i] == null)
 
-                 {
 
-                     continue;
 
-                 }
 
-                 CombatMagicWeaponEntity heroEntity = new CombatMagicWeaponEntity();
 
-                 heroEntity.IsEnemy = combatHeroEntity.IsEnemy;
 
-                 heroEntity.number = i;
 
-                 AddMagicWeapon(heroEntity);
 
-                 cTaskAwaitBuffer.AddTask(heroEntity.Init(this, MagicWeaponID[i],
 
-                     delegate(CombatMagicWeaponEntity entity)
 
-                     {
 
-                        
 
-                         float bl = (entity.number + 1) * 0.25f;
 
-                         entity.cd = entity.cd * bl;
 
-                     }));
 
-             }
 
-             await cTaskAwaitBuffer.WaitAll();
 
-             cTaskAwaitBuffer.Dispose();
 
-         }
 
-         public void UseMagicWeapon(CombatMagicWeaponEntity combatMagicWeaponEntity)
 
-         {
 
-             combatMagicWeaponEntity.isMagicWeaponTreasureBook = false;
 
-             globalMagicWeaponCd = 2;
 
-             UseMagicWeaponEventData useMagicWeaponEventData = UseMagicWeaponEventData.Create();
 
-             useMagicWeaponEventData.combatHeroEntity = combatHeroEntity;
 
-             useMagicWeaponEventData.combatMagicWeaponEntity = combatMagicWeaponEntity;
 
-             CombatEventManager.Instance.Dispatch(CombatEventType.UseMagicWeapon, useMagicWeaponEventData);
 
-             // CombatEventManager.Instance.AddEventListener(CombatEventType.UseMagicWeapon,
 
-             CombatController.currActiveCombat.MagicWeaponCombatSence.AddMagicWeaponToSence(combatMagicWeaponEntity);
 
-         }
 
-         public void ReduceMagicCd(float cdBl)
 
-         {
 
-             for (int i = 0; i < _allMagicWeapon.Count; i++)
 
-             {
 
-                 CombatMagicWeaponEntity combatMagicWeaponEntity = _allMagicWeapon[i];
 
-                 float v = combatMagicWeaponEntity.MaxCd * cdBl * 0.01f;
 
-                 combatMagicWeaponEntity.cd -= v;
 
-             }
 
-         }
 
-         public void Update(float t)
 
-         {
 
-             if (globalMagicWeaponCd > 0)
 
-             {
 
-                 globalMagicWeaponCd -= t;
 
-             }
 
-             for (int i = 0; i < _allMagicWeapon.Count; i++)
 
-             {
 
-                 _allMagicWeapon[i].Update(t);
 
-             }
 
-         }
 
-     }
 
- }
 
 
  |