CustomSuitDataManager.cs 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. using System.Collections.Generic;
  2. using System.Collections;
  3. using ET;
  4. namespace GFGGame
  5. {
  6. public class CustomSuitDataManager
  7. {
  8. private static int _currentIndex;
  9. public static int currentIndex { get; set; }
  10. private static Dictionary<int, CustomSuitData> _dataDic = new Dictionary<int, CustomSuitData>();
  11. public static void SaveSuit(int index, EquipData equipData)
  12. {
  13. CustomSuitData suitSavedData = null;
  14. if (_dataDic.ContainsKey(index))
  15. {
  16. suitSavedData = _dataDic[index];
  17. }
  18. else
  19. {
  20. suitSavedData = new CustomSuitData(index);
  21. _dataDic.Add(index, suitSavedData);
  22. }
  23. suitSavedData.EquipData = equipData;
  24. }
  25. public static CustomSuitData GetSuitList(int index)
  26. {
  27. CustomSuitData suitSavedData = null;
  28. if (_dataDic.ContainsKey(index))
  29. {
  30. suitSavedData = _dataDic[index];
  31. }
  32. else
  33. {
  34. suitSavedData = CreateDefaultSuitData(index);
  35. _dataDic.Add(index, suitSavedData);
  36. }
  37. return suitSavedData;
  38. }
  39. public static CustomSuitData CreateDefaultSuitData(int index)
  40. {
  41. CustomSuitData suitSavedData = new CustomSuitData(index);
  42. suitSavedData.EquipData.equipDatas = new List<int> { ConstItemID.DEFULT_FA_XING, ConstItemID.DEFULT_LIAN_YI_QUN };
  43. suitSavedData.EquipData.bgId = 180001;
  44. suitSavedData.EquipData.suitId = 0;
  45. suitSavedData.EquipData.isAction = false;
  46. return suitSavedData;
  47. }
  48. public static CustomSuitData GetCurrentSuitList()
  49. {
  50. return GetSuitList(currentIndex);
  51. }
  52. public static void SaveCurrentSuit(int index)
  53. {
  54. if (currentIndex != index)
  55. {
  56. currentIndex = index;
  57. }
  58. CustomSuitSProxy.UpdateCustomSuit(index, EquipDataCache.cacher.GetEquiptDataClone()).Coroutine();
  59. }
  60. public static void InitServerData(List<CustomSuitProto> list)
  61. {
  62. _dataDic.Clear();
  63. if (list != null)
  64. {
  65. foreach (var suitProto in list)
  66. {
  67. CustomSuitData suitSavedData = new CustomSuitData(suitProto.Pos);
  68. _dataDic[suitProto.Pos] = suitSavedData;
  69. suitSavedData.EquipData.bgId = suitProto.BgId;
  70. suitSavedData.EquipData.suitId = suitProto.SuitId;
  71. suitSavedData.EquipData.isAction = suitProto.Pic;
  72. foreach (var equipId in suitProto.EquipIds)
  73. {
  74. suitSavedData.EquipData.equipDatas.Add(equipId);
  75. }
  76. }
  77. }
  78. }
  79. }
  80. }