import { _decorator, Component, Node, Label, Layout, UITransform, tween } from 'cc'; import { OpenWindow } from '../../core/ui/window/OpenWindow'; import { WindowManager } from '../../core/ui/window/WindowManager'; import { g } from '../../Data/g'; import { ShenTaiRole } from './ShenTaiRole'; const { ccclass, property } = _decorator; @ccclass('ShenTaiRoleGroup') export class ShenTaiRoleGroup extends Component { @property({ type: [Node], tooltip: "好友组" }) roleGroup: Node[] = []; @property({ type: Label, tooltip: "好友人数文本" }) friendLabel: Label; @property({ tooltip: "好友等级信息" }) friendLv: number = 0; private lvStr = ["一级好友", "二级好友", "三级好友", "四级好友", "五级好友"]; private data: any = []; private openWindowCom: OpenWindow = null; start() { this.openWindowCom = this.node.getComponent(OpenWindow); let uiTransform = this.roleGroup[0].parent.getComponent(UITransform); let w = this.friendLv > 0 ? 740 : 700; tween(uiTransform).delay(0.2).to(0.2, { width: w }).start(); } update() { if (g.gameData[`hasG${this.friendLv + 1}BembersUpdate`]) { g.gameData[`hasG${this.friendLv + 1}BembersUpdate`] = false; this.data = g.gameData.myFissionData[`g${this.friendLv + 1}Members`]; this.friendLabel.string = this.lvStr[this.friendLv] + `(${this.data.length})人`; for (let i = 0; i < this.roleGroup.length; i++) { if (i < this.data.length) { this.roleGroup[i].getComponent(ShenTaiRole).setData(this.data[i], this.friendLv); } else { this.roleGroup[i].getComponent(ShenTaiRole).setData(); } } } } public openFriendWindow() { if (!this.data.length) { WindowManager.showTips("还没有更多好友"); return; } this.openWindowCom.open(this.friendLv); } }