import { _decorator, Component, Node } from 'cc'; import { DataSystem } from '../../core/data/DataSystem'; import { RecruitData, RecruitResultData } from '../RecruitData'; const { ccclass, property } = _decorator; /** * @description 招募奖励数据处理 * @author 郑聂华 */ @ccclass('UpdateRecruit') export class UpdateRecruit extends Component { private recruitData: RecruitData; private get RecruitData(): RecruitData { if (!this.recruitData) this.recruitData = DataSystem.getData(RecruitData); return this.recruitData; } private set RecruitData(value: RecruitData) { this.recruitData = value; } /**添加奖品结果展示 * @param results 招募结果数据 hero Hero_Server */ public addRecruitResults(results: [{ chip: number, hero: any }]) { if (this.RecruitData.recruitResults == null) this.RecruitData.recruitResults = []; for (let i = 0; i < results.length; i++) { let drawdata = this.getRecruitResultById(results[i].hero.id, results[i].chip == 0 ? 1 : 2); if (drawdata != null) {//武将 results[i].chip == 0 && drawdata.heroNum++; results[i].chip > 0 && (drawdata.sliceNum += results[i].chip); } else {//碎片 drawdata = new RecruitResultData(); drawdata.id = results[i].hero.id; drawdata.type = results[i].chip == 0 ? 1 : 2; drawdata.heroNum = results[i].chip == 0 ? 1 : 0; drawdata.sliceNum = results[i].chip; this.RecruitData.recruitResults.push(drawdata); } } } /**获取招募奖品 * @param id 武将id * @param type 类型 1 武将 2 碎片 */ public getRecruitResultById(id: number, type: number) { if (this.RecruitData.recruitResults == null) return null; for (let i = 0; i < this.RecruitData.recruitResults.length; i++) { if (this.RecruitData.recruitResults[i].id == id && this.RecruitData.recruitResults[i].type == type) return this.RecruitData.recruitResults[i]; } return null; } }