| Fight/MapTransferUtility.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Fight/Stage/Dungeon/MapTransfer.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/FairyAu/FairyGrabBossModel.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/FindPrecious/WorldBossModel.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Message/RichMoveEvent.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/WorldMap/LocalMapEventPointToggle.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/WorldMap/LocalMapFindPath.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/WorldMap/LocalMapTag.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/WorldMap/LocalMapWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/WorldMap/MapModel.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/WorldMap/WorldMapAreaBehaviour.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/WorldMap/WorldMapWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
Fight/MapTransferUtility.cs
@@ -80,7 +80,7 @@ if (mapID != PlayerDatas.Instance.baseData.MapID) { if (_model.IsMapUnLocked(mapID) == false) if (_model.IsMapUnlocked(mapID) == false) { SysNotifyMgr.Instance.ShowTip("Map_Delivery"); return; @@ -408,7 +408,7 @@ } // 判断地图是否解锁 if (_model.IsMapUnLocked(_npcLocation.mapId) == false) if (_model.IsMapUnlocked(_npcLocation.mapId) == false) { SysNotifyMgr.Instance.ShowTip("Map_Delivery"); return; @@ -642,7 +642,7 @@ return; } if (_model.IsMapUnLocked(npcLocation.mapId) == false) if (_model.IsMapUnlocked(npcLocation.mapId) == false) { SysNotifyMgr.Instance.ShowTip("Map_Delivery"); return; @@ -722,7 +722,7 @@ MapModel _model = ModelCenter.Instance.GetModel<MapModel>(); if (_model.IsMapUnLocked(mapID) == false) if (_model.IsMapUnlocked(mapID) == false) { SysNotifyMgr.Instance.ShowTip("Map_Delivery"); return; Fight/Stage/Dungeon/MapTransfer.cs
@@ -73,7 +73,7 @@ if (transportModel.TransportType == 1) { if (_model.IsMapUnLocked(transportModel.TargetMapID)) if (_model.IsMapUnlocked(transportModel.TargetMapID)) { C0807_tagCChangeMap _proto = new C0807_tagCChangeMap(); _proto.TransportID = TransportID; System/FairyAu/FairyGrabBossModel.cs
@@ -414,7 +414,7 @@ var config = Config.Instance.Get<BossInfoConfig>(bossId); if (config != null) { if (!mapModel.IsMapUnLocked(config.MapID)) if (!mapModel.IsMapUnlocked(config.MapID)) { _error = 6; return false; System/FindPrecious/WorldBossModel.cs
@@ -87,7 +87,7 @@ var bossId = sortedBossIds[i]; var config = Config.Instance.Get<WorldBossConfig>(bossId); var mapId = config.MapID; if (mapModel.IsMapUnLocked(mapId)) if (mapModel.IsMapUnlocked(mapId)) { activedBossIds.Add(bossId); } @@ -156,7 +156,7 @@ public bool isUnLocked { get { var config = Config.Instance.Get<WorldBossConfig>(id); var mapUnLocked = mapModel.IsMapUnLocked(config.MapID); var mapUnLocked = mapModel.IsMapUnlocked(config.MapID); return mapUnLocked; } } System/Message/RichMoveEvent.cs
@@ -145,7 +145,7 @@ return; } if (mapModel.IsMapUnLocked(_mapId) == false) if (mapModel.IsMapUnlocked(_mapId) == false) { SysNotifyMgr.Instance.ShowTip("Map_Delivery"); return; System/WorldMap/LocalMapEventPointToggle.cs
@@ -38,14 +38,14 @@ m_LayoutLeft.gameObject.SetActive(mapConfig.MapFBType == (int)MapType.OpenCountry); DrawEventInfo(); OnSelected(model.selectedLocalMapEventPoint); model.selectLocalMapEventPointEvent += OnSelected; OnSelected(model.selectedMapEventPoint); model.selectMapEventPointEvent += OnSelected; } public override void Dispose() { base.Dispose(); model.selectLocalMapEventPointEvent -= OnSelected; model.selectMapEventPointEvent -= OnSelected; } private void Awake() @@ -89,8 +89,8 @@ private void MoveToNpc() { var mapNPCConfig = Config.Instance.Get<MapEventPointConfig>(m_EventId); MapTransferUtility.Instance.MissionFlyTo(PlayerDatas.Instance.baseData.MapID, mapNPCConfig.NPCID); var config = Config.Instance.Get<MapEventPointConfig>(m_EventId); MapTransferUtility.Instance.MissionFlyTo(PlayerDatas.Instance.baseData.MapID, config.NPCID); WindowCenter.Instance.Close<WorldMapWin>(); WindowCenter.Instance.Close<LocalMapWin>(); @@ -99,7 +99,7 @@ private void SelectEventPoint() { model.selectedLocalMapEventPoint = m_EventId; model.selectedMapEventPoint = m_EventId; } private void OnSelected(int _event) System/WorldMap/LocalMapFindPath.cs
@@ -64,11 +64,11 @@ DrawFunctionNPCs(); DrawEventPoints(); m_HeroHead.transform.SetAsLastSibling(); FoucsEventPoint(model.selectedLocalMapEventPoint); FoucsEventPoint(model.selectedMapEventPoint); m_BoundDrag.onBeginDrag.RemoveAllListeners(); m_BoundDrag.onBeginDrag.AddListener(OnBeginDrag); model.selectLocalMapEventPointEvent += FoucsEventPoint; model.selectMapEventPointEvent += FoucsEventPoint; var hero = PlayerDatas.Instance.hero; if (hero != null) @@ -95,7 +95,7 @@ hero.OnPathFindStop -= OnHeroStopMove; } model.selectLocalMapEventPointEvent -= FoucsEventPoint; model.selectMapEventPointEvent -= FoucsEventPoint; m_BoundDrag.onBeginDrag.RemoveAllListeners(); for (int i = 0; i < tagBehaviours.Count; i++) @@ -138,7 +138,7 @@ if (RectTransformUtility.RectangleContainsScreenPoint((RectTransform)this.transform, Input.mousePosition, CameraManager.uiCamera) && !RectTransformUtility.RectangleContainsScreenPoint(m_EventPointInstroduce.containerDetails, Input.mousePosition, CameraManager.uiCamera)) { model.selectedLocalMapEventPoint = -1; model.selectedMapEventPoint = -1; } } @@ -384,7 +384,7 @@ private void FoucsEventPoint(int _eventPoint) { if (model.selectedLocalMapEventPoint != -1) if (model.selectedMapEventPoint != -1) { var config = Config.Instance.Get<MapEventPointConfig>(_eventPoint); var monsterRefreshConfig = Config.Instance.Get<MonsterRefreshPointConfig>(config.NPCID); @@ -403,7 +403,7 @@ } m_EventPointInstroduce.gameObject.SetActive(true); m_EventPointInstroduce.Display(model.selectedLocalMapEventPoint, m_SelecteEventPointSign); m_EventPointInstroduce.Display(model.selectedMapEventPoint, m_SelecteEventPointSign); } else { @@ -447,7 +447,7 @@ private void OnBeginDrag() { model.selectedLocalMapEventPoint = -1; model.selectedMapEventPoint = -1; } public struct LocalMap System/WorldMap/LocalMapTag.cs
@@ -150,7 +150,7 @@ WindowCenter.Instance.Close<LocalMapWin>(); WindowCenter.Instance.Open<MainInterfaceWin>(); MapTransferUtility.Instance.MoveToNPC(npcId); model.selectedLocalMapEventPoint = -1; model.selectedMapEventPoint = -1; } break; } System/WorldMap/LocalMapWin.cs
@@ -143,12 +143,12 @@ var recommendHangPoint = model.GetRecommendHangPoint(mapId); if (recommendHangPoint == 0) { model.selectedLocalMapEventPoint = -1; model.selectedMapEventPoint = -1; } else { model.selectedLocalMapEventPoint = recommendHangPoint; m_EventPointToggleGroup.MoveToCenter(visableEventPoints.IndexOf(model.selectedLocalMapEventPoint)); model.selectedMapEventPoint = recommendHangPoint; m_EventPointToggleGroup.MoveToCenter(visableEventPoints.IndexOf(model.selectedMapEventPoint)); } } @@ -176,16 +176,16 @@ private void GotoHangUp() { if (model.selectedLocalMapEventPoint != -1) if (model.selectedMapEventPoint != -1) { var config = Config.Instance.Get<MapEventPointConfig>(this.model.selectedLocalMapEventPoint); var config = Config.Instance.Get<MapEventPointConfig>(this.model.selectedMapEventPoint); WindowCenter.Instance.Close<WorldMapWin>(); WindowCenter.Instance.Close<LocalMapWin>(); WindowCenter.Instance.Open<MainInterfaceWin>(); MapTransferUtility.Instance.MoveToNPC(config.NPCID); } model.selectedLocalMapEventPoint = -1; model.selectedMapEventPoint = -1; } private void GotoWorldMap() @@ -210,7 +210,7 @@ private void UnSelectedEventPoint() { model.selectedLocalMapEventPoint = -1; model.selectedMapEventPoint = -1; } private void DisplayLines(List<MapLine> _mapLines) System/WorldMap/MapModel.cs
@@ -13,50 +13,49 @@ public class MapModel : Model, IBeforePlayerDataInitialize, IAfterPlayerDataInitialize, IPlayerLoginOk, IMapInitOk { int m_SelectedLocalMapEventPoint; public int selectedLocalMapEventPoint { get { return this.m_SelectedLocalMapEventPoint; } set { if (m_SelectedLocalMapEventPoint != value) { m_SelectedLocalMapEventPoint = value; if (selectLocalMapEventPointEvent != null) { selectLocalMapEventPointEvent(this.m_SelectedLocalMapEventPoint); } } } } Dictionary<int, WorldMapArea> worldMapAreas = new Dictionary<int, WorldMapArea>(); Dictionary<int, bool> worldMapUnLockStates = new Dictionary<int, bool>(); Dictionary<int, List<int>> localMapEventPoints = new Dictionary<int, List<int>>(); Dictionary<int, List<string>> mapFunctionNPCsToRefreshID = new Dictionary<int, List<string>>(); Dictionary<int, List<string>> mapCollectNPCsToRefreshID = new Dictionary<int, List<string>>(); Dictionary<int, List<MapLine>> mapLines = new Dictionary<int, List<MapLine>>(); Dictionary<int, List<MapLine>> allMapLines = new Dictionary<int, List<MapLine>>(); List<int> sortedMapEventPoints = new List<int>(); List<int> sortedHangUpPoints = new List<int>(); List<int> sortedMaps = new List<int>(); List<MapLine> sortedMapLines = new List<MapLine>(); int m_NewUnLockedMap = 0; public int newUnLockedMap { get { return m_NewUnLockedMap; } set { m_NewUnLockedMap = value; } PlayerTaskDatas taskModel { get { return ModelCenter.Instance.GetModel<PlayerTaskDatas>(); } } FairyGrabBossModel fairyGrabBossModel { get { return ModelCenter.Instance.GetModel<FairyGrabBossModel>(); } } int m_NewUnlockedMap = 0; public int newUnlockedMap { get { return m_NewUnlockedMap; } set { m_NewUnlockedMap = value; } } public int newUnLockMapsTip { public int newUnlockMapTip { get { return LocalSave.GetInt(StringUtility.Contact(PlayerDatas.Instance.baseData.PlayerID, "NewUnLockMapsTip")); } set { LocalSave.SetInt(StringUtility.Contact(PlayerDatas.Instance.baseData.PlayerID, "NewUnLockMapsTip"), value); } } int m_SelectedMapEventPoint; public int selectedMapEventPoint { get { return this.m_SelectedMapEventPoint; } set { if (m_SelectedMapEventPoint != value) { m_SelectedMapEventPoint = value; if (selectMapEventPointEvent != null) { selectMapEventPointEvent(this.m_SelectedMapEventPoint); } } } } public int wannaLookLocalMap { get; set; } int mapUnLockIndex = 0; PlayerTaskDatas taskModel { get { return ModelCenter.Instance.GetModel<PlayerTaskDatas>(); } } FairyGrabBossModel fairyGrabBossModel { get { return ModelCenter.Instance.GetModel<FairyGrabBossModel>(); } } public event Action<int> selectLocalMapEventPointEvent; public event Action<int> selectMapEventPointEvent; public event Action<int> mapLinesUpdateEvent; public override void Init() @@ -77,7 +76,7 @@ public void OnBeforePlayerDataInitialize() { mapUnLockIndex = 0; newUnLockedMap = 0; newUnlockedMap = 0; } public void OnAfterPlayerDataInitialize() @@ -86,15 +85,15 @@ public void OnPlayerLoginOk() { UpdateMapsUnLockedState(); newUnLockedMap = 0; UpdateMapsUnlockedState(); newUnlockedMap = 0; } public void OnMapInitOk() { if (newUnLockMapsTip == PlayerDatas.Instance.baseData.MapID) if (newUnlockMapTip == PlayerDatas.Instance.baseData.MapID) { newUnLockMapsTip = 0; newUnlockMapTip = 0; } } @@ -113,17 +112,14 @@ return; } if (worldMapUnLockStates.ContainsKey(_mapId)) if (!worldMapUnLockStates.ContainsKey(_mapId)) { if (!worldMapUnLockStates[_mapId]) { SysNotifyMgr.Instance.ShowTip("Map_Delivery"); return; } return; } else if (!worldMapUnLockStates[_mapId]) { //未知的地图 SysNotifyMgr.Instance.ShowTip("Map_Delivery"); return; } @@ -132,26 +128,13 @@ MapTransferUtility.Send_WorldTransfer(_mapId, position, MapTransferType.WorldTransport, (byte)_lineId, 0); } public void RequestFlyToEventPoint(int _eventPoint) { GA_Hero _hero = PlayerDatas.Instance.hero; if (_hero != null) { _hero.Behaviour.StopHandupAI(); _hero.Behaviour.StopKillUntilDieAI(); } var mapNPCConfig = Config.Instance.Get<MapEventPointConfig>(_eventPoint); MapTransferUtility.Instance.MissionFlyTo(wannaLookLocalMap, mapNPCConfig.NPCID); } public void RequestSelectedLine(int _lineId) { GA_Hero _hero = PlayerDatas.Instance.hero; if (_hero != null) var hero = PlayerDatas.Instance.hero; if (hero != null) { _hero.Behaviour.StopHandupAI(); _hero.Behaviour.StopKillUntilDieAI(); hero.Behaviour.StopHandupAI(); hero.Behaviour.StopKillUntilDieAI(); } if (PlayerDatas.Instance.baseData.FBID != _lineId) @@ -186,13 +169,13 @@ public List<MapLine> GetMapLines(int _mapId) { sortedMapLines.Clear(); if (mapLines.ContainsKey(_mapId)) var mapLines = new List<MapLine>(); if (allMapLines.ContainsKey(_mapId)) { sortedMapLines.AddRange(mapLines[_mapId]); CheckActivityLine(_mapId); sortedMapLines.Sort(SortMaplines); return sortedMapLines; mapLines.AddRange(allMapLines[_mapId]); CheckActivityLine(_mapId, mapLines); mapLines.Sort(SortMaplines); return mapLines; } else { @@ -200,27 +183,28 @@ } } void CheckActivityLine(int _mapId) void CheckActivityLine(int _mapId, List<MapLine> mapLines) { var activityLine = 0; fairyGrabBossModel.TryGetFairyGrabBossLine(out activityLine); if (activityLine != 0) { var index = sortedMapLines.FindIndex((x) => var index = mapLines.FindIndex((x) => { return activityLine + 1 == x.lineIndex; }); if (fairyGrabBossModel.InActivityTime || PlayerDatas.Instance.baseData.FBID == activityLine) { if (index == -1) { sortedMapLines.Add(new MapLine(_mapId, activityLine + 1, 0, 0)); mapLines.Add(new MapLine(_mapId, activityLine + 1, 0, 0)); } } else if (index != -1) { sortedMapLines.RemoveAt(index); mapLines.RemoveAt(index); } } } @@ -231,10 +215,12 @@ { var mapState = _serverInfo.MapStateList[i]; var mapId = (int)mapState.MapID; var lines = mapLines[mapId] = new List<MapLine>(); var lines = allMapLines[mapId] = new List<MapLine>(); for (int j = 0; j < mapState.LineCnt; j++) { lines.Add(new MapLine(mapId, j + 1, (int)mapState.LineCurPlayerCntList[j], (int)mapState.LineMaxPlayerCntList[j])); var playerCount = (int)mapState.LineCurPlayerCntList[j]; var playerMaxCount = (int)mapState.LineMaxPlayerCntList[j]; lines.Add(new MapLine(mapId, j + 1, playerCount, playerMaxCount)); } if (mapLinesUpdateEvent != null) @@ -247,7 +233,7 @@ public void UpdateDungeonMapLines(HA007_tagGCFBLinePlayerCnt _serverInfo) { var mapId = (int)_serverInfo.MapID; var lines = mapLines[mapId] = new List<MapLine>(); var lines = allMapLines[mapId] = new List<MapLine>(); for (int i = 0; i < _serverInfo.Count; i++) { @@ -301,35 +287,6 @@ } return null; } public int GetNextMap(int _mapId) { for (int i = sortedMaps.Count - 1; i >= 0; i--) { int mapId = sortedMaps[i]; if (_mapId == mapId) { var nextMap = sortedMaps[Mathf.Clamp(i - 1, 0, sortedMaps.Count - 1)]; return nextMap; } } return -1; } public int GetLatestUnLockHangUpMap() { for (int i = 0; i < sortedMaps.Count; i++) { int mapId = sortedMaps[i]; if (GeneralConfig.Instance.autoOnHookMap.Contains(mapId) && IsMapUnLocked(mapId)) { return mapId; } } return GeneralConfig.Instance.autoOnHookMap[GeneralConfig.Instance.autoOnHookMap.Count - 1]; } public int GetRecommendHangPoint(int _mapId) @@ -414,7 +371,7 @@ for (int i = 0; i < sortedHangUpPoints.Count; i++) { var config = Config.Instance.Get<MapEventPointConfig>(sortedHangUpPoints[i]); if (IsMapUnLocked(config.MapID)) if (IsMapUnlocked(config.MapID)) { unLockedHangeUpPoints.Add(sortedHangUpPoints[i]); } @@ -476,11 +433,7 @@ return recommendPoint; } public void ConfirmNewMap(int _mapId) { } public bool IsMapUnLocked(int _mapId) public bool IsMapUnlocked(int _mapId) { if (worldMapUnLockStates.ContainsKey(_mapId)) { @@ -492,27 +445,29 @@ } } private void UpdateMapsUnLockedState() private void UpdateMapsUnlockedState() { foreach (var mapId in worldMapAreas.Keys) { var unLocked = CheckMapUnLocked(mapId); if (worldMapUnLockStates.ContainsKey(mapId) && !worldMapUnLockStates[mapId] && unLocked && mapId != 10010) var canUnlock = CanMapUnlock(mapId); if (worldMapUnLockStates.ContainsKey(mapId) && !worldMapUnLockStates[mapId] && canUnlock && mapId != 10010) { newUnLockedMap = mapId; newUnLockMapsTip = mapId; newUnlockedMap = mapId; newUnlockMapTip = mapId; } worldMapUnLockStates[mapId] = unLocked; worldMapUnLockStates[mapId] = canUnlock; } } private bool CheckMapUnLocked(int _mapId) private bool CanMapUnlock(int _mapId) { var config = Config.Instance.Get<MapConfig>(_mapId); var playerLevel = PlayerDatas.Instance.baseData.LV; var level = PlayerDatas.Instance.baseData.LV; if (playerLevel >= config.LV) if (level >= config.LV) { if (config.MainTaskID > 0) { @@ -534,7 +489,7 @@ switch (refreshType) { case PlayerDataRefresh.LV: UpdateMapsUnLockedState(); UpdateMapsUnlockedState(); break; } } @@ -552,7 +507,7 @@ mapUnLockIndex = 0; } UpdateMapsUnLockedState(); UpdateMapsUnlockedState(); } } @@ -563,7 +518,7 @@ { if (mapConfig.MapFBType == 0) { worldMapAreas.Add(mapConfig.MapID, new WorldMapArea(mapConfig.MapID, true, WorldMapCamp.Neutral)); worldMapAreas.Add(mapConfig.MapID, new WorldMapArea(mapConfig.MapID, true)); sortedMaps.Add(mapConfig.MapID); } } @@ -661,11 +616,12 @@ { var activityline = 0; fairyGrabBossModel.TryGetFairyGrabBossLine(out activityline); bool _isActivityLinex = activityline != 0 && x.lineIndex == activityline + 1; bool _isActivityLiney = activityline != 0 && y.lineIndex == activityline + 1; if (_isActivityLinex != _isActivityLiney) var isActivityLinex = activityline != 0 && x.lineIndex == activityline + 1; var isActivityLiney = activityline != 0 && y.lineIndex == activityline + 1; if (isActivityLinex != isActivityLiney) { return -_isActivityLinex.CompareTo(_isActivityLiney); return -isActivityLinex.CompareTo(isActivityLiney); } return x.lineIndex.CompareTo(y.lineIndex); } @@ -675,13 +631,11 @@ { public int id; public bool unLocked; public WorldMapCamp camp; public WorldMapArea(int _id, bool _unLocked, WorldMapCamp _camp) public WorldMapArea(int _id, bool _unLocked) { this.id = _id; this.unLocked = _unLocked; this.camp = _camp; } } System/WorldMap/WorldMapAreaBehaviour.cs
@@ -61,11 +61,11 @@ m_MapArea = _area; m_ScaleTween.SetStartState(); DrawArea(); m_PressTip.enabled = !model.IsMapUnLocked(m_MapArea.id); m_PressTip.enabled = !model.IsMapUnlocked(m_MapArea.id); if (m_NewUnLockTip != null) { m_NewUnLockTip.gameObject.SetActive(m_MapArea.id != model.newUnLockedMap && model.newUnLockMapsTip == m_MapArea.id); m_NewUnLockTip.gameObject.SetActive(m_MapArea.id != model.newUnlockedMap && model.newUnlockMapTip == m_MapArea.id); } CheckAchievementGuide(); @@ -85,7 +85,7 @@ { try { var unLocked = model.IsMapUnLocked(m_MapArea.id); var unLocked = model.IsMapUnlocked(m_MapArea.id); var mapConfig = Config.Instance.Get<MapConfig>(m_MapArea.id); m_AreaName.text = mapConfig.Name; m_AreaLevel.text = mapConfig.LV.ToString(); @@ -108,7 +108,7 @@ m_ScaleTween.Play(false); downTime = Time.time; var mapId = m_MapArea.id; if (!model.IsMapUnLocked(mapId)) if (!model.IsMapUnlocked(mapId)) { m_UnLockTip.Display(mapId); } @@ -121,7 +121,7 @@ private void OnPointerClick() { var isUnLocked = model.IsMapUnLocked(m_MapArea.id); var isUnLocked = model.IsMapUnlocked(m_MapArea.id); if (isUnLocked || Time.time - downTime < 0.3f) { if (isUnLocked) @@ -139,7 +139,6 @@ MapTransferUtility.Instance.Clear(); model.RequestMapTransport(m_MapArea.id); model.ConfirmNewMap(m_MapArea.id); } } } System/WorldMap/WorldMapWin.cs
@@ -115,11 +115,11 @@ } } if (model.newUnLockedMap != 0) if (model.newUnlockedMap != 0) { StopCoroutine("Co_MapUnLockShow"); StartCoroutine("Co_MapUnLockShow", model.newUnLockedMap); model.newUnLockedMap = 0; StartCoroutine("Co_MapUnLockShow", model.newUnlockedMap); model.newUnlockedMap = 0; } else {