From 649209187f31a1a11ee9b0320de16c48176b84e0 Mon Sep 17 00:00:00 2001
From: client_Wu Xijin <364452445@qq.com>
Date: 星期三, 12 九月 2018 10:56:10 +0800
Subject: [PATCH] 3335 代码维护 ,整理mapModel代码

---
 System/WorldMap/MapModel.cs |  200 +++++++++++++++++++------------------------------
 1 files changed, 77 insertions(+), 123 deletions(-)

diff --git a/System/WorldMap/MapModel.cs b/System/WorldMap/MapModel.cs
index 4b5fd2d..87a3f65 100644
--- a/System/WorldMap/MapModel.cs
+++ b/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;
         }
 
     }

--
Gitblit v1.8.0