123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- 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>();
- // 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++)
- {
- CombatMagicWeaponEntity heroEntity = new CombatMagicWeaponEntity();
- heroEntity.IsEnemy = combatHeroEntity.IsEnemy;
- heroEntity.number = i;
- cTaskAwaitBuffer.AddTask(heroEntity.Init(this, MagicWeaponID[i],
- delegate(CombatMagicWeaponEntity entity) { AddMagicWeapon(entity); }));
- }
- }
- public void UseMagicWeapon(CombatMagicWeaponEntity combatMagicWeaponEntity)
- {
- 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)
- {
- for (int i = 0; i < _allMagicWeapon.Count; i++)
- {
- _allMagicWeapon[i].Update(t);
- }
- }
- }
- }
|