import { _decorator, Component, JsonAsset, Node } from 'cc'; import LevelData from '../Data/LevelData'; import { Global } from '../Common/Global'; const { ccclass, property } = _decorator; @ccclass('LevelManager') export default class LevelManager extends Component { @property(JsonAsset) levelDataJson: JsonAsset = null; public levelData: LevelData[] = []; private static _instance: LevelManager = null; static getInstance(): LevelManager { return LevelManager._instance; } onLoad() { if (LevelManager._instance) { this.node.destroy(); return; } LevelManager._instance = this; // 解析关卡数据 this.levelData = this.levelDataJson.json as LevelData[]; // Global.MaxLv = this.levelData.length; if (Global.MaxLv > this.levelData.length) { Global.MaxLv = this.levelData.length; } } getLevelData(levelId: number): LevelData { // 通过关卡ID获取关卡数据 return this.levelData.find((data) => data.id === levelId); } }