| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- import { _decorator, Component, Node, Label, bezier, instantiate, Prefab, ProgressBar, EventHandler, SystemEvent } from 'cc';
- import { DataSystem } from '../../core/data/DataSystem';
- import { Sound } from '../../core/sound/Sound';
- import { ConfigData } from '../../data/ConfigData';
- import { UserData } from '../../data/UserData';
- import { NoviceGuideData } from '../../guide/NoviceGuideData';
- import { GM } from '../../launch/GM';
- import { MissionData } from '../MissionData';
- import { ResultItem } from './ResultItem';
- const { ccclass, property } = _decorator;
- @ccclass('BattleResult')
- export class BattleResult extends Component {
- @property({ type: Label, tooltip: "倒计时lable" }) countLabel: Label;
- @property({ type: Node, tooltip: "列表节点" }) list: Node;
- @property({ type: Prefab, tooltip: "item预制体" }) prefab: Prefab;
- @property({ type: ProgressBar, tooltip: "兵营进度" }) progress: ProgressBar;
- @property({ type: Node, tooltip: "完成组" }) completeNode: Node;
- @property({ type: Node, tooltip: "可点击背景" }) mask: Node;
- private count: number = 10;
- start() {
- this.mask.on(SystemEvent.EventType.TOUCH_END, () => {
- this.close();
- }, this)
- }
- update(dt: number) {
- this.count -= dt;
- this.countLabel.string = Math.floor(this.count) + " 秒后自动关闭";
- if (this.count <= 0) {
- DataSystem.getData(NoviceGuideData).skipBarracks = true;
- this.close();
- }
- DataSystem.watch(NoviceGuideData, 'openBarracks') && this.close();
- }
- public close(): void {
- this.node.active = false;
- DataSystem.getData(MissionData)._isResultWindowClose = true;
- }
- public setData(data: any): void {
- this.node.getComponent(Sound).play();
- // GM.addBattleLog("结算窗口打开");
- this.count = 10;
- if (this.progress && data) {
- DataSystem.getData(NoviceGuideData).openBattleResult = true;
- data && this.setListData(data);
- let progress = DataSystem.getData(UserData).prestige / DataSystem.getData(ConfigData)["barrack"][DataSystem.getData(UserData).campLv].cost;
- this.progress.progress = progress;
- this.completeNode.active = progress >= 1;
- }
- }
- //{"code":0,"data":{"isWin":true,"money":10000,"diamond":500,"bonus":0,"prestige":100,"chipData":{"111001":5}}}
- private setListData(data: any): void {
- this.list && this.list.removeAllChildren();
- for (let k in data) {
- if (k != "chips" && k != "heros" && k != "level" && k != "autoMoney") {
- if (typeof (data[k]) == 'number' && data[k] != 0) {
- let node = instantiate(this.prefab);
- switch (k) {
- case "money":
- node.getComponent(ResultItem).setData("image/icons/icon4/spriteFrame", data[k] + "", false, 2, "粮草");
- break;
- case "diamond":
- node.getComponent(ResultItem).setData("image/icons/icon7/spriteFrame", data[k] + "", false, 2, "元宝");
- break;
- case "bonus":
- node.getComponent(ResultItem).setData("image/icons/icon2/spriteFrame", data[k] + "", false, 2, "红包币");
- break;
- case "prestige":
- node.getComponent(ResultItem).setData("image/icons/icon8/spriteFrame", data[k] + "", false, 2, "威望石");
- break;
- }
- node.setParent(this.list);
- }
- }
- }
- for (let i = 0; i < data["heros"].length; i++) {
- let node = instantiate(this.prefab);
- node.getComponent(ResultItem).setData("images/general/texture/head_img/" + DataSystem.getData(ConfigData)["general"][data["heros"][i]]["hero_res"] + "/spriteFrame", "1", false, DataSystem.getData(ConfigData)["general"][data["heros"][i]]["color"], DataSystem.getData(ConfigData)["general"][data["heros"][i]]["name"]);
- node.setParent(this.list);
- }
- for (let key in data["chips"]) {
- let node = instantiate(this.prefab);
- node.getComponent(ResultItem).setData("images/general/texture/head_img/" + DataSystem.getData(ConfigData)["general"][key]["hero_res"] + "/spriteFrame", data["chips"][key] + "", true, DataSystem.getData(ConfigData)["general"][key]["color"], DataSystem.getData(ConfigData)["general"][key]["name"] + "碎片");
- node.setParent(this.list);
- }
- }
- }
|