RoleData.ts 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. import { FightRole, ItemEnum, Role } from "../common/InterfaceAddEnum";
  2. import { RoleConf } from "../ui/tower/conf/RoleConf";
  3. class Data {
  4. private _roles: { [id: string]: Role } = {};
  5. //上阵英雄
  6. private _fightRole: FightRole = [0, 0, 0, 0];
  7. //羁绊
  8. private _fate: { [id: string]: {} } = {};
  9. setData(data: { [id: string]: Role }): void {
  10. let rConf = RoleConf.data;
  11. if (data) {
  12. for (const id in data) {
  13. if (data.hasOwnProperty(id)) {
  14. if (rConf[id]) {
  15. const role = data[id];
  16. role.conf = rConf[id];
  17. this._roles[id] = role;
  18. role.type = ItemEnum.role;
  19. // console.log(`ID: ${id}, Name: ${role.name}, Level: ${role.level}`);
  20. }
  21. }
  22. }
  23. }
  24. }
  25. getData() {
  26. return this._roles;
  27. }
  28. getRoleDataByID(id: string | number): Role {
  29. if (typeof id === 'number') {
  30. id = id.toString();
  31. }
  32. return this._roles[id];
  33. }
  34. setRoleDataByID(id: string | number, data: Role) {
  35. if (typeof id === 'number') {
  36. id = id.toString();
  37. }
  38. if (this._roles[id]) {
  39. this._roles[id] = data;
  40. }
  41. }
  42. //设置出战角色 data {"1":"xxx","2":"xxx","3":"xxx","4":"xxx"}
  43. set fightRole(data: { [key: string]: string } | FightRole) {
  44. if (!data) return;
  45. this._fightRole = [0, 0, 0, 0];
  46. if (Array.isArray(data)) {
  47. this._fightRole = data as FightRole;
  48. } else {
  49. for (let i = 0; i < this._fightRole.length; i++) {
  50. this._fightRole[i] = Number(data[(i + 1).toString()] || "0");
  51. }
  52. }
  53. }
  54. //获取出战角色
  55. get fightRole() :FightRole{
  56. // return [101,201,301,401];
  57. return this._fightRole;
  58. }
  59. set fate(data: { [key: string]: {} }) {
  60. this._fate = data;
  61. }
  62. get fate() {
  63. return this._fate;
  64. }
  65. }
  66. export let RoleData = new Data;