CustomSuitDataManager.cs 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  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. public static void SaveSuit(int index, List<int> arrayList, int bgID = 0, int suitId = 0, bool pic = false)
  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. }
  30. public static CustomSuitData GetSuitList(int index)
  31. {
  32. CustomSuitData suitSavedData = null;
  33. if(_dataDic.ContainsKey(index))
  34. {
  35. suitSavedData = _dataDic[index];
  36. }
  37. else
  38. {
  39. suitSavedData = CreateDefaultSuitData(index);
  40. _dataDic.Add(index, suitSavedData);
  41. }
  42. return suitSavedData;
  43. }
  44. public static CustomSuitData CreateDefaultSuitData(int index)
  45. {
  46. CustomSuitData suitSavedData = new CustomSuitData(index);
  47. suitSavedData.equipDatas = new List<int>{10000, 30000, 50000};
  48. suitSavedData.bg = 180001;
  49. suitSavedData.suitId = 0;
  50. suitSavedData.pic = false;
  51. return suitSavedData;
  52. }
  53. public static CustomSuitData GetCurrentSuitList()
  54. {
  55. return GetSuitList(currentIndex);
  56. }
  57. public static void SaveCurrentSuit(int index)
  58. {
  59. if(currentIndex != index)
  60. {
  61. StorageSProxy.ReqSetClientValue(ConstStorageId.STORAGE_CUSTOME_SUIT_INDEX ,index).Coroutine();
  62. }
  63. CustomSuitSProxy.UpdateCustomSuit(index, EquipDataCache.cacher.equipDatas, EquipDataCache.cacher.bgId, EquipDataCache.cacher.suitId, EquipDataCache.cacher.picStatus).Coroutine();
  64. }
  65. public static void InitServerData(List<CustomSuitProto> list)
  66. {
  67. _dataDic.Clear();
  68. if(list != null)
  69. {
  70. foreach(var suitProto in list)
  71. {
  72. CustomSuitData suitSavedData = new CustomSuitData(suitProto.Pos);
  73. _dataDic[suitProto.Pos] = suitSavedData;
  74. suitSavedData.bg = suitProto.BgId;
  75. suitSavedData.suitId = suitProto.SuitId;
  76. suitSavedData.pic = suitProto.Pic;
  77. foreach (var equipId in suitProto.EquipIds)
  78. {
  79. suitSavedData.equipDatas.Add(equipId);
  80. }
  81. }
  82. }
  83. }
  84. }
  85. }