| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- import { _decorator, Component, Node, UITransform, tween, Label } from 'cc';
- import { DataSystem } from '../core/data/DataSystem';
- import { WindowOpenMode } from '../core/ui/window/WindowOpenMode';
- import { WindowSystem } from '../core/ui/window/WindowSystem';
- import { GodTowerData } from './GodTowerData';
- import { GodTowerHero } from './GodTowerHero';
- const { ccclass, property } = _decorator;
- @ccclass('HeroGroup')
- export class HeroGroup extends Component {
- @property({ type: [Node], tooltip: "好友组" }) roleGroup: Node[] = [];
- @property({ type: Label, tooltip: "好友人数文本" }) friendLabel: Label;
- @property({ tooltip: "好友等级信息" }) friendLv: number = 0;
- @property({ tooltip: "好友等级信息", type: Node }) herosNode: Node;
- private lvStr = ["一级好友", "二级好友", "三级好友", "四级好友", "五级好友"];
- private data: any = [];
- private infoData: GodTowerData;
- start() {
- this.infoData = DataSystem.getData(GodTowerData);
- let uiTransform = this.herosNode.getComponent(UITransform);
- let w = this.friendLv > 0 ? 740 : 700;
- tween(uiTransform).delay(0.2).to(0.2, { width: w }).start();
- }
- update() {
- DataSystem.watch(GodTowerData, `g${this.friendLv + 1}Members`) && this.setData();
- }
- private setData() {
- this.data = this.infoData[`g${this.friendLv + 1}Members`];
- this.friendLabel.string = this.lvStr[this.friendLv];
- for (let i = 0; i < this.roleGroup.length; i++) {
- if (i < this.data.length) {
- this.roleGroup[i].getComponent(GodTowerHero).setData(this.data[i], this.friendLv);
- } else {
- this.roleGroup[i].getComponent(GodTowerHero).setData();
- }
- }
- }
- public openFriendWindow() {
- if (!this.data.length) {
- WindowSystem.showTips("还没有更多好友");
- return;
- }
- WindowSystem.open('prefabs/ui/godTower/friendList', WindowOpenMode.NotCloseAndCover, [this.friendLv]);
- }
- }
|