| | |
| | | //Debug.LogFormat(" |-- 不在视野内");
|
| | | var _mapConfig = Config.Instance.Get<MapConfig>(_npcLocation.mapId);
|
| | |
|
| | | var _lineID = 0;
|
| | | var _forceTransfer = false;
|
| | |
|
| | | // 判断仙盟boss逻辑
|
| | | var _fairyBossModel = ModelCenter.Instance.GetModel<FairyGrabBossModel>();
|
| | | if (_fairyBossModel != null)
|
| | | {
|
| | | // 是仙盟boss
|
| | | if (_fairyBossModel.bosses != null
|
| | | && _fairyBossModel.bosses.Contains(npcID))
|
| | | {
|
| | | // 取得分线
|
| | | if (GeneralConfig.Instance.fairyGrabBossMapLines != null
|
| | | && GeneralConfig.Instance.fairyGrabBossMapLines.TryGetValue(_npcLocation.mapId, out _lineID))
|
| | | {
|
| | | // 如果当前处于不同的分线, 则下面的处理中,地图ID相同也切线
|
| | | if (_lineID != PlayerDatas.Instance.baseData.FBID)
|
| | | {
|
| | | _forceTransfer = true;
|
| | | }
|
| | | }
|
| | | else
|
| | | {
|
| | | Debug.LogErrorFormat("对应的地图ID: {0} 在配置中没有对应的分线id", _npcLocation.mapId);
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | // 如果不是处于相同地图, 则切图
|
| | | if (_npcLocation.mapId != PlayerDatas.Instance.baseData.MapID)
|
| | | if (_npcLocation.mapId != PlayerDatas.Instance.baseData.MapID || _forceTransfer)
|
| | | {
|
| | | if (PlayerDatas.Instance.extersion.pkState == 1)
|
| | | {
|
| | |
| | | //Debug.LogFormat(" |-- 不在本地图");
|
| | | var mapId = _npcLocation.mapId;
|
| | | var position = new Vector3(_mapConfig.BornPoints[0].x, 0, _mapConfig.BornPoints[0].y);
|
| | | Send_WorldTransfer(mapId, position, MapTransferType.WorldTransport, 0, npcID);
|
| | | Send_WorldTransfer(mapId, position, MapTransferType.WorldTransport, (byte)_lineID, npcID);
|
| | |
|
| | | if (BossFakeLineUtility.Instance.IsShuntBoss(npcID))
|
| | | {
|