Example #1
0
        public UIMapItemModel(MapConfigData data, bool isUnlocked)
        {
            this.m_data       = data;
            this.m_isUnlocked = isUnlocked;

            SetDataChanged();
        }
Example #2
0
        /// <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;
                }
            };
        }
Example #4
0
        /// <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);
        }
Example #5
0
        /// <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);
        }