MagicWeaponControl.cs 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. using System.Collections.Generic;
  2. using Common.Utility.CombatEvent;
  3. using Core.Utility;
  4. using Excel2Json;
  5. using Fort23.Core;
  6. using Fort23.UTool;
  7. using GameLogic.Combat.CombatTool;
  8. namespace GameLogic.Combat.Hero
  9. {
  10. /// <summary>
  11. /// 法宝的管理
  12. /// </summary>
  13. public class MagicWeaponControl
  14. {
  15. private BetterList<CombatMagicWeaponEntity> _allMagicWeapon = new BetterList<CombatMagicWeaponEntity>();
  16. // private CombatMagicWeaponEntity _currUserMagicWeapon;
  17. public CombatHeroEntity combatHeroEntity;
  18. public void AddMagicWeapon(CombatMagicWeaponEntity combatMagicWeaponEntity)
  19. {
  20. _allMagicWeapon.Add(combatMagicWeaponEntity);
  21. }
  22. public void RemoveMagicWeapon(CombatMagicWeaponEntity combatMagicWeaponEntity)
  23. {
  24. _allMagicWeapon.Remove(combatMagicWeaponEntity);
  25. }
  26. public async CTask InitMagicWeapon(CombatHeroEntity combatHeroEntity)
  27. {
  28. this.combatHeroEntity = combatHeroEntity;
  29. CTaskAwaitBuffer cTaskAwaitBuffer = new CTaskAwaitBuffer();
  30. List<int> MagicWeaponID = combatHeroEntity.CurrCombatHeroInfo.MagicWeaponID;
  31. for (int i = 0; i < MagicWeaponID.Count; i++)
  32. {
  33. CombatMagicWeaponEntity heroEntity = new CombatMagicWeaponEntity();
  34. heroEntity.IsEnemy = combatHeroEntity.IsEnemy;
  35. heroEntity.number = i;
  36. MagicWeaponConfig magicWeaponConfig = ConfigComponent.Instance.Get<MagicWeaponConfig>(MagicWeaponID[i]);
  37. cTaskAwaitBuffer.AddTask(heroEntity.Init(this, magicWeaponConfig,
  38. delegate(CombatMagicWeaponEntity entity) { AddMagicWeapon(entity); }));
  39. }
  40. }
  41. public void UseMagicWeapon(CombatMagicWeaponEntity combatMagicWeaponEntity)
  42. {
  43. CombatController.currActiveCombat.MagicWeaponCombatSence.AddMagicWeaponToSence(combatMagicWeaponEntity);
  44. }
  45. public void Update(float t)
  46. {
  47. for (int i = 0; i < _allMagicWeapon.Count; i++)
  48. {
  49. _allMagicWeapon[i].Update(t);
  50. }
  51. }
  52. }
  53. }