SuitCfgManager.cs 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. using System.Collections.Generic;
  2. namespace GFGGame
  3. {
  4. public class SuitCfgManager : SingletonBase<SuitCfgManager>
  5. {
  6. /// <summary>
  7. /// 获取所有套装中部件的总个数
  8. /// </summary>
  9. public int totalItemCount
  10. {
  11. get
  12. {
  13. return GlobalCfgArray.globalCfg.suitPartTotalCount;
  14. }
  15. }
  16. /// <summary>
  17. /// 获取物品所属套装id
  18. /// </summary>
  19. /// <param name="itemId"></param>
  20. /// <returns></returns>
  21. public int GetItemSuitId(int itemId)
  22. {
  23. var itemCfg = ItemCfgArray.Instance.GetCfg(itemId);
  24. if (itemCfg != null)
  25. {
  26. return itemCfg.suitId;
  27. }
  28. return 0;
  29. }
  30. /// <summary>
  31. /// 获取指定套装中部件的总数
  32. /// </summary>
  33. /// <param name="suitId"></param>
  34. /// <returns></returns>
  35. public int GetTotalCountOfOneSuit(int suitId)
  36. {
  37. var suitCfg = SuitCfgArray.Instance.GetCfg(suitId);
  38. if (suitCfg != null)
  39. {
  40. return suitCfg.partsArr.Length;
  41. }
  42. return 0;
  43. }
  44. /// <summary>
  45. /// 获取指定套装中部件的id数组
  46. /// </summary>
  47. /// <param name="suitId"></param>
  48. /// <returns></returns>
  49. public int[] GetSuitItems(int suitId, bool checkScene = false)
  50. {
  51. SuitCfg suitCfg = SuitCfgArray.Instance.GetCfg(suitId);
  52. if (suitCfg == null)
  53. {
  54. ET.Log.Error(suitId + "SuitCfgArray配置不存在");
  55. return null;
  56. }
  57. if (checkScene)
  58. {
  59. List<int> parts = new List<int>();
  60. for (int i = 0; i < suitCfg.partsArr.Length; i++)
  61. {
  62. if (!DressUpMenuItemDataManager.CheckIsSceneType(suitCfg.partsArr[i]))
  63. {
  64. parts.Add(suitCfg.partsArr[i]);
  65. }
  66. }
  67. return parts.ToArray();
  68. }
  69. return suitCfg.partsArr;
  70. }
  71. }
  72. }