public UIMapItemModel(MapConfigData data, bool isUnlocked) { this.m_data = data; this.m_isUnlocked = isUnlocked; SetDataChanged(); }
/// <summary> /// 通过编号获取地图配置文件 /// </summary> /// <param name="no"></param> /// <returns></returns> public MapData GetChapterModeMapData(int chapterNo, string no) { if (string.IsNullOrEmpty(no)) { return(null); } MapConfigData configData = null; foreach (ChapterMapConfigsData data in m_mapSetting.chapterModeConfigs) { if (data.chapterNo == chapterNo) { foreach (MapConfigData config in data.chapterConfigs) { if (no.Equals(config.no)) { configData = config; break; } } break; } } if (configData == null) { this.LogError("没有找到 ChapterNo = {0} No = {1} 的配置文件", chapterNo, no); return(null); } return(LoadModeMapData(configData)); }
protected override void OnOpen(object arg = null) { base.OnOpen(arg); m_data = arg as MapConfigData; Debug.Log(m_data); ChapterNoText.text = m_data.no; ChpaterNameText.text = m_data.name; GameModeText.text = ConfigConstants.GetDescription(m_data.gameMode); MapModeText.text = ConfigConstants.GetDescription(m_data.mapMode); this.OnCloseEvent += closeArg => { if (closeArg == null) { return; } int btnIndex = (int)closeArg; switch (btnIndex) { case ENTER_GAME_BTN: PveModule pveModule = ModuleAPI.PveModule; MapData mapData = MapModule.Instance.LoadModeMapData(m_data); pveModule.StartGame(m_data.gameMode, mapData); break; } }; }
/// <summary> /// 获取无尽模式的地图 /// </summary> /// <param name="no"></param> /// <returns></returns> public EndlessModeMapData GetEndlessModeMapData(string no) { if (string.IsNullOrEmpty(no)) { return(null); } MapConfigData configData = m_mapSetting.endlessModeConfigs.Find((MapConfigData data) => data.no.Equals(no)); if (configData == null) { this.LogError("没有找到 No = {1} 的配置文件", no); return(null); } return(LoadModeMapData(configData) as EndlessModeMapData); }
/// <summary> /// 通过MapConfigData加载MapData /// </summary> /// <param name="configData"></param> /// <returns></returns> public MapData LoadModeMapData(MapConfigData configData) { MapData data = null; string path = /*ConfigConstants.BaseFilePath + */ configData.configPath; switch (configData.mapMode) { case MapMode.NormalMode: data = JsonUtils.LoadJsonFromTextAsset <NormalModeMapData>(path); break; case MapMode.EndlessMode: data = JsonUtils.LoadJsonFromTextAsset <EndlessModeMapData>(path); break; } if (data == null) { this.LogError("加载配置文件失败, Path = {0}", path); } return(data); }