GongFaControl.cs 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. using System.Collections.Generic;
  2. using System.Linq;
  3. using GameLogic.Combat.CombatTool;
  4. using GameLogic.Combat.Hero;
  5. using GameLogic.Hero;
  6. using OfficeOpenXml.FormulaParsing.Excel.Functions.Logical;
  7. namespace GameLogic.Player
  8. {
  9. public class GongFaControl
  10. {
  11. /// <summary>
  12. /// 出战的功法 一共10个位置
  13. /// </summary>
  14. public SkillInfo[] allUseSkill = new SkillInfo[10];
  15. public List<SkillInfo> allSkill = new List<SkillInfo>();
  16. public int taoismSkillIndex = -1;
  17. public void AddSkillInfo(SkillInfo skillInfo)
  18. {
  19. allSkill.Add(skillInfo);
  20. if (skillInfo.index != -1)
  21. {
  22. allUseSkill[skillInfo.index] = skillInfo;
  23. }
  24. }
  25. public SkillInfo GetSkillInfo(int index)
  26. {
  27. return allUseSkill[index];
  28. }
  29. public void RemoveSkillInfo(int index)
  30. {
  31. allUseSkill[index] = null;
  32. }
  33. public void RemoveSkillInfo(SkillInfo skillInfo)
  34. {
  35. allUseSkill[skillInfo.index] = null;
  36. AccountFileInfo.SkillData skillData = AccountFileInfo.Instance.playerData.AllSkillDatas.First(s => s.id == skillInfo.skillConfig.IDGroup);
  37. skillData.useIndex = -1;
  38. }
  39. public void AddUseSkill(SkillInfo skillInfo)
  40. {
  41. allUseSkill[skillInfo.index] = skillInfo;
  42. AccountFileInfo.SkillData skillData = AccountFileInfo.Instance.playerData.AllSkillDatas.First(s => s.id == skillInfo.skillConfig.IDGroup);
  43. skillData.useIndex = skillInfo.index;
  44. }
  45. public void SetTaoismSkillIndex(int id)
  46. {
  47. taoismSkillIndex = id;
  48. PlayerManager.Instance.myHero.TaoismSkillId = id;
  49. CombatHeroEntity combatHeroEntity = CombatController.currActiveCombat.playerHeroEntity;
  50. combatHeroEntity.CombatHeroSkillControl.This<CombatHeroSkillControl>().InitTaoismSkill(id);
  51. }
  52. /// <summary>
  53. /// 测试用
  54. /// </summary>
  55. public void SaveUseSkill()
  56. {
  57. CombatHeroEntity combatHeroEntity = CombatController.currActiveCombat.playerHeroEntity;
  58. combatHeroEntity.CombatHeroSkillControl.SetNewSkill(allUseSkill);
  59. AccountFileInfo.Instance.SavePlayerData();
  60. }
  61. public void SaveUseSkill(SkillInfo[] allUseSkill)
  62. {
  63. for (var i = 0; i < allSkill.Count; i++)
  64. {
  65. allSkill[i].index = -1;
  66. AccountFileInfo.SkillData skillData = AccountFileInfo.Instance.playerData.AllSkillDatas.First(s => s.id == allSkill[i].skillConfig.IDGroup);
  67. skillData.useIndex = -1;
  68. }
  69. for (var i = 0; i < allUseSkill.Length; i++)
  70. {
  71. this.allUseSkill[i] = allUseSkill[i];
  72. if (allUseSkill[i] != null)
  73. {
  74. allUseSkill[i].index = i;
  75. AccountFileInfo.SkillData skillData = AccountFileInfo.Instance.playerData.AllSkillDatas.First(s => s.id == allSkill[i].skillConfig.IDGroup);
  76. skillData.useIndex = i;
  77. }
  78. }
  79. CombatHeroEntity combatHeroEntity = CombatController.currActiveCombat.playerHeroEntity;
  80. combatHeroEntity.CombatHeroSkillControl.SetNewSkill(allUseSkill);
  81. AccountFileInfo.Instance.SavePlayerData();
  82. }
  83. }
  84. }