| | |
| | | {
|
| | | //Debug.LogFormat(" |-- 这是一只活动boss");
|
| | | // 取得分线
|
| | | if (GeneralConfig.Instance.fairyGrabBossMapLines != null
|
| | | && GeneralConfig.Instance.fairyGrabBossMapLines.TryGetValue(_npcLocation.mapId, out _lineID))
|
| | | if (GeneralConfig.Instance.fairyGrabBossMapLines != null)
|
| | | {
|
| | | _lineID = GeneralConfig.Instance.fairyGrabBossMapLines.ContainsKey(_npcLocation.mapId) ?
|
| | | GeneralConfig.Instance.fairyGrabBossMapLines[_npcLocation.mapId] : 0;
|
| | | // 如果当前处于不同的分线, 则下面的处理中,地图ID相同也切线
|
| | | if (_lineID != PlayerDatas.Instance.baseData.FBID)
|
| | | {
|
| | |
| | | }
|
| | | var mapId = PlayerDatas.Instance.baseData.MapID;
|
| | | var grabBossLine = GeneralConfig.Instance.fairyGrabBossMapLines.ContainsKey(mapId) ?
|
| | | GeneralConfig.Instance.fairyGrabBossMapLines[mapId] : 1;
|
| | | if (PlayerDatas.Instance.baseData.FBID != grabBossLine - 1)
|
| | | GeneralConfig.Instance.fairyGrabBossMapLines[mapId] : 0;
|
| | | if (PlayerDatas.Instance.baseData.FBID != grabBossLine)
|
| | | {
|
| | | CloseGrabBossHint();
|
| | | return;
|
| | |
| | | using TableConfig;
|
| | | using System;
|
| | | using System.Text.RegularExpressions;
|
| | | using System.Linq;
|
| | |
|
| | | public class GeneralConfig : Singleton<GeneralConfig>
|
| | | {
|
| | |
| | | dungeonRebornClientTimes = ConfigParse.GetDic<int, int>(GetInputString("DuplicatesRebornTime", 2));
|
| | |
|
| | | fairyGrabBossMapLines = ConfigParse.GetDic<int, int>(GetInputString("MapLine", 2));
|
| | | var grabBossMaps = fairyGrabBossMapLines.Keys.ToList();
|
| | | foreach (var _key in grabBossMaps)
|
| | | {
|
| | | fairyGrabBossMapLines[_key] = fairyGrabBossMapLines[_key] - 1;
|
| | | }
|
| | | }
|
| | | catch (Exception ex)
|
| | | {
|
| | |
| | | m_MapName.text = mapConfig.Name;
|
| | |
|
| | | m_MapLineSwitch.gameObject.SetActive(mapId == PlayerDatas.Instance.baseData.MapID);
|
| | | if (BossFakeLineUtility.Instance.showFakeLine)
|
| | | var grabBossLine = 0;
|
| | | fairyGrabBossModel.TryGetFairyGrabBossLine(out grabBossLine);
|
| | | if (grabBossLine != 0 && PlayerDatas.Instance.baseData.FBID == grabBossLine)
|
| | | {
|
| | | m_CurrentLine.text = Language.Get("line", 1);
|
| | | m_CurrentLine.text = Language.Get("FairyGrabBossLine");
|
| | | }
|
| | | else
|
| | | {
|
| | | var grabBossLine = 0;
|
| | | fairyGrabBossModel.TryGetFairyGrabBossLine(out grabBossLine);
|
| | | if (grabBossLine != 0 && PlayerDatas.Instance.baseData.FBID + 1 == grabBossLine)
|
| | | if (BossFakeLineUtility.Instance.showFakeLine)
|
| | | {
|
| | | m_CurrentLine.text = Language.Get("FairyGrabBossLine");
|
| | | m_CurrentLine.text = Language.Get("line", 1);
|
| | | }
|
| | | else
|
| | | {
|
| | |
| | | line = (MapLine)_data;
|
| | |
|
| | | var grabBossLine = 0;
|
| | | if (fairyGrabBossModel.TryGetFairyGrabBossLine(out grabBossLine) && line.lineIndex == grabBossLine)
|
| | | if (fairyGrabBossModel.TryGetFairyGrabBossLine(out grabBossLine) && line.lineIndex == grabBossLine + 1)
|
| | | {
|
| | | m_Title.text = Language.Get("FairyGrabBossLine");
|
| | | }
|
| | |
| | | {
|
| | | if (mapLines.ContainsKey(_mapId))
|
| | | {
|
| | | //List<MapLine> _mapLines = new List<MapLine>(mapLines[_mapId]);
|
| | | //CheckSpecialLines(_mapLines);
|
| | | return mapLines[_mapId];
|
| | | }
|
| | | else
|
| | | {
|
| | | return null;
|
| | | }
|
| | | }
|
| | |
|
| | | void CheckSpecialLines(List<MapLine> list)
|
| | | {
|
| | | var lineId = 0;
|
| | | if (fairyGrabBossModel.TryGetFairyGrabBossLine(out lineId) && !fairyGrabBossModel.InActivityTime)
|
| | | {
|
| | | var index = list.FindIndex((x) =>
|
| | | {
|
| | | return x.lineIndex == lineId;
|
| | | });
|
| | | if (index != -1)
|
| | | {
|
| | | list.RemoveAt(index);
|
| | | }
|
| | | }
|
| | | }
|
| | |
|