| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- import { _decorator, Component, Label, Node, Button } from 'cc';
- import { Http } from '../../core/net/Http';
- import { CountDown } from '../../core/ui/CountDown';
- import { WindowManager } from '../../core/ui/window/WindowManager';
- import { WindowOpenMode } from '../../core/ui/window/WindowOpenMode';
- import { Utils } from '../../core/utils/Utils';
- import { g } from '../../Data/g';
- import { FsUtils } from '../../FsUtils/FsUtils';
- const { ccclass, property } = _decorator;
- /**切磋红包 */
- @ccclass('BattleRedPacketWindow')
- export class BattleRedPacketWindow extends Component {
- @property({ type: Label, tooltip: "红包等级文本" })
- lvLabel: Label;
- @property({ type: Label, tooltip: "倒计时文本" })
- timeLabel: Label;
- @property({ type: Button, tooltip: "领取红包节点" })
- getRedPacketNode: Button;
- @property({ type: CountDown, tooltip: "倒计时组件" })
- redCountDown: CountDown;
- @property({ type: Http, tooltip: "消息控制" })
- http: Http;
- private progress: number = 0;
- private data: any;
- start() {
- this.getRedPacketNode.enabled = false;
- }
- private onOpenHandler(data: any) {
- this.data = data.data;
- this.lvLabel.string = this.data.lv + '级切磋红包'
- if (this.data.time * 1000 > Date.now()) {
- this.redCountDown.value = this.data.time - Math.ceil(Date.now() / 1000);
- this.timeLabel.string = FsUtils.formatBattleTime(this.redCountDown.value) + '后可抢该红包';;
- this.redCountDown.play();
- } else {
- this.getRedPacketNode.enabled = true;
- }
- }
- /**倒计时回调 */
- public onInterval(progress) {
- this.timeLabel.string = FsUtils.formatBattleTime(progress) + '后可抢该红包';
- }
- /**倒计时结束回调 */
- public onComplete() {
- this.getRedPacketNode.enabled = true;
- }
- /**点击抢红包 */
- private async getRedPacket() {
- let data = await this.http.send("/api/redPacket/OpenRedPacket", { redPacketID: this.data.redPacketID });
- if (data.code == 0) {
- for (let i = 0; i < g.gameData.myRedPacketDatas.length; i++) {
- if (this.data.redPacketID == g.gameData.myRedPacketDatas[i].id) {
- g.gameData.myRedPacketDatas.splice(i, 1);
- break;
- }
- }
- if (data.data.openID == g.userData.id) {//打开红包
- WindowManager.open("Prefabs/Windows/切磋红包奖品", WindowOpenMode.CloseAndAdd, [data.data.prizes]);
- g.gameData.hasNewRedPacketUpdate = true;
- // let _window = this.getComponent(OpenWindow);
- // _window.prefabPath = "Prefabs/Windows/切磋红包奖品";
- // _window.open([data.data.prizes]);
- } else {//红包被抢
- WindowManager.showTips('红包被抢了');
- }
- } else {
- WindowManager.showTips(g.CodeMsg[data.code]);
- }
- }
- }
|