RoleManager.ts 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. import { Framework } from "../../framework/Framework";
  2. import { LoginMgr } from "../common/LoginManager";
  3. import { FateattridConf } from "../config/FateattridConf";
  4. import { FateConf } from "../config/FateConf";
  5. import { RoleData } from "../data/RoleData";
  6. import { RoleConf } from "../ui/tower/conf/RoleConf";
  7. import { GoodsManager } from "./GoodsManager";
  8. //角色管理器
  9. export class RoleManager {
  10. //抽一个英雄
  11. static getNewRole() {
  12. LoginMgr.sendPost('tavern', 'get', (data) => {
  13. console.log(data);
  14. }, {})
  15. return false;
  16. }
  17. //英雄升星
  18. static sendRoleAdvance(args: { hid: number }, callback) {
  19. LoginMgr.sendPost('role', 'grade_up', (data) => {
  20. console.log(data);
  21. let rData = RoleData.getRoleDataByID(args.hid);
  22. rData.grade = data.grade;
  23. RoleData.setRoleDataByID(args.hid, rData)
  24. if(data.awards){
  25. Framework.unionManager.parseServerAwards(data.awards);
  26. }
  27. callback();
  28. }, args)
  29. }
  30. static getRolesRaceGroup() {
  31. let roles = {};
  32. let roleConf = RoleConf.data
  33. for (const rId in roleConf) {
  34. if (Object.prototype.hasOwnProperty.call(roleConf, rId)) {
  35. const element = roleConf[rId];
  36. let rData = RoleData.getRoleDataByID(rId);
  37. if (roles[element.Race]) {
  38. if (rData) {
  39. roles[element.Race].push(rData);
  40. } else {
  41. roles[element.Race].push({ conf: element });
  42. }
  43. } else {
  44. roles[element.Race] = [];
  45. if (rData) {
  46. roles[element.Race].push(rData);
  47. } else {
  48. roles[element.Race].push({ conf: element });
  49. }
  50. }
  51. }
  52. }
  53. for (const key in roles) {
  54. if (Object.prototype.hasOwnProperty.call(roles, key)) {
  55. const element = roles[key];
  56. element.sort((a, b) => {
  57. return Number(a.conf.Id) < Number(b.conf.Id) ? -1 : 1;
  58. });
  59. }
  60. }
  61. return roles;
  62. }
  63. static setFateData(data: { [key: string]: number }) {
  64. let fateData = {};
  65. let conf = FateConf.data;
  66. let atteConf = FateattridConf.data;
  67. for (const key in data) {
  68. if (Object.prototype.hasOwnProperty.call(data, key)) {
  69. const element = data[key];
  70. fateData[key] = element;
  71. }
  72. }
  73. RoleData.fate = fateData;
  74. }
  75. }