CustomSuitDataManager.cs 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. using System.Collections.Generic;
  2. using System.Collections;
  3. using ET;
  4. namespace GFGGame
  5. {
  6. public class CustomSuitDataManager
  7. {
  8. public static int currentIndex
  9. {
  10. get { return StorageDataManager.Instance.GetStorageValue(ConstStorageId.STORAGE_CUSTOME_SUIT_INDEX); }
  11. }
  12. private static Dictionary<int, CustomSuitData> _dataDic = new Dictionary<int, CustomSuitData>();
  13. private static void SaveSuit(int index, int[] arrayList, int bgID = 0, int suitId = 0, int pic = 0)
  14. {
  15. CustomSuitData suitSavedData = null;
  16. if(_dataDic.ContainsKey(index))
  17. {
  18. suitSavedData = _dataDic[index];
  19. }
  20. else
  21. {
  22. suitSavedData = new CustomSuitData(index);
  23. _dataDic.Add(index, suitSavedData);
  24. }
  25. suitSavedData.equipDatas = arrayList;
  26. suitSavedData.bg = bgID;
  27. suitSavedData.pic = pic;
  28. suitSavedData.suitId = suitId;
  29. GameProxy.ReqUpdateRoleSuit(suitSavedData);
  30. }
  31. public static CustomSuitData GetSuitList(int index)
  32. {
  33. CustomSuitData suitSavedData = null;
  34. if(_dataDic.ContainsKey(index))
  35. {
  36. suitSavedData = _dataDic[index];
  37. }
  38. else
  39. {
  40. suitSavedData = CreateDefaultSuitData(index);
  41. _dataDic.Add(index, suitSavedData);
  42. }
  43. return suitSavedData;
  44. }
  45. public static CustomSuitData CreateDefaultSuitData(int index)
  46. {
  47. CustomSuitData suitSavedData = new CustomSuitData(index);
  48. suitSavedData.equipDatas = new int[3]{10000, 30000, 50000};
  49. suitSavedData.bg = 180001;
  50. suitSavedData.pic = 0;
  51. suitSavedData.suitId = 0;
  52. return suitSavedData;
  53. }
  54. public static CustomSuitData GetCurrentSuitList()
  55. {
  56. return GetSuitList(currentIndex);
  57. }
  58. public static void SaveCurrentSuit(int index)
  59. {
  60. if(currentIndex != index)
  61. {
  62. StorageSProxy.ReqSetClientValue(ConstStorageId.STORAGE_CUSTOME_SUIT_INDEX ,index).Coroutine();
  63. }
  64. SaveSuit(currentIndex, EquipDataCache.cacher.equipDatas, EquipDataCache.cacher.bgId, EquipDataCache.cacher.suitId, EquipDataCache.cacher.picStatus);
  65. }
  66. public static void InitServerData(int suitIndex, List<RoleSuit> list)
  67. {
  68. _dataDic.Clear();
  69. if(list != null)
  70. {
  71. foreach(RoleSuit roleSuit in list)
  72. {
  73. CustomSuitData suitSavedData = new CustomSuitData(roleSuit.pos);
  74. _dataDic[roleSuit.pos] = suitSavedData;
  75. if(roleSuit.equipIds.Length > 0)
  76. {
  77. string[] ids = roleSuit.equipIds.Split(',');
  78. suitSavedData.equipDatas = new int[ids.Length];
  79. for(int i = 0; i < ids.Length; i++)
  80. {
  81. suitSavedData.equipDatas[i] = int.Parse(ids[i]);
  82. }
  83. }
  84. else
  85. {
  86. suitSavedData.equipDatas = new int[]{};
  87. }
  88. suitSavedData.bg = roleSuit.bg;
  89. suitSavedData.pic = roleSuit.pic;
  90. suitSavedData.suitId = roleSuit.suitId;
  91. }
  92. }
  93. }
  94. }
  95. }