GuideDataManager.cs 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. using System.Collections.Generic;
  2. namespace GFGGame
  3. {
  4. public class GuideDataManager
  5. {
  6. public static int currentGuideId;
  7. private static Dictionary<int, GuideData> _dataDic = new Dictionary<int, GuideData>();
  8. //本次登录引导的id缓存
  9. private static Dictionary<int, bool> _guideDicAtThisLogin = new Dictionary<int, bool>();
  10. public static void InitServerData(List<GuideData> list)
  11. {
  12. currentGuideId = 0;
  13. _dataDic.Clear();
  14. _guideDicAtThisLogin.Clear();
  15. if (list != null)
  16. {
  17. foreach (GuideData data in list)
  18. {
  19. _dataDic.Add(data.guideId, data);
  20. }
  21. }
  22. }
  23. public static bool TryCompleteGuide(int guideId)
  24. {
  25. if (GameGlobal.skipGuide)
  26. {
  27. return false;
  28. }
  29. if (currentGuideId == guideId)
  30. {
  31. GuideData guideData = null;
  32. if (_dataDic.ContainsKey(guideId))
  33. {
  34. guideData = _dataDic[guideId];
  35. }
  36. else
  37. {
  38. guideData = new GuideData();
  39. guideData.guideId = guideId;
  40. guideData.count = 0;
  41. _dataDic.Add(guideId, guideData);
  42. }
  43. guideData.count++;
  44. currentGuideId = 0;
  45. GameProxy.ReqUpdateRoleGuide(guideData);
  46. _guideDicAtThisLogin[guideId] = true;
  47. return true;
  48. }
  49. return false;
  50. }
  51. public static int GetGuideCount(int guideId)
  52. {
  53. if (_dataDic.ContainsKey(guideId))
  54. {
  55. GuideData guideData = _dataDic[guideId];
  56. return guideData.count;
  57. }
  58. return 0;
  59. }
  60. public static bool CheckGuideIsCompletedAtThisLogin(int guideId)
  61. {
  62. if (_guideDicAtThisLogin.ContainsKey(guideId))
  63. {
  64. return _guideDicAtThisLogin[guideId];
  65. }
  66. return false;
  67. }
  68. }
  69. }