RoleData.ts 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. import { RoleConf } from "../ui/tower/conf/RoleConf";
  2. //服务器端返回的英雄数据
  3. interface RoleServer {
  4. id: string; //英雄id 动物形象id
  5. grade: number; //星级
  6. dna_lv: string; //基因等级
  7. dna_attr: { any } //基因属性
  8. equip: [];//读取状态
  9. skin: [];//皮肤
  10. fight_force: number;//战力
  11. conf: {}//配置
  12. }
  13. class Data {
  14. private _roles: { [id: string]: RoleServer } = {};
  15. //上阵英雄
  16. private _fightRole: Array<Number> = [];
  17. setData(data: { [id: string]: RoleServer }): void {
  18. let rConf = RoleConf.data;
  19. if (data) {
  20. for (const id in data) {
  21. if (data.hasOwnProperty(id)) {
  22. if (rConf[id]) {
  23. const role = data[id];
  24. role.conf = rConf[id];
  25. this._roles[id] = role;
  26. // console.log(`ID: ${id}, Name: ${role.name}, Level: ${role.level}`);
  27. }
  28. }
  29. }
  30. }
  31. }
  32. getData() {
  33. return this._roles;
  34. }
  35. getRoleDataByID(id: string | number): RoleServer {
  36. if (typeof id === 'number') {
  37. id = id.toString();
  38. }
  39. return this._roles[id];
  40. }
  41. setRoleDataByID(id: string | number, data: RoleServer) {
  42. if (typeof id === 'number') {
  43. id = id.toString();
  44. }
  45. if (this._roles[id]) {
  46. this._roles[id] = data;
  47. }
  48. }
  49. //设置出战角色 data {"1":"xxx","2":"xxx","3":"xxx","4":"xxx"}
  50. setFightRole(data) {
  51. if (!data) return
  52. this._fightRole = [0, 0, 0, 0];
  53. for (let i = 0; i < this._fightRole.length; i++) {
  54. this._fightRole[i] = Number(data[(i + 1).toString()] || "0");
  55. }
  56. }
  57. //获取出战角色
  58. fightRole() :[number,number,number,number]{
  59. return [101,201,301,401];
  60. // return this._fightRole;
  61. }
  62. }
  63. export let RoleData = new Data;