ShenTaiRoleGroup.ts 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. import { _decorator, Component, Node, Label, Layout, UITransform, tween } from 'cc';
  2. import { OpenWindow } from '../../core/ui/window/OpenWindow';
  3. import { WindowManager } from '../../core/ui/window/WindowManager';
  4. import { g } from '../../Data/g';
  5. import { ShenTaiRole } from './ShenTaiRole';
  6. const { ccclass, property } = _decorator;
  7. @ccclass('ShenTaiRoleGroup')
  8. export class ShenTaiRoleGroup extends Component {
  9. @property({ type: [Node], tooltip: "好友组" }) roleGroup: Node[] = [];
  10. @property({ type: Label, tooltip: "好友人数文本" }) friendLabel: Label;
  11. @property({ tooltip: "好友等级信息" })
  12. friendLv: number = 0;
  13. private lvStr = ["一级好友", "二级好友", "三级好友", "四级好友", "五级好友"];
  14. private data: any = [];
  15. private openWindowCom: OpenWindow = null;
  16. start() {
  17. this.openWindowCom = this.node.getComponent(OpenWindow);
  18. let uiTransform = this.roleGroup[0].parent.getComponent(UITransform);
  19. let w = this.friendLv > 0 ? 740 : 700;
  20. tween(uiTransform).delay(0.2).to(0.2, { width: w }).start();
  21. }
  22. update() {
  23. if (g.gameData[`hasG${this.friendLv + 1}BembersUpdate`]) {
  24. g.gameData[`hasG${this.friendLv + 1}BembersUpdate`] = false;
  25. this.data = g.gameData.myFissionData[`g${this.friendLv + 1}Members`];
  26. this.friendLabel.string = this.lvStr[this.friendLv] + `(${this.data.length})人`;
  27. for (let i = 0; i < this.roleGroup.length; i++) {
  28. if (i < this.data.length) {
  29. this.roleGroup[i].getComponent(ShenTaiRole).setData(this.data[i], this.friendLv);
  30. } else {
  31. this.roleGroup[i].getComponent(ShenTaiRole).setData();
  32. }
  33. }
  34. }
  35. }
  36. public openFriendWindow() {
  37. if (!this.data.length) {
  38. WindowManager.showTips("还没有更多好友");
  39. return;
  40. }
  41. this.openWindowCom.open(this.friendLv);
  42. }
  43. }