| 1234567891011121314151617181920212223242526272829303132333435363738 |
- import { _decorator, Component, Node, instantiate, Prefab, v3, UITransform, CCBoolean } from 'cc';
- import { PVPCardData } from './PVP';
- import { PVPCardItem } from './PVPCardItem';
- const { ccclass, property } = _decorator;
- @ccclass('PVPCardArray')
- export class PVPCardArray extends Component {
- @property({ type: Prefab, tooltip: "武将卡牌预制体" }) prefab: Prefab;
- @property({ type: Prefab, tooltip: "武将卡牌预制体(翻转)" }) prefab_filp: Prefab;
- @property({ type: Node, tooltip: "手牌" }) handNode: Node;
- @property({ type: Node, tooltip: "牌堆" }) deckNode: Node;
- @property({ tooltip: "是否镜像翻转" }) isFilp: boolean = false;
- public setData(data: Array<PVPCardData>): void {
- this.handNode.removeAllChildren();
- this.deckNode.removeAllChildren();
- let handLength = data.length >= 5 ? 5 : data.length;
- for (let i = 0; i < handLength; i++) {
- let node = instantiate(this.isFilp ? this.prefab_filp : this.prefab);
- let offsetX = i == 0 ? 0 : 30;
- node.setPosition(v3((((this.handNode.getComponent(UITransform).width - node.getComponent(UITransform).width) / (handLength - 1)) * i + offsetX) * (this.isFilp ? -1 : 1), 0, 0));
- node.setParent(this.handNode);
- node.setScale(i == 0 ? v3(1, 1, 1) : v3(0.85, 0.85, 1));
- node.getComponent(PVPCardItem).setData(data[i]);
- }
- for (let j = handLength; j < data.length; j++) {
- let node = instantiate(this.isFilp ? this.prefab_filp : this.prefab);
- node.setScale(v3(0.85, 0.85, 1));
- node.setPosition(v3((((this.deckNode.getComponent(UITransform).width - node.getComponent(UITransform).width * node.scale.x) / (data.length - handLength - 1)) * (j - handLength)) * (this.isFilp ? -1 : 1), 0, 0));
- node.setParent(this.deckNode);
- node.getComponent(PVPCardItem).setData(data[j]);
- }
- }
- }
|