CustomSuitDataManager.cs 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. using System.Collections.Generic;
  2. using System.Collections;
  3. namespace GFGGame
  4. {
  5. public class CustomSuitDataManager
  6. {
  7. private static int _currentIndex = 0;
  8. public static int currentIndex
  9. {
  10. get {return _currentIndex;}
  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. _currentIndex = index;
  63. GameProxy.ReqUpdateRoleSuitIndex(index);
  64. }
  65. SaveSuit(currentIndex, EquipDataCache.cacher.equipDatas, EquipDataCache.cacher.bgId, EquipDataCache.cacher.suitId, EquipDataCache.cacher.picStatus);
  66. }
  67. public static void InitServerData(int suitIndex, List<RoleSuit> list)
  68. {
  69. _currentIndex = 0;
  70. _dataDic.Clear();
  71. if(list != null)
  72. {
  73. _currentIndex = suitIndex;
  74. foreach(RoleSuit roleSuit in list)
  75. {
  76. CustomSuitData suitSavedData = new CustomSuitData(roleSuit.pos);
  77. _dataDic[roleSuit.pos] = suitSavedData;
  78. if(roleSuit.equipIds.Length > 0)
  79. {
  80. string[] ids = roleSuit.equipIds.Split(',');
  81. suitSavedData.equipDatas = new int[ids.Length];
  82. for(int i = 0; i < ids.Length; i++)
  83. {
  84. suitSavedData.equipDatas[i] = int.Parse(ids[i]);
  85. }
  86. }
  87. else
  88. {
  89. suitSavedData.equipDatas = new int[]{};
  90. }
  91. suitSavedData.bg = roleSuit.bg;
  92. suitSavedData.pic = roleSuit.pic;
  93. suitSavedData.suitId = roleSuit.suitId;
  94. }
  95. }
  96. }
  97. }
  98. }