ArenaRewardCfgArrayPartical.cs 1.1 KB

123456789101112131415161718192021222324252627282930313233
  1. using System.Collections.Generic;
  2. using System.Linq;
  3. using cfg;
  4. using cfg.GfgCfg;
  5. using ET;
  6. namespace GFGGame
  7. {
  8. public class ArenaRewardCfgArray : SingletonBaseET<ArenaRewardCfgArray>
  9. {
  10. private readonly Dictionary<int, SelectionCache<int, ArenaRewardCfg>> caches =
  11. new Dictionary<int, SelectionCache<int, ArenaRewardCfg>>();
  12. public List<ItemParam> GetPrizeByGradeAndRank(int grade, int rank)
  13. {
  14. //段位最小时默认领最低奖励
  15. if (grade == 1)
  16. {
  17. List<ArenaRewardCfg> grade1Cfg = CommonDataManager.Tables.TblArenaRewardCfg.DataList
  18. .Where(a => a.Grade == 1).ToList();
  19. if (grade1Cfg == null || grade1Cfg.Count == 0) return null;
  20. return grade1Cfg[0].BonusWeekly;
  21. }
  22. caches.TryGetValue(grade, out SelectionCache<int, ArenaRewardCfg> cache);
  23. if (cache == null) return null;
  24. ArenaRewardCfg arenaRewardCfg = cache.GetValue(rank);
  25. if (arenaRewardCfg.Grade == -1) return null;
  26. return arenaRewardCfg.BonusWeekly;
  27. }
  28. }
  29. }