RankEditorTool.cs 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. using UnityEditor;
  2. using UnityEngine;
  3. using System.Collections.Generic;
  4. namespace LocalRank
  5. {
  6. public static class RankEditorTool
  7. {
  8. // 自定义 GameId 列表
  9. private static readonly List<int> GameIds = new List<int> { 9, 10, 11, 12, 13, 14, 15, 16 };
  10. [MenuItem("Tools/排行榜/创建所有排行榜表(9~16)")]
  11. public static void CreateAllRankTables()
  12. {
  13. foreach (var gameId in GameIds)
  14. {
  15. RankService.CreateTableIfNotExists(gameId);
  16. Debug.Log($"已创建排行榜表:rank_game_{gameId}");
  17. }
  18. EditorUtility.DisplayDialog("操作完成", "已创建所有排行榜表", "好的");
  19. }
  20. [MenuItem("Tools/排行榜/清空所有排行榜表")]
  21. public static void ClearAllRankTables()
  22. {
  23. if (!EditorUtility.DisplayDialog("警告", "你确定要清空所有排行榜数据吗?此操作不可撤销!", "确定", "取消"))
  24. return;
  25. foreach (var gameId in GameIds)
  26. {
  27. RankService.ClearTable(gameId);
  28. Debug.Log($"已清空排行榜表:rank_game_{gameId}");
  29. }
  30. EditorUtility.DisplayDialog("操作完成", "已清空所有排行榜表数据", "好的");
  31. }
  32. [MenuItem("Tools/排行榜/打印所有排行榜数据")]
  33. public static void PrintAllRanks()
  34. {
  35. foreach (var gameId in GameIds)
  36. {
  37. var (list, _, count) = RankService.GetRankList(gameId, -1);
  38. Debug.Log($"[rank_game_{gameId}] 总记录数:{count}");
  39. foreach (var entry in list)
  40. {
  41. Debug.Log($"[{entry.Rank}] {entry.Nickname} - {entry.Score} {(entry.IsSelf ? "(自己)" : "")}");
  42. }
  43. }
  44. EditorUtility.DisplayDialog("打印完成", "已在控制台输出所有排行榜数据", "好的");
  45. }
  46. }
  47. }