CustomSuitDataManager.cs 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  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, DressUpData dressUpData)
  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.dressUpData = dressUpData;
  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.dressUpData = DressUpData.CreateDefault();
  43. return suitSavedData;
  44. }
  45. public static CustomSuitData GetCurrentSuitList()
  46. {
  47. return GetSuitList(currentIndex);
  48. }
  49. public static void SaveCurrentSuit(int index)
  50. {
  51. if (currentIndex != index)
  52. {
  53. currentIndex = index;
  54. }
  55. CustomSuitSProxy.UpdateCustomSuit(index, MyDressUpHelper.dressUpObj.DressUpDataClone()).Coroutine();
  56. }
  57. public static void InitServerData(List<CustomSuitProto> list)
  58. {
  59. _dataDic.Clear();
  60. if (list != null)
  61. {
  62. foreach (var suitProto in list)
  63. {
  64. CustomSuitData suitSavedData = new CustomSuitData(suitProto.Pos);
  65. _dataDic[suitProto.Pos] = suitSavedData;
  66. suitSavedData.dressUpData.bgId = suitProto.BgId;
  67. suitSavedData.dressUpData.suitId = suitProto.SuitId;
  68. suitSavedData.dressUpData.actionId = suitProto.ActionId;
  69. foreach (var equipId in suitProto.EquipIds)
  70. {
  71. suitSavedData.dressUpData.itemList.Add(equipId);
  72. }
  73. }
  74. }
  75. }
  76. }
  77. }