1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- /**
- * 代码描述
- */
- import { Audio } from "../../common/src/Audio";
- import { GameDataCenter } from "../../common/src/GameDataCenter";
- import { UIManager } from "../../common/src/UIManager";
- import { Utils } from "../../common/src/Utils";
- const { ccclass, property } = cc._decorator;
- @ccclass
- export class RewardedPanel extends cc.Component {
- @property({ type: cc.Prefab, tooltip: '奖励预制体' })
- itemPrefab: cc.Prefab = null;
- @property({ type: cc.Node, tooltip: '物品节点' })
- item: cc.Node = null;
- @property({ type: [cc.SpriteFrame], tooltip: '奖励集合\n0.炸弹\n1.激光\n2.七色\n3.闪电\n4.金币' })
- itemSpriteFrame: cc.SpriteFrame[] = [];
- private type: number[] = [];
- private num: number[] = [];
- private ui: string[] = ['special1', 'special2', 'special3', 'special4', 'coin'];
- onEnable() {
- //初始化面板
- this.node.getChildByName('panel').getChildByName('closeButton').on('click', this.onClose, this);
- this.node.getChildByName('panel').getChildByName('doubleGet').on('click', this.onDoubleGet, this);
- for (let i = 0; i < GameDataCenter.rewarded.length; i++) {
- let array = GameDataCenter.rewarded[i].split(':');
- let type: number = +array[0];
- let num: number = +array[1];
- this.type.push(type);
- this.num.push(num);
- let node = cc.instantiate(this.itemPrefab);
- node.parent = this.item;
- node.getComponent(cc.Sprite).spriteFrame = this.itemSpriteFrame[type];
- node.children[0].getComponent(cc.Label).string = `:${num}`;
- node.scale = 0;
- cc.tween(node)
- .to(0.3, { scale: 1 })
- .start();
- cc.systemEvent.emit('updateUI', this.ui[type], num);
- }
- //背景动画
- cc.tween(this.node.getChildByName('panel').getChildByName('bg'))
- .by(0.05, { angle: 1 })
- .repeatForever()
- .start();
- //面板缩放
- Utils.openPanel(this.node.getChildByName('panel'));
- //按钮跳动
- Utils.btnTween(this.node.getChildByName('panel').getChildByName('doubleGet'));
- }
- /**关闭 */
- private onClose(): void {
- Audio.playSoundByPath('rewarded:res/snd/click');
- UIManager.close('rewarded:RewardedPanel', true);
- }
- /**双倍领取 */
- private onDoubleGet(): void {
- Audio.playSoundByPath('rewarded:res/snd/click');
- for (let i = 0; i < this.type.length; i++) {
- cc.systemEvent.emit('updateUI', this.ui[this.type[i]], this.num[i]);
- }
- this.onClose();
- }
- }
|